Hallo, ich möchte mit und für meinen Sohn eine Stoppuhr mit Lichtschranke für unsere Carrerabahn bauen.
Wir haben die Lichtschranken ausprobiert und wir bekommen eine Test-LED zum leuchten.
Dann haben wir die DMX-Steuerung mit einem MAX485 hinbekommen. Wir würden gerne unseren LED-PAR aus dem Partykeller verwenden.
Jetzt versuchen wir alles unter einen Hut zu bekommen. Das erweist sich gerade als problematisch.
So weit sind wir bis jetzt:
#include <Wire.h>
#include <DmxSimple.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
const int startPin = 22; // Pin für Start - Lichtschranke
const int stopPin = 23; // Pin für Stop - Lichtschranke
const int resetPin = 24; // Pin für Reset
int startButtonstate; // variable Start - Lichtschranke Zustand
int lastStartbuttonState; // variable Start - vorheriger Lichtschranke Zustand
// const int redOn = DmxSimple.write(1, 255); // DMX Rot-Zustände
// const int redOff = DmxSimple.write(1, 0);
// const int greenOn = DmxSimple.write(2, 255); // DMX Grün-Zustände
// const int greenOff = DmxSimple.write(2, 0);
void setup() {
DmxSimple.usePin(53); // DMX Setup
DmxSimple.maxChannel(4);
lcd.begin(16, 2); // LCD Setup
pinMode(startPin, INPUT); // Startpin Setup
digitalWrite(startPin, HIGH);
lcd.setCursor(0, 0); // LCD Begrüßung
lcd.print("Rallycrono");
delay (3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Gib Gummi!");
lcd.setCursor(0, 1);
lcd.print("Viel Spass");
delay (3000);
}
void loop() {
lcd.clear();
DmxSimple.write(1, 255);
startButtonstate = digitalRead(startPin); // Check ob der Button gedrückt wurde
if (startButtonstate == LOW && lastStartbuttonState == HIGH) { //falls ja, dann:
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(1, 255);
delay (1000);
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(1, 255);
delay (1000);
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(1, 255);
delay (1000);
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(1, 255);
delay (1000);
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(1, 255);
delay (1000);
DmxSimple.write(1, 0);
delay (500);
DmxSimple.write(2, 255);
delay (5000);
DmxSimple.write(2, 0);
}
}
Wenn ich versuche mit PIN 22 an GND die Ampelsequenz auszulösen, dann passiert nichts!
Vielen dank im voraus für eure Hilfe!