Sirene für Modellauto

Hi, ich versuche schon seit einigen Wochen, ein Martinshorn für mein Modellfeuerwehrauto zu bauen, leider ist mir bis jetzt nur das Blinken der Blaulicher geglückt, deshalb wollte ich fragen, ob man mir hier in diesem Thema weiterhelfen könnte, denn ich habe den Arduino erst seit ein Paar wochen.
PS:Ich bin neu hier auf dem Forum

Hallo cube_gamer,

Ok dann erkläre ich erst einmal ein bisschen was über das Forum selbst.
Das ist ein Forum Hilfe zur Selbsthilfe. Kein Forum in der Art kann mir mal bitte jemand folgendes programmieren?

Man sollte aus deiner Fragestellung immer erkennen können du hast selbst ein Stück Mühe hineingesteckt.
Das könnte auch einfach die Feststellung sein

"Ich habe nach "Arduino Feuerwehrsirene" gegoogelt aber nichts brauchbares gefunden.
Die Stellen die ich per google gefunden habe waren nur Diskussionen über xy.
Bei dieser Stelle "link" verstehe ich nicht was die Antwort bedeutet.

Und dann wenigstens einen eigenen Versuch dein Blinkprogramm um Sirene zu erweitern. Und sei er noch so
kurz und der Compiler spuckt schon 50 Fehlermeldungen aus.

Daran kann man erkennen das du ein Stück eigene Mühe hineingesteckt hast.

ALs Total-Newbee-Bonus hier ein google-link

https://www.google.com/search?lr=&newwindow=1&as_qdr=all&ei=LUXmXsGjJcatkgWfsI7gBg&q=Arduino+Töne+erzeugen&oq=Arduino+Töne+erzeugen&gs_lcp=CgZwc3ktYWIQAzICCAAyBggAEBYQHjIGCAAQFhAeOgQIABBHOgUIABCxA1D38wJY3YUDYNaLA2gAcAJ4AIAB_gKIAa4SkgEIMC4xMC4xLjKYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwiB7syo0oHqAhXGlqQKHR-YA2wQ4dUDCAw&uact=5

Lies dort nach und dann komme zurück mit einer möglichst konkreten Frage oder einem Programm (Sketch)
viele Grüße Stefan

StefanL38:
ALs Total-Newbee-Bonus hier ein google-link

... der leider nicht funktioniert.

cube_gamer:
... ein Martinshorn für mein Modellfeuerwehrauto ...

Der DFPlayer Mini ist ganz beliebt, da man direkt einen kleinen Lautsprecher anschließen kann. Weil der DFPlayer autonom abspielt, wird auch das Blinken nicht gestört.

Pro Mini mit DFPlayer wäre mein Vorschlag. Den FTDI Adapter benötigst Du nur einmal.

Oder mal hier schauen. Und sich das Programm noch ein wenig klanglich anpassen. Dürfte bei so einem zweizeiler Programm ja nicht soooooo schwer sein.

Framz

Franz54:
Oder mal hier schauen.

Chapeau! Ich werde die Tage mal etwas auf Deinen Seiten stöbern, ob ich was lernen kann.

Logischerweise ergeben sich Anmerkungen, wenn zwei kreative Köpfe aktiv sind. So ist Dein Beispiel, auf das Du verlinkst, alleine OK. Gemeinsam mit Geblinke stört dann wie so oft delay. Zusammen mit millis funktioniert es dann:

const byte lautsprecherPin = 8, blaulichtPin = 9;
uint32_t jetzt;

void setup() {
  pinMode(lautsprecherPin, OUTPUT);
  pinMode(blaulichtPin, OUTPUT);
}

void loop() {
  jetzt = millis();
  ton();
  blaulicht();
}

void ton() {
  static uint32_t vorhin;
  static int f = 200, d = 1;
  if (jetzt - vorhin >= 2) {
    vorhin = jetzt;
    tone(lautsprecherPin, f);
    f += d;
    if (f >= 1000 || f <= 200) {
      d *= -1;
    }
  }
}

void blaulicht() {
  static uint32_t vorhin;
  if (jetzt - vorhin >= 200) {
    vorhin = jetzt;
    digitalWrite(blaulichtPin, !digitalRead(blaulichtPin));
  }
}

Ich fände es für Leser hilfreich, wenn Du diese Varainte mit aufnehmen würdest. Ich erhebe kein Copyright ;D

Mit dem direkten übernehmen habe ich ein Problem. Weil in meinen Seiten nicht das Thema "Polizeiauto mit Blinklicht und Sirene" aufgeführt werden kann, sondern als Thema gibt des "die Tonausgabe" und das Thema "Millis statt Delays". Es werden noch sehr viel mehr Themen, als die derzeit etwa 25 Themen werden, aber eben nur einzeln gegliederte Themen.

Aber ich habe jetzt darauf hingewiesen, dass zu einer derartigen Tonausgabe auf keinen Fall Delay´s passen, und habe hierher ins Thema verlinkt. Ich hoffe das ist den Betreibern des Forums recht, wenn ich bei Infos von Usern hier, auf mal darauf hinweise. Wenn es nicht gewünscht ist, bitte einfach eine Nachricht, dann nehme ich die Hinweise auf dieses Forum natürlich umgehend raus.

Franz

Franz54:
Mit dem direkten übernehmen habe ich ein Problem.

"Direkt" war auch nicht meine Idee gewesen, aber so paßt es doch!

Mir war beim Lesen Deines Beitrags nicht klar, ob tone() mit millis() zusammenarbeitet, darum habe ich es probiert und schon wieder was gelernt :slight_smile:

Nun kann der TO zwischen Arduimo-Gequäke und MP3-Sound wählen. Alternativen wären auch die DACs vom ESP32 oder Teensy 3.2 zu erwähnen. Letztlich müssen dann Anspruch und Geldbeutel entscheiden.

Mit ESP32 wäre dann z.B. dieses hier oder? GitHub - schreibfaul1/ESP32-audioI2S: Play mp3 files from SD via I2S

Ansonsten fällt mir noch ein, das man mit einem Uno/Nano PCM-Daten aus dem Flash abspielen kann -> Arduino Playground - PCMAudio

Rintin:
Mit ESP32 wäre dann z.B. dieses hier oder? GitHub - schreibfaul1/ESP32-audioI2S: Play mp3 files from SD via I2S

I2S ist eine Schnittstelle für externe Hardware, so wie I2C. Natürlich auch eine Möglichkeit.

Ich hatte eher an die internen DACs an GPIO25 und GPIO26 gedacht. Als Quelle kann man Daten im Programmspeicher oder MP3-Dateien (auch WAV) im SPIFFS verwenden. Ein Füllhorn an Möglichkeiten auch für den ESP32 bietet diese Bibliothek.

Die Qualität des 8-Bit-DACs ist besser, als was der UNO kann, aber der Teensy kann es besser.

Oder Audio von SD-Card abspielen mit TMRpcm.
Ist nicht HiFi, aber oft reicht das.

Kann mich erinnern, früher gab es für Lego so Sirenen, die konnten sogar zwei Signale.
Vllt. ist das eine Alternative für dich.
Die liefen mit 9V Block.

PS. Ich glaube Blaulicht gibt es auch.

agmue:
Mir war beim Lesen Deines Beitrags nicht klar, ob tone() mit millis() zusammenarbeitet, darum habe ich es probiert und schon wieder was gelernt :slight_smile:

Ja, habe ich auch gerade gelernt. Mir ist nur noch nicht klar, was da die Millis so ausbremst. Ich habe die Sirene in ein Programm integriert das sehr intensiv mit Millis arbeitet und da geht nicht mehr viel. Nur die Sirene arbeitet noch gut.
Muss mir wohl mal ein übersichtliches Programm zusammenstellen, indem ich das Problem leichter erörtern kann.

Kann man es überhaupt schaffen, eine Sirene mit einem Piezzo Buzzer zu programmieren?

cube_gamer:
Kann man es überhaupt schaffen, eine Sirene mit einem Piezzo Buzzer zu programmieren?

Das wird schwer werden, da der Piezo für bestimmte Frequenzen (Resonanzfrequenz) optimal arbeitet.
Andere Frequenzen werden dann nur leiser und mit deutlich schlechter Qualität wieder gegeben.

Ein richtiger Lautsprecher ist da besser geeignet.

Naja, einen Euro für nen kleinen Lautsprecher wirst du doch noch haben. Oder in eine Telefon, das man oft wegwirft, weil man es nicht mehr braucht, ist auch meistens ein Lautsprecher. Da sind meine Lautsprecher her. Damit mache ich jetzt in jede Arduino Testkonsole auf der Rückseite einen Lautsprecher rein, den ich dann jederzeit anstecken kann.

Franz