Nitri:
Die Soundausgabe ist mit einem 12V, 125 db Piezo"pieper" gestaltet. Da der ordentlich Strom zieht und das Arduinoboard mit einer 9V Blockbatterie läuft, geht der über einen Schaltverstärker.
Verstehe, also "mit Verstärker".
Nitri:
Ich hab den Code mal als Anhang hier mit drann.
Ich habe mal kurz reingeschaut: Ja, der ist ein bisschen anders. Und umfangreicher, mit Admin-Passwort und Speicherung von Parametern im EEPROM. Und mit über 800 Zeilen vor allem viel umfangreicher als der andere Code. Die Soundausgabe läuft allerdings nur über "Buzzer", die von sich aus nur Piepsen und nicht mit Tonausgabe in verschiedener Tonhöhe. Ist also insbesondere auf der Soundseite für etwas andere Hardware als Du sie hast.
Nitri:
Ich sagte ja, das ist bei weitem komplizierter geschrieben als mein Spaghetticode. Was ist eigentlich ein Spaghetticode? ^^
Ich verstehe unter Spaghetticode vor allem, dass im Sketch die Teilfunktionen:
- Eingabe von Daten
- Verarbeitung von Daten
- Ausgabe von Daten
nicht sauber getrennt sondern munter miteinander vermischt sind.
Hier ein bisschen Keypad-Abfrage, da ein bisschen auf LCD ausgeben, dort ein bisschen Zeit runterzählen und das alles vermischt an vielen Stellen im Programm, teils mit "delay" Programmblockierungen und undurchschaubarer Ausnutzung von Seiteneffekten, wie z.B. beim Spielende: Da wird von der verbleibenden Spielzeit mal eben 1 Stunde, 59 Minuten und was weiß ich abgezogen, um dann an irgendeiner anderen Stelle im Code festzustellen: Wenn die Minuten ein negativer Wert sind, ist das Spiel zu Ende und die virtuelle Bombe ist explodiert statt entschärft. Diese kaum durchschaubaren Kontrollstrukturen machen das Programm so schlecht wartbar.
Andererseits funktioniert der Code auf Deiner vorhandenen Hardware und Dir fehlt nun im wesentlichen nur noch eine einzige Funktion, um eine mehrmalige Falscheingabe beim Entschärfen zu ermöglichen. Im Moment fehlt mir dazu eine geniale Idee, wie das mit einer kleinen Änderung am vorhandenen Programm oder mit einer kurzen, knackigen Neuprogrammierung mal eben auf die Schnelle hinzubekommen ist.