Hallo zusammen,
ich versuche gerade die ersten Schritte mit dem Arduino zu machen.
Ich bin gerade dabei ein Sketch zu schreiben, der einen elektrischen Würfel ansteuern soll.
Dazu gibt es bereits zahlreiche Sketches im Internet. Ich möchte aber den Sketch mit den Basic-Befehlen digitalWirte, pinMode, random, if-else, int, switch, case schreiben, da ich diese als Realschule-lehrer meinen Schüler als einstieg erstmals einführe.
Im Anhang befindet sich ein Programm, dass mit Basic geschrieben ist. Diese Struktur würde ich gerne übernehmen, da sie leicht zu erklären ist.
Hier ist ein Versuch eines Sketches für Arduino. Leider ist dieser nicht funktionsfähig, da immer wenn der Schalter gedrückt wird nur zwei LED's aufleuchten.
Wäre cool wenn jemand den Fehler findet oder weiterhelfen kann
int tasterPin = 2; // Pin an dem der Taster angeschlossen ist
int tasterWert = LOW;
void setup() {
pinMode(13, OUTPUT); // digitaler Pin wird für Ausgabe festgelegt
pinMode(12, OUTPUT); // ... auch die folgenden
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(tasterPin, INPUT);
Serial.begin(9600);
}
void loop() {
tasterWert = digitalRead (tasterPin);
if (tasterWert == HIGH)
{
int Zufallszahl = random (1,6);
Serial.println(Zufallszahl);
switch (Zufallszahl) { // in Abhängigkeit von der Zahl wird auf dem Würfel die Augenzahl dargestellt
case 1: // Wuerfelzahl 1 // über die Anweisungen Case werden die verschiednen LED entsprechende der Augenzahl eingeschaltet
digitalWrite(7, HIGH);
Serial.println("W 1");
break;
case 2: // Wuerfelzahl 2
digitalWrite(9, HIGH);
digitalWrite(13, HIGH);
break;
case 3: // Wuerfelzahl 3
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(11, HIGH);
break;
case 4: // Wuerfelzahl 4
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(11, HIGH);
digitalWrite(13, HIGH);
break;
case 5: // Wuerfelzahl 5
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(11, HIGH);
digitalWrite(13, HIGH);
digitalWrite(7, HIGH) ;
break;
case 6: // Wuerfelzahl 6
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
break;
default: //ansonsten, wenn es keiner dieser cases ist
break;
}
delay(100);
}
}