arduino mit taster musik auswähle?
Hallo.
Ich muss für den Unterricht 2 Lieder programmieren auf dem Arduino. Es soll per zufallszahl 1 oder 2 eins der beiden lieder heraussuchen, in dem man einen taster drückt. Aber es passiert überhaupt nichts. kann mir bitte jemand helfen .
2 Antworten
Hallo! Ich habe deinen Code verbessert!
int ZF; //Zufallszahl
int K; //Tasterstatus
void setup() {
pinMode(4, INPUT_PULLUP); //Tasterpin lesend aktivieren
pinMode(3, OUTPUT); //Summer aktivieren
Serial.begin(9600); //Serielle Verbindung (hier überflüssig)
}
void loop() {
K = digitalRead(4);
if (K == 0) {
//randomSeed(analogRead(A1)); // nutzlose Zeile
ZF = random(0, 2); //Eine Zufallszahl zwischen 0 und 1 generieren
if (ZF == 1) { //ist die Zufallszahl gleich 1 spiele Freqzenz 440
tone(3, 440);
}
else { //war die Zufallszahl 2, spiele Frequenz 800
tone (3, 800);
}
delay(800); //0,8 Sekunden soll der Ton gespielt werden
noTone(3); //anschließend wird der Ton abgeschaltet
}
}

Was ist denn K-digitalRead??? Wolltest Du einer Variablen K den Tasterstatus zuweisen? Dann bitte mit K = digitalRead...
An Deiner Stelle, da Du Serial ja schon initialisierst, würde ich an den einzelnen Positionen auch per Serial ausgeben lassen, was passiert. Also welche Random erzeugt wird, wie der Tasterstatus eingelesen wurde, welcher Ton abgespielt wird usw... Dann kannst Du schon mal erkennen, ob der Taster überhaupt richtig angeschlossen ist und eingelesen wird, ob dein Random auch einen anständigen Wert zurück gibt der ZF zugewiesen wird.. ect.
Hab mit Random noch nicht gearbeitet. Kann dazu ohne mich einzulesen jetzt nicht viel sagen... Vlt auch den Speaker nicht richtig angeschlossen ect...
Hinter dem if(K==0) fehlt auch noch eine { die am Ende geschlossen werden muss... So ist dem If nichts zugewiesen... Vlt hängt es daran schon, oder er sollte es einfach ohne Prüfung ausgeben...
das hab ich auch bemerkt, aber es funktioniert nicht