Fragen zu Buzzer 5V

Hallo zusammen

Ich habe mir für meine pillenbox folgende Buzer geholt:
10 Stück Buzzer 5V 12mm Signalgeber Schallgeber Tongeber Lautsprecher Beeper Neu
Article-Nr.:2302499
Produktdetails:
Signalgeber
Zustand: neu
Durchmesser: 12mm
Länge: 9.5mm
Strom: <25mA
Frequenz: 2300 +/ -500Hz

meine Frage lautet, hat man die Möglichkeit den Ton irgendwie zu verstellen duch eine Einstellung im Programm, lauter und leiser ist ja kein Problem. Jedoch ist der Ton so schlill das er in den Ohren weh tut :). Wenn nicht muss ich wohl in den sauren Apfel beissen und mir was anderes bestellen. Könnte mir da jemand einen Tip geben.

Hier ein Bild mener Pillenbox:
In der Anzeige wird , die Uhrzeit und das Datum so wie der Titel (Pillenbox) ausgegeben. über die Tasten der LCD kann die Uhrzeit verstellt werden und die Alarmzeit eingestellt werden. Bei Alarm, fängt der Buzzer an zu piepen und bei öffnen der Box, stellt sich der Alarm aus durch Lichteinfall über einen Fotowiderstand. Desweiteren werden bei der Alarmzeit , eine Aufforderung die Pillen zu entnehmen die man braucht auf dem Display angezeigt, welche nach Ausführung wieder auf Uhrzeit und Datum zurück gesetzt wird. Als kleinen Zusatz habe ich noch ein Geburtstags Kalender mit eingebaut(da ich diese auch immer vergesse :)) der mir die Geburtstag an dem eingegebenen Tag mit Nemen der Person jede Stunde für 1Minute auf das Display ausgibt. Aber nun das Bild.

Ich glaube, da hast Du Pech. Die Dinger werden ja einfach per 5V angesteuert, der Rest passiert im Becher.
Frequenz ändern fällt also flach, bleibt der Pegel. Und der wird in Grenzen per Betriebsspannung änderbar sein.

Danke Klaus_ww

für die Auskunft, Ich habe in der Bucht mal so einen Buzzer gesehen der spielte wie bei einem Handy einen Klingelton eine Melodie ab , da war sogar ein Audio Stream bei den man sich anhören konnte. Aber ich finde den nicht wieder, Mal sehen vielleicht weis ja noch irgend wer was Anderes was man nutzen kann und so klein ist.

Das war dann aber kein Buzzer sondern ein Lautsprecher.
Aber das ist ja das schöne an den Buzzern: die quäken los, sobald Saft anliegt - wenn man das möchte ist's super :wink:

Ja da hats Du natürlich recht, nur das ist bei meinen so ein quäkender Ton. Aber ich meine einmal gelesen zu haben das es die Buzzer auch gibt, wo man die Frequenz verstellen kann. Den ich habe einen Sketch im Netz gefunden, wo eine Melodie abgespielt wird über veränderungen bei der Frequenz.

/* Play Melody
 * -----------
 *
 * Program to play melodies stored in an array, it requires to know
 * about timing issues and about how to play tones.
 *
 * The calculation of the tones is made following the mathematical
 * operation:
 *
 *       timeHigh = 1/(2 * toneFrequency) = period / 2
 *
 * where the different tones are described as in the table:
 *
 * note         frequency       period  PW (timeHigh)   
 * c            261 Hz          3830    1915    
 * d            294 Hz          3400    1700    
 * e            329 Hz          3038    1519    
 * f            349 Hz          2864    1432    
 * g            392 Hz          2550    1275    
 * a            440 Hz          2272    1136    
 * b            493 Hz          2028    1014    
 * C            523 Hz          1912    956
 *
 * (cleft) 2005 D. Cuartielles for K3
 */

int ledPin = 13;
int speakerOut = 11;               
byte names[] = {'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'};  
int tones[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
byte melody[] = "2d2a1f2c2d2a2d2c2f2d2a2c2d2a1f2c2d2a2a2g2p8p8p8p";
// count length: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//                                10                  20                  30
int count = 0;
int count2 = 0;
int count3 = 0;
int MAX_COUNT = 24;
int statePin = LOW;

void setup() {
 pinMode(ledPin, OUTPUT); 
}

void loop() {
  analogWrite(speakerOut, 0);     
  for (count = 0; count < MAX_COUNT; count++) {
    statePin = !statePin;
    digitalWrite(ledPin, statePin);
    for (count3 = 0; count3 <= (melody[count*2] - 48) * 30; count3++) {
      for (count2=0;count2<8;count2++) {
        if (names[count2] == melody[count*2 + 1]) {       
          analogWrite(speakerOut,500);
          delayMicroseconds(tones[count2]);
          analogWrite(speakerOut, 0);
          delayMicroseconds(tones[count2]);
        } 
        if (melody[count*2 + 1] == 'p') {
          // make a pause of a certain size
          analogWrite(speakerOut, 0);
          delayMicroseconds(500);
        }
      }
    }
  }
}

nur das geht bei mir nicht da verändert sich immer nur die Lautstärke

Hallo Malerlein,
wenn Du keinen neuen kaufen willst kann ich Dir 2 Versuche anbieten:

  1. Probier doch einfach, mit draufgeklebten Materialen wie Schaumstoff, Pappe, Filz etc. den Klang etwas dezenter zu bekommen.
  2. Du hast ja 10 Stück, mach doch einen zum Knackmich. Vorsichtig öffen und gucken, was drin ist. Mit etwas Expermentierfreude kannst Du vielleicht mit Spucke und Geschick - ähm Leitsilber, Lötkolben, SMD-Fuzzeln tonbestimmendene Elemente ändern (einen zweiten Kondensator parallel dürfte die Frequenz verringern wenn Du den richtigen erwischt hast oder wenn Du's mit dem Widerstand im RC Gleid machst erhöhen).
    Viel Glück und mfG Mekanax

Danke für den Tip Mekanax

Das werde ich mal versuchen, Villeicht geht da ja was.

Fiese kleine Dinger! Aber in den Daten steht ja, dass die Frequenz recht hoch liegt, 2,3kHz ist für meine Verhältnisse auch unangenehm. Das ganze hat aber einen gewissen Toleranzbereich, also teste ruhig mal durch ob andere Buzzer erträglicher piepen. Ansonsten könntest du mal versuchen, den Buzzer mit analogWrite(5) anzusteuern. Klingt das besser?

Also ich hab einen Buzzer aus einem Kit vom Chinesen bei dem kann ich mit dem Melody Sketch arbeiten. Kann dir leider nicht genau sagen um was es sich handelt, da lediglich die Aufschrift "HX (+) " auf dem Ding steht. Vielleicht hilft das ja.

Ja sth77, analogWrite(5); ist viel Angenehmer :), dann ist es schön Lautlos *lach

Die Idee dahinter war, der hohen Frequenz die 490Hz-PWM-Frequenz "draufzulegen". Hast du mal andere Werte als 5 probiert? Einfach mal 10, 50, 100 usw. Würde mich schon interessieren...

malerlein:
meine Frage lautet, hat man die Möglichkeit den Ton irgendwie zu verstellen duch eine Einstellung im Programm, lauter und leiser ist ja kein Problem. Jedoch ist der Ton so schlill das er in den Ohren weh tut :).

Du stellst den Piepser im Programm lauter und leiser?
Wie machst Du das? Gibst Du eine PWM-Frequenz drauf?

Die normale Lautstärkeanpassung erfolgt einfach durch einen Vorwiderstand, so dass der Piepser mit weniger als 5V betrieben wird. D.h. wenn der Piepser direkt an 5V einen Strom von 25 mA zieht, entspricht das einem Innenwiderstand von
R=U/I= 5/0,025 = 200 Ohm

Wenn Du jetzt einen Vorwiderstand in derselben Größe von 200 Ohm in Reihe schaltest, beträgt der Strom nur noch 12,5 mA und der Piepser ist deutlich leiser. Wegen P=U*I beträgt bei halber Spannung (2,5V) am Piepser und halbem Strom (12,5mA statt 25 mA) die Leistung nur noch ein Viertel.

Durch Wahl eines geeigneten Vorwiderstands vor dem Piepser machst Du aus einem Alarmgeber (ohne Vorwiderstand) einen sanften Summer (mit Vorwiderstand).

ja sth77

ab Wert 125 kommt der ton und zwischen 125 und 255 kann ich den ton ausgeben jedoch geht das Quäken nicht davon weg. Ich habe jetzt den Buzzer unter einem Styropoor Deckelchen gepacht, da ist er etwas dumper, sonst tuen Dir bei dem ungedämpften Ton die Ohren weh.

Hallo,
Deinen "Pillenbox" Beitrag lese ich mit leichtem Schmunzeln schon einige Zeit mit…
Du hast ja ein Foto eingestellt. Was wird denn dort angezeigt?
Die aktuelle Zeit/Datum- oder die Zeit/Datum, wann nächste Pille?
Gruß und Spaß
Andreas

Nein, das ist die Aktuelle Zeit / datum, die Zeit wann der Alarm für Pillen einnahme losgehen soll ist frei wählbar, dann wird zur gewählten Zeit, ein Buzzer ausgelöst der los geht und die Anzeige wechselt auf die Anzeige welche Pille genommen werden soll (frei wählbar) bei öffnen der Pillenbx wird ein Lichtsensor aktiviert und der Arlarm geht aus und das Display wechselt wieder auf Uhrzeit und Datum. Zusätzlich habe ich noch einen Terminkalender mit programmiert für geburtstage, da ich die immer vergesse, da wird dann jeweils an dem Tag wo eine eingetragene Persin geburtstag hat, jede Stunde der nahme der persohn aufs Dislay gezeigt. Das wars .... ich überlege noch ob ich den Terminkalender nicht noch auf Arzt termine erweitern soll, oder sonst was schönes noch. Platz habe ich noch satt.
ich brauche nichts was hinterm ferseh leuchtet oder s extra`s..... ich habe schon 3 Uhren, eine Wetterstation, mein Aquarim und unseren Wohnwagen verbaut mit Arduin und LED, aber da mir das Basteln Spaß macht suche ich immer irgend etwas was man auch Praktisch nutzen kann und die Idee mit der Pillenbox war nicht die schlechteste , da ich Medikamente nehmen muss und ein wenig schlonzig bei sowas bin , werde ich immer im richtigen Moment daran erinert das ich mal wieder was schlucken muss :slight_smile:

Haste nicht irgendein olliges Handy herumschwirren?
Da sind feine, kleine, arduinotaugliche Lautsprecherchen drin..diese Billigbuzzer (hatte ich auch im Starterset, gleich drei Stück) kriegt man einfach nicht dazu, vernünftig zu klingen-habs mit allen dreien versucht, die können nur irgendwie plärren, wenn auch durchaus in verschiedenen Tonhöhen (dam Klang nach düfte so ein Ding nicht mehr als 3 ct kosten 8) ):

Da gebe ich Dir vollkommen recht, an Handy`s liegt es bei mir nicht,die sind vorhanden. Aber werden diese kleinen Lautsprecher denn auch so wie der Buzer betrieben am Arduino und wie bekomme ich dan eine Melodie darüber u hören?

Ich hab neulich einen in den Finger gehabt (entweder aus nem mittelalten Nokia oder nem noch älteren Trium), der liess sich genau wie diese Buzzer verwenden.
Einfach Plus an nen Digitalport, Minus an Masse und:

void loop()
{
unsigned char i,j;//define i j
while(1)
{
for(i=0;i<80;i++)// Output a frequency of sound
{
digitalWrite(buzzer,HIGH);//sound
delay(1);//delay 1ms
digitalWrite(buzzer,LOW);//mute
delay(1);//delay 1ms
}
for(i=0;i<100;i++)// Output the other frequency of sound
{
digitalWrite(buzzer,HIGH);//sound
delay(2);//delay 2ms
digitalWrite(buzzer,LOW);//mute
delay(2);//delay 2ms
}
}
}

..so ungefähr. Der Code stammt aus den Beispielen, die ich beim Sainsmart-Starterpaket dabei hatte- vermutlich, wie das meiste der Tutorials, von Adafruit abgeschrieben. :wink:

Übrigens: olle Handys werfe ich nie weg-da sind immer nette Sächelchen drin, die man schnell mal brauchen kann. :wink:

malerlein:
Aber werden diese kleinen Lautsprecher denn auch so wie der Buzer betrieben am Arduino und wie bekomme ich dan eine Melodie darüber u hören?

Dazu kannst Du doch Tone nehmen, siehe Playground.
Am Digitalpin tust Du dem Speaker keinen Gefallen, auch PWM hilft da im Standard nicht weiter mit seinen 490 Hz (oder wieviel es auch sind)

Danke für Eure Hilfe, da werde ich mich einmal schlau machen. und zu den Handy`s, die sammel ich auch :slight_smile: