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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rasmus E. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.