Forum: Mikrocontroller und Digitale Elektronik Klatschschalter Beschaltung


von Michael N. (garril)


Lesenswert?

Hallo,

zum Hintergrund:
möchte meine schon bestehende Schaltung erweitern:
Aktuell schaltet ein Atmega8 hintereinander 3 Pins am ADC durch und 
fragt die Werte ab. Je nach Werten wird an 3 anderen Pins die Helligkeit 
von LEDs gesteuert (Software PWM).
Nun hab ich noch einen Schalter für den "automatischen Modus" verbaut 
(solange der Schalter auf AN steht, regelt der Mikrocontroller die PWM 
ohne die Werte vom ADC, also passiert die Änderung der Helligkeit 
automatisch).

Diesen Schalter würde ich mir nun gerne sparen.
Und da kam ich ursprünglich auf die Idee einer Sprachsteuerung.
Da ich aber blutiger Anfänger in der Elektrotechnik bin und das ganze 
auch kein ganzes Jahr dauern sollte hab ich mir folgendes überlegt:
Durch mehrmaliges Klatschen soll der Automatik-Modus an/aus gehen.

Nun hab ich wie schon gesagt nicht die größte Ahnung von Elektronik...
Hab hier noch ein Kondensator-Mikrofon von reichelt 
(http://www.reichelt.de/Mikrofone/MCE-101/index.html?;ACTION=3;LA=2;ARTICLE=35461;GROUPID=3604;SID=10Tfyqxn8AAAIAAF0TjqA3a8b37986a0e40f6f74fedd5c06718f2)
Kann ich das für diesen Zweck verwenden?
Ich denke die Software für den Atmega bekomme ich hin.
Wie beschalte ich das Mikro dann? Hätte es halt dann halt auch per ADC 
"ausgelesen"?!
Ist auch nicht so schlimm, wenn die Steuerung auch auf "normale" 
Geräusche reagiert. Möchte es ja sowieso so haben, dass man 2 oder 3 mal 
Klatschen muss. Dann passiert ein falsches auslösen nicht so oft (oder 
könnte ich irgendwie einfach rausfinden ob es sich wirklich 
höchstwahrscheinlich um Klatschen handelt?)

Habe mir auch schon ein paar Infos zu dem Thema angelesen, aber eben 
noch nichts passendes gefunden womit ich zurechtkommen würde.


Schonmal vielen vielen Dank für eure Hilfe

ps: Ich würde das ganze eben möglichst in meine Schaltung integrieren. 
Bin deshalb eher gegen eine fertige Lösung. Das Gefühl von "komplett 
selbstgebaut" ist einfach viel schöner als was fertiges zu verbauen.

von Klatsch (Gast)


Lesenswert?


von Michael N. (garril)


Lesenswert?

...für Experten

Braucht es so eine komplexe Schaltung um mein Vorhaben umzusetzen?
Und was kommt dann am Mikroncontroller an wenn ich das so schalte (kann 
mit dem Schaltplan noch nicht so richtig viel anfangen)

von Klatsch (Gast)


Lesenswert?

Da steht doch alles erklärt.
Wenn Du damit nicht "viel anfangen" kannst, dann such Dir ein einfaches 
Anfängerprojekt.
Hier alles drin, Digital- und Analogtechnik, Mikrocontroller und 
Software.....

Das ist nicht so trivial wie in die Hände klatschen......

von Michael N. (garril)


Lesenswert?

Dass es nicht so einfach wie in die Hände klatschen wird ist mir 
bewusst.

Trotzdem möchte ich genau diese Anwendung realisieren.

Die Erfahrungen mit anderen Dingen zeigen, dass ich am meisten/besten 
bei schwierigen Dingen lerne.
Gerne knoble ich auch mal stundenlang dran. Und das ist eben jetzt der 
Fall.
Bis jetzt hab ich die Schaltung leider noch nicht verstanden (muss mir 
eben auch alles anlesen, da ich selbst Grundkenntnisse halt immer durch 
verschiedene Projekte erlernt habe und da sicherlich einiges gefehlt 
hat, was man als Elektroniker normal weiß)

Morgen hab ich dann mehr Zeit und guck mir alles nochmal genauer an. 
Kann ja garnet so schwer sein...
edit: So langsam dämmert es mir.
Ich melde mich morgen nochmal. Es tauchen bestimmt noch ein paar 
einzelne Fragen auf

von Michael N. (garril)


Angehängte Dateien:

Lesenswert?

So hab mir das jetzt noch ein bisschen angeschaut und mich entsprechend 
informiert.

Jetzt bin ich auf die beiliegende Schaltung gekommen (hoffe die passt 
soweit).
Wo häng ich jetzt mein Kondensator-Mikrofon in die Schaltung?
Oder muss ich da ein anderes nehmen?
Und was kommt dann am Atmega-Pin an?


ps: sry für das große Foto(gerade erst gesehen). Das Original-JPG hatte 
nur nen Zehntel der Dateigröße. Aber für Zeichnung soll es ja PNG 
sein...

von Löter (Gast)


Lesenswert?

WIKI, Kondensator Mikrofon...

Den Rest findest Du ja durch knobeln raus ;-)


Oder hier mit opamp:

http://www.produktinfo.conrad.com/datenblaetter/175000-199999/193135-as-01-de-Klatschschalter_mit_Kondensator_Mikrofon.pdf

von MaWin (Gast)


Lesenswert?

> Braucht es so eine komplexe Schaltung um mein Vorhaben umzusetzen?

Theoretisch nicht.

Theoretisch reicht es, das Mikro (welches einen Widerstand nach VCC hat 
so daß der Ruhepegel unter der Ausschaltschwelle des Digitaleingacngs 
liegt) an einen Einganng mit Schmitt-Trigger anzuschliessen, und auf die 
nächste steigende Flanke (Interrupt) zu warten.

Dann müsste das Programm kontrollieren, ob in der nächsten Zeit 
(vermutlich 50msec) weitere Impuls kommen, ob danach (so ab 200msec bis 
600msec) keine Impulse mehr kommen, und ob die nächste Aktion in ca. 1 
Sekunde stattfindet und noch eine folgt.

Er erkennt also laut leise laut leise laut leise.

Ob das, was 'laut' ist von deinen Händen kommt, ob es so empfindlich ist 
daß es schon ein Windhauch tut, oder ob du mit dem Hammer auf's Mikro 
hauen musst, können wir dir natürlich nicht sagen, das hängt von den 
Bauteilen ab.

Ab das, was als klatschen verstanden wird, nicht ständig durch 
irgendwelche Nebengeräusche ausgelöst wird, können wir dir auch nicht 
sagen.

Aber probieren kannst du das ja.

von Michael N. (garril)


Lesenswert?

Ok, habe mir jetzt den Wiki-Artikel + passende Unterseiten durchgelesen.
Dort wird beschrieben, dass zweipolige Elektret-Kondensatormikrofone 
normal in einer Source-Schaltung betrieben werden.
Kommt die dann hier nicht irgendwie auch zum Einsatz??

Damit ich knobeln kann, brauch ich erstmal eine Grundidee bzw. einen 
Grundschaltplan.
Und wenn ich das richtig beurteilen kann komm ich mit meiner jetzigen 
Schaltung nicht sehr weit...

@MaWin:
So in etwa hatte ich mir das eben auch vorgestellt. Per ADC könnte ich 
das normalerweiße ja direkt (oder zumindest fast ohne Schaltung 
außenrum) realisieren?!
Die Dauer zwischen dem Klatschen usw. würde ich sowieso gerne direkt in 
die Software integrieren.
Deshalb frage ich mich, ob der ursprünglich verlinkte Post der richtige 
für mich ist?!

Wenn wirklich die Source-Schaltung am Atmega reicht dann könnte ich mich 
ja nach folgendem Bild richten:
http://upload.wikimedia.org/wikipedia/commons/4/49/Electret_condenser_microphone_schematic..svg

Output käme an den Atmega und der Rest halt an + bzw. -
Laut Datenblatt kann ich mit den 5V meiner normalen Schaltung direkt 
drauf.
Wie muss ich nun den Widerstand und den Kondensator dimensionieren?

Wann die Schaltung anspringt kann ich ja dann auch noch in der Software 
ändern. Da muss ich halt ein bisschen probieren (werde dann eh erstmal 
eine eigene Schaltung dafür bauen und mir dann halt mit einer LED oder 
ähnlichem anzeigen lassen, wann ein Geräusch erkannt wurde)

von Michael N. (garril)


Lesenswert?

Habe hier eine Seite gefunden, auf der eine ganz einfache 
Klatschschaltung gezeigt wird.

Würde das für meine Zwecke reichen (Auswertung der "Klatscher" geschieht 
dann per Software):
http://www.elexs.de/kap7_5.htm
5V statt 9V sollten auch gehen, oder?

von Karl H. (kbuchegg)


Lesenswert?

Wenn ich so ein Projekt angehen würde, würde ich mir keine 
NF_Vorverstärker ansehen, sondern Lichtorgeln (die natürlich auch einen 
entsprechenden Verstärker beinhalten). Der springende Punkt: Wenn der 
Ausgang bei einer bestimmten Lautstärke eine LED einschalten kann, dann 
kann er auch einen µC Pin von Low auf High schalten.

von Liter (Gast)


Lesenswert?

Ja, genau Lichtorgel.

Und statt der LED nimmst Du gleich ein einfaches kleines und 
empfindliches Relais ;-).
Und statt ner ausreichend empfindlichen NF Aufbereitung ein Kohlemikro 
aus einem alten Telefon oder ein alter Lautsprecher!

Und jetz nimm endlich mal nen Lötkolben in die Hand und lege los; genug 
gelabert ;-)...

von soundso (Gast)


Lesenswert?

[Zitat]
Würde das für meine Zwecke reichen (Auswertung der "Klatscher" geschieht
dann per Software):
http://www.elexs.de/kap7_5.htm
5V statt 9V sollten auch gehen, oder?
[/Zitat]

nimm die Schaltung, betreibe sie mit 5 Volt und hänge den Ausgang an 
deinen ADC Eingang.

die Digitalesignalverarbeitung musste dann noch machen, aber ich denke 
mit einem einfachen fir filter oder einm moving average filter krigst du 
das hin ...

von Michael N. (garril)


Lesenswert?

@Karl Heinz Buchegger:
An eine Lichtorgel hatte ich auch schon gedacht.
Habe auch mal selbst eine gebaut (dachte schon ich könnte das soweit 
eigentlich übernehmen)
ABER: Das war eine der wenigen Schaltungen, die bis heute nicht laufen 
:D
Vielleicht sollte ich mir die nochmal anschauen und finde den Fehler und 
könnte dann ne entsprechende Schaltung herleiten

Habe bei Conrad einen Schaltplan gefunden:
http://www.produktinfo.conrad.com/datenblaetter/100000-124999/116246-as-01-de-3_Kanal_Lichtorgel.pdf
Das dürfte doch ganz passend sein?
Wobei das ja noch noch Tiefen, Mitten und Höhen aufgeteilt ist...

@Liter:
Leider muss ich das meiste erst immer bestellen. Einfach draufloslöten 
ist also nicht.
Muss vorher ziemlich genau wissen was ich brauche und dann erstmal ne 
Woche warten bis alles da ist.

@soundso:
ok, dann wäre das also schonmal eine Möglichkeit.

von Karl H. (kbuchegg)


Lesenswert?


von Michael N. (garril)


Lesenswert?

So wirds gebaut und fertig!
Ich bau mir erstmal eine Orgel zum testen und dann guck ich mal wie ich 
das an meinen Controller bringe.

Eine voraussichtlich letzte Frage aber noch:
Funktioniert die Schaltung auch mit 5V statt 9V?
Oder muss ich da manche Widerstände anders wählen?

von Löter (Gast)


Lesenswert?

Löten mußt Du jetzt aber selber.
Das habe ich vor 4 Jahren mal für meine Tochter gebaut, funktioniert 
prima.




'*******************************************************************
'  Komparator mit externer Spannungsreferenz
'  Poti1 an PD7/AIN1/PIN13
'  Micro an PD6/AIN0/PIN12
'  LED an PD5
'
'  Komparator Ausgang (ACO im Register ACSR) geht auf High,
'  wenn Spannung an PD6/AIN0/PIN12 (Micro) größer
'  als an PD7/AIN1/PIN13 (Poti)
'  Klatschschalter 01.11.2007
'
'
'
'
'
'
'
' **********************************************************************

$regfile = "m8def.dat"
'Ddrd = &B00100000
$crystal = 4000000
$baud = 2400
Dim Tmp As Word
Dim Firstclap As Word
Dim Lastclap As Word
Dim Newflag As Bit
Dim Clapcount As Byte
Clapcount = 0

Newflag = 0
Acsr = &B00000000

Print "Hier bin ich"


Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100
Sound Portc.0 , 300 , 150
Waitms 100


Config Pinc.5 = Output
Config Pinc.4 = Output
Config Pinc.1 = Output
Config Pinc.2 = Output

Portc.1 = 1
Portc.2 = 1
Portc.4 = 1
Portc.5 = 1

Config Timer1 = Timer , Prescale = 1024
'prescaler 1024 bei 4MHZ ergibt 0,256 ms/count
Config Aci = On
On Aci Aciinterrupt
Baud = 2400
Enable Aci
Enable Timer1
Enable Interrupts
Start Timer1
Print "Hier bin ich"

Do

'If Newflag = 1 Then
'Print Firstclap
'Newflag = 0
'Clapcount = 0
'End If

If Newflag = 1 Then

   If Firstclap > 1562 And Firstclap < 2344 Then            '400 ms bis 
600 ms
      Print Firstclap
      Print "Licht Toggle"
      Toggle Portc.5
      Toggle Portc.4
      Portc.1 = 0
      Portc.2 = 0
   End If

If Firstclap > 2344 Then
   Portc.1 = 0
   Portc.2 = 1
   Sound Portc.0 , 300 , 150
   Waitms 500
   Sound Portc.0 , 300 , 150
End If

If Firstclap < 1562 Then
   Portc.1 = 1
   Portc.2 = 0
   Sound Portc.0 , 300 , 150
   Waitms 500
   Sound Portc.0 , 300 , 150
End If



Clapcount = 0
Newflag = 0
Print Firstclap
End If



If Counter1 > 3906 Then
   Clapcount = 0
   Newflag = 0
   Counter1 = 0
   Print "counter > 3 Sekunden"
End If
Loop

Aciinterrupt:
Disable Aci



If Clapcount = 1 Then
Firstclap = Counter1
Counter1 = 0
Newflag = 1
'Stop Timer1
End If

If Clapcount = 0 Then
Counter1 = 0
Incr Clapcount
'Start Timer1
End If



Waitms 200
Enable Aci

Return


'Klatsch:
'Portc.4 = Acsr.aco
'Acsr.acd = 1                                                'schaltet 
komparator aus
'Portc.5 = 0
'Waitms 500
'Portc.5 = 1
'Acsr.aco = 0
'Acsr.acd = 0                                                'schaltet 
komparator an

'Return



End

von Löter (Gast)


Lesenswert?

Micro war ein elektret/kondensatormicro....

mit Vorverstärker OP, Schaltung mit einem lm 358 hattes Du ja schon 
rausgesucht...

von Löter (Gast)


Lesenswert?

übernimm den code nicht einfach so.
verstehe ihn und passe ihn an, da sind noch einige debug zeilen drin,

beispielsweise wait in der isr, das ist natürlich so erst mal nicht die 
feine Art ;-)...

Ich kann mich nicht mehr an den letzten Stand erinnern.

Dus siehts, das nur ein bestimmtes Impulsmuster das Lich schaltet.
das funzt narrensicher...

von Michael N. (garril)


Lesenswert?

Gut, dann vielen herzlichen Dank (werde das Prog wahrscheinlich eh in C 
umschreiben).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.