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.
...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)
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......
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
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...
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
> 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.
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)
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?
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.
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 ;-)...
[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 ...
@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.
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?
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
Micro war ein elektret/kondensatormicro.... mit Vorverstärker OP, Schaltung mit einem lm 358 hattes Du ja schon rausgesucht...
ü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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.