Feuerwehrhaus mit Sound und Licht


#1

Hallo,

ich möchte meinem Sohn für Weihnachten ein Feuerwehrhaus mit Sound und Licht bauen.

Meine Erfahrungen bezüglich Programmierung mit dem Arduino stecken noch in den Anfängen. Ich habe zwar schon mit Hilfe meines ehemaligen Arbeitskollegen eine RC-Traktor-Beleuchtung gebaut, aber sonst noch nichts Großes mit dem Arduino gemacht. Bei der Suche zur Verwirklichung meines Vorhabens, bin ich auf die Internetseite von Thorsten gestoßen.

Als Hardware für mein neues Projekt verwende ich die Bauteile für den TonUINO mit der Erweiterung um zwei LEDs und das Spielhaus vom Schweden.

Getrennt funktionieren beide Programme (TonUINO-Programm von Thorsten und das Programm zur Steuerung der LEDs erstellt mit Hilfe einer Lern-Seite) wunderbar, jedoch beide in einem zum Laufen zu bringen überfordern mein Wissen gerade.

Könntet Ihr mir vielleicht helfen?

Das Programm alleine für die Beleuchtung:

#include <SPI.h>

#include <MFRC522.h>

#define SS_PIN 10

#define RST_PIN 9

MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup()

{

Serial.begin(9600);

SPI.begin();

mfrc522.PCD_Init();

pinMode (2, OUTPUT); // Der Pin 2 ist jetzt ein Ausgang (Hier wird eine LED angeschlossen)

pinMode (4, OUTPUT); // Der Pin 2 ist jetzt ein Ausgang (Hier wird eine LED angeschlossen)

}

void loop()

{

if ( ! mfrc522.PICC_IsNewCardPresent())

{

return;

}

if ( ! mfrc522.PICC_ReadCardSerial())

{

return;

}

long code=0;

for (byte i = 0; i < mfrc522.uid.size; i++)

{

code=((code+mfrc522.uid.uidByte[i])*10);

}

Serial.print("Die Kartennummer lautet:");

Serial.println(code);

// Ab hier erfolgt die erweiterung des Programms.

if (code==1600750 || 2320780) // Wenn der Zahlencode 1600750 lautet...

{ // Programmabschniss öffnen

for (int zaehler=1; zaehler<30; zaehler = zaehler+1){

digitalWrite(2, HIGH);// ...dann soll die LED an Pin 2 leuchten...

delay(150);

digitalWrite (2, LOW); // … und danach wieder ausgehen.

delay(150);

for (int zaehler=1; zaehler<30; zaehler = zaehler+1)

digitalWrite(4, HIGH);// ...dann soll die LED an Pin 2 leuchten...

delay(150);

digitalWrite (4, LOW); // … und danach wieder ausgehen.

delay(150);

}

delay(9000);

} // Programmabschnitt schließen

} // Sketch abschließen delay(200);

Edit: Bitte das Code Tag verwenden für Source Code! Danke!


#2

Ich kann zwar auch nicht programmieren, aber da dein Beispiel lange Delays verwendet, wird es nicht zusammen mit dem TonUINO funktionieren. Dein
delay(9000),
sagt dem Arduino er soll 9 Sekunden warten und so lange spielt er keinen Ton und reagiert auch nicht auf Eingaben oder eine RFID Karte. Schau Mal ob Du den Code mit dem Befehl
millis
anpassen kannst, so das es vielleicht klappt. Wie gesagt, ich kann auch nur fertigen Code verwenden, hab aber schon ein paar Dinge aufgeschnappt :slight_smile:
Vielleicht hilft auch der Link: https://forum.arduino.cc/index.php?topic=503368.0

Schönen Sonntag und wir wollen Fotos vom Ergebnis sehen.
Papa