Hallo,
Ich bin Neu in dem Thema Sketches. Ich möchte gerne einen Heißen Draht bauen wo eine Sicherung drin ist um nicht zu Betrügen. (Ich weiß es gibt immer einen weg dazu)
Ich habe das Problem das ich in meiner Holzplatte einen Startkontakt (Draht) der auf Pin5 liegt. mein eigentlicher Heiße Draht liegt auf Pin4 und mein Zielkontakt liegt auf Pin6. Die Schlaufe die dem Heißen Draht entlang geführt werden muss liegt auf Masse.
Mein Ziel ist es das wenn man den Arduino mit Strom versorgt die Rote LED (Pin2) an ist und die Pins 4+6 ohne Funktion sind. erst wenn ich mit der Schlaufe den Startkontakt berühre, Soll die Grüne LED (Pin 3) angehen und der Pin 4 vom Heißen Draht und der Pin 6 aktiv werden. Der Startkontakt ist inaktiv. Sollte der Spieler einen Fehler machen, Geht die Rote LED wieder an und es ertönt ein Piepton (Lautsprecher Pin 12) und der Pin 4 und 6 ist wieder inaktiv. so das es von vorne beginnt. Sollte der Spieler es schaffen ohne Fehler durch zu kommen und den Zielkontakt berühren soll ein Servo betätigt werden.
Wie gesagt, Ich habe den Code im Internet gefunden und wollte ihn Anpassen.
Aktuell sieht mein Code wie folgt aus:
#include <Bounce2.h>
//Taster
#define BTN1 4 // Heißerdraht
#define BTN2 5 // Startkontakt
#define BTN3 6 // Zielkontakt
//Anzeige für den Kontakt
#define redLED 2 // Rote LED
#define greenLED 3 // Grüne LED
#define BUZZER 12 // Lautsprecher
Bounce btn1Bouncer = Bounce(BTN1, 100);
Bounce btn2Bouncer = Bounce(BTN2, 100);
void setup() {
pinMode(BTN1, INPUT);
pinMode(BTN2, INPUT);
pinMode(BTN3, INPUT);
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(BUZZER, OUTPUT);
digitalWrite(BTN1, HIGH);
digitalWrite(BTN2, HIGH);
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
}
void loop() {
digitalWrite(redLED, HIGH);
btn2Bouncer.update();
//Wenn der Kontakt geschlossen ist,
//also ein Wechsel von LOW auf HIGH stattgefunden hat
//dann...
digitalWrite(greenLED, HIGH);
if (btn2Bouncer.rose()) {
digitalWrite(redLED, LOW); //Rote LED aus
digitalWrite(greenLED, HIGH); // Grüne LED an
}
btn1Bouncer.update();
//Wenn der Kontakt geschlossen ist,
//also ein Wechsel von LOW auf HIGH stattgefunden hat
//dann...
digitalWrite(greenLED, LOW);
if (btn1Bouncer.rose()) {
digitalWrite(redLED, HIGH); //LED aktivieren
delay (500);
digitalWrite(greenLED, LOW); // Grüne LED aus
tone(BUZZER, 900); // Ton aktivieren, in einer Frequenz 900 Hz
delay(350); // Kleine Pause von 350ms
noTone(BUZZER); //Ton deaktivieren
}
}