Forum: Mikrocontroller und Digitale Elektronik Arduino UNO Buzzersystem Programmprüfung


von Rasmus E. (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,
ich bräuchte mal eine erfahrene Meinung.

Ich bin ganz frisch in die Arduino-Programmierung eingestiegen und 
wollte, als erstes Projekt, ein Buzzersystem realisieren.
Ich bräuchte nun ganz dringend eine erfahrene Meinung, ob mein erster 
Entwurf irgendwelche grundlegenden Logikfehler enthält.

Der geplante Ablauf wäre:

-Auslesen der zwei Buzzer (Taster auf 5V) über Pin 4 und 7.
-Zwei Ausgaben für jeweils ein Relais zum ansteuern eines 
MP3-Soundboards
 genutzt werden.
-Pin 8 für den Startcounter-Sound und Pin 12 für den Buzzersound
-Zum Start des Spiels müssen beide Taster einmal gedrückt werden.
 -hierzu werden in jedem Zyklus die Eingänge eingelesen und das Ergebnis
  zwischengespeichert.
 -Nachdem beide Taster gedrückt wurden, beginnt ein Timerbaustein, zählt
 die Zyklusdurchgänge und errechnet daraus Sekunden und Minuten.
 -Für 14 Sekunden soll nun der Pin 8 das Relais schalten.
 -Anschließend werden die Zwischenspeicher geleert und der Ausgang 
zurückgesetzt.
-Das Spiel läuft nun und es kann auf zwei Arten beendet werden.
 -Entweder nach Ablauf von 6 Minuten.
 -Oder es wird einer der beiden Buzzer betätigt.
-Zum Ende werden alle Variablen,Ausgänge und Eingänge zurückgesetzt und 
das
 Programm startet neu.

Tut mir Leid, sollte ich falsche Ausdrücke nutzen, aber ich bin halt 
wirklich neu auf dem Gebiet. Belehrt mich gerne eines Besseren :)
Man lernt ja auch nur aus Fehlern, wenn man solche aufgezeigt bekommt :P

Schönen Gruß
Rasmus

von Stefan F. (Gast)


Lesenswert?

Mit Leerzeilen und Leerzeichen bist du arg geizig umgegangen.

Benutze aussagekräftige Namen statt Zahlen. Zum Beispiel:

#define ROTE_LED 5
#define AN HIGH
#define AUS LOW

digitalWrite(ROTE_LED,AN);

Oder:

#define ROTE_LED_AN digitalWrite(5,HIGH)
#define ROTE_LED_AUS digitalWrite(5,LOW)

ROTE_LED_AN;

Beides kannst du auch mit den Eingängen so oder so ähnlich machen. 
Dadurch wird der Quelltext viel besser lesbar.

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
Noch kein Account? Hier anmelden.