Hi,
wie hast du denn das im Programm gelöst?
Es reicht nicht, bloß den Pin einzuschalten, an dem der Buzzer hängt, er braucht auch eine Frequenz, mit der die kleine Membran dann schwingt.
Versuch mal den Bascom-Befehl "sound".
Viele Grüße
Moin,moin,
seit Samstag befasse ich mich mit der Programmierung von Microcontrollern. Ich habe mir ne kleine Schaltung aufgebaut mit 2 LED's die abwechselnd blinken, solange der Taster gedrückt wird. Das funktioniert.
Jetzt würde ich gern noch nen Buzzer dran machen, der solange die LED's blinken 2 verschiedene Töne macht. Programmatisch habe ich es gelöst, nur bei meiner jetzigen Schaltung (siehe Anhang) klickt der Buzzer nur???
Fehlen irgendwelche Bauteile? Oder ist da sonst irgendwas falsch?
Gruß
Demian
Hi,
wie hast du denn das im Programm gelöst?
Es reicht nicht, bloß den Pin einzuschalten, an dem der Buzzer hängt, er braucht auch eine Frequenz, mit der die kleine Membran dann schwingt.
Versuch mal den Bascom-Befehl "sound".
Viele Grüße
Moin Ikarus,
den hab ich ja genommen (siehe Code)
Auf dem MyAVR MK2 USB funktioniert das mit dem Buzzer auch. Es muss also an meiner Schaltung liegen. Anbei auch noch das Datenblatt von dem Buzzer.Code:$regfile = "m8def.dat" $crystal = 3686400 'Outputs Config Portc.0 = Output Config Portd.6 = Output Config Portd.7 = Output 'Aliases Speaker Alias Portc.0 Button Alias Pind.5 Green Alias Portd.6 Yellow Alias Portd.7 'Initial Bits Portd.5 = 1 Do If Button = 0 Then Sound , Speaker , 50 , 500 Green = 1 Waitms 25 Green = 0 Sound , Speaker , 50 , 250 Yellow = 1 Waitms 25 Yellow = 0 End If Loop End
Gruß
Demian
Wie sieht die Beschaltung des Speakers denn am MyAVR Board aus? Hast du da den Speaker auch direkt an den Port angeschlossen? Im Datenblatt ist nämlich noch ein Transistor dazwischen...
Viele Grüße
auf dem MyAVR-Board ist der Speaker direkt am Port. Ist allerdings auch nen anderer. Das mit dem Transistor ist mir gar nicht aufgefallen, Anscheinend hatte ich vorhin ne andere Version des Datenblatts. Da war auch nichts japanisches drauf.
Wegem dem Widerstand: mit meiner Rechnung kam ich nur auf 100 Ohm nicht auf 180 Ohm???
Kann ich da folgendes Bauteil verwenden? http://www.conrad.de/goto.php?artikel=179205
Es liegt sicher an deiner Schaltung. Du hast noch einen 150 Ohm Widerstand in Serie zu deinem Buzzer geschalten. Er braucht aber lt. Datenblatt 5V, 50mA. Du musst wie im Datenblatt einen Transistor vorschalten.
Der Buzzer auf dem MyAVRBoard ist ein anderer Typ.
Hallo,
so wird das nix. Schau dir bitte Grundbeschaltung eines AtMega im Wissenbereich an. Die Seite kann ich gerade nicht aufrufen, daher musst du dort selber mal suchen. Du musst alle Versorgungspinne anschließen. Auch AVCC und AGND, selbst wenn du den ADC nicht nutzt. Im Betrieb ändert sich bei deiner Schaltung die Versorgungsspannung des AtMega 8, sobald du die LED's oder den Speaker anschaltet. Es wundert mich schon, dass das überhaupt soweit funktioniert. Im Datenblatt ist parallel zum Lautsprecher noch eine Freilaufdiode eingezeichnet. Es steht dort ja eigentlich auch ein Transistor...
Du solltest wirklich einen Spannungsregler mit den notwendigen Kondensatoren nutzen. Dann 100nF an die Versorgung des Controllers. Einen Transistor um den Speaker zu schalten und die Freilaufdiode bloß nicht vergessen.
Gruß
Jens
Wegen dem Wiederstand hab ich folgendermaßen gerechnet: 5V/0,05A = 100 Ohm, oder hab ich da gerade nen Denkfehler? Kann ich dann den Transistor von Conrad nehmen? Bin da noch nicht so fit und ein Buch kann ich mir erst nächsten Monat zulegen.
@Jens. Ich hab mich an dem Beitrag bezüglich des ATMega8 orientiert. Da sind AVCC und AGND auch nicht angeshlossen?
Hallo,
ich kann den Beitrag durch einen Datenbankfehler leider nicht aufrufen. Im Datenblatt zum AtMega 8 steht auf Seite 6 eindeutig:
"AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), and ADC (7..6). It should be externally connected to VCC, even if the ADC is not used."
Dein Port C 3..0 funktioniert ohne AVCC nicht. Wenn das woanders so eingezeichnet ist, ist es auch dort falsch.
Gruß
Jens
Lesezeichen