Ich habe btw Natürlich die Kabel richtig verbunden falls das jemand fragt weil ich den arduino ausgelassen habe
Code:
const int Taster1 = 1; // Pin für den ersten Taster
const int Taster2 = 2; // Pin für den zweiten Taster
const int Taster3 = 3; // Pin für den dritten Taster
const int helligkeitsreglerPin = A5; // Pin für den Helligkeitsregler
const int numLEDs = 8;
const int AmpelLEDs = 2;
int LEDs1[numLEDs] = {6, 7, 8, 9, 10, 11, 12, 13}; // Pins für die LEDs
int LEDs2[numLEDs] = {12, 10, 9, 7, 13, 11, 8, 6}; // Another pattern
int LEDrot[AmpelLEDs] = {10, 11};
int LEDgelb[AmpelLEDs] = {9, 8};
int LEDgruen[AmpelLEDs] = {7, 6};
void setup() {
for (int i = 0; i < numLEDs; i++) {
pinMode(LEDs1[i], OUTPUT);
pinMode(LEDs2[i], OUTPUT);
}
gleichzeitigBlinken(LEDs1, 12, 13);
delay(200); // Warte 2 Sekunden
gleichzeitigBlinken(LEDs1, 10, 11);
delay(200); // Warte 2 Sekunden
gleichzeitigBlinken(LEDs1, 9, 8);
delay(200); // Warte 2 Sekunden
gleichzeitigBlinken(LEDs1, 7, 6);
delay(200); // Warte 2 Sekunden
}
void loop() {
if (digitalRead(Taster1) == HIGH) {
Variation1(LEDs1);
delay(1000); // Entprellzeit
}
if (digitalRead(Taster2) == HIGH) {
Variation2(LEDs2);
delay(1000); // Entprellzeit
}
if (digitalRead(Taster3) == HIGH) {
ampelProgram(LEDrot, LEDgelb, LEDgruen);
delay(1000); // Entprellzeit
}
// Weitere Bedingungen für andere Programme hinzufügen, wenn nötig
}
void Variation1(int LEDs[]) {
int brightness = analogRead(helligkeitsreglerPin) / 4; // 0-1023 to 0-255
for (int i = 0; i < numLEDs; i++) {
analogWrite(LEDs[i], brightness);
delay(200); // Beispiel: LED für 0,5 Sekunden einschalten
analogWrite(LEDs[i], LOW); // LED ausschalten
}
}
void Variation2(int LEDs[]) {
int brightness = analogRead(helligkeitsreglerPin) / 4; // 0-1023 to 0-255
for (int i = 0; i < numLEDs; i++) {
analogWrite(LEDs[i], brightness);
delay(200); // Beispiel: LED für 0,2 Sekunden einschalten
analogWrite(LEDs[i], LOW); // LED ausschalten
}
}
void ampelProgram(int redLEDs[], int yellowLEDs[], int greenLEDs[]) {
// Rote LEDs einschalten
turnOnLEDs(redLEDs, AmpelLEDs);
delay(200); // Warte 2 Sekunden
// Rote LEDs ausschalten
turnOffLEDs(redLEDs, AmpelLEDs);
// Gelbe LEDs einschalten
turnOnLEDs(yellowLEDs, AmpelLEDs);
delay(200); // Warte 1 Sekunde
// Gelbe LEDs ausschalten
turnOffLEDs(yellowLEDs, AmpelLEDs);
// Grüne LEDs einschalten
turnOnLEDs(greenLEDs, AmpelLEDs);
delay(200); // Warte 2 Sekunden
// Grüne LEDs ausschalten
turnOffLEDs(greenLEDs, AmpelLEDs);
}
void turnOnLEDs(int leds[], int num) {
for (int i = 0; i < num; i++) {
analogWrite(leds[i], 255); // Vollhelligkeit für die LEDs
}
}
void turnOffLEDs(int leds[], int num) {
for (int i = 0; i < num; i++) {
analogWrite(leds[i], 0); // LEDs ausschalten
}
}
void gleichzeitigBlinken(int LEDs[], int pin1, int pin2) {
for (int i = 0; i < numLEDs; i++) {
if (i == pin1 || i == pin2) {
digitalWrite(LEDs[i], HIGH);
}
}
delay(200); // Beispiel: LEDs für 1 Sekunde einschalten
for (int i = 0; i < numLEDs; i++) {
digitalWrite(LEDs[i], LOW);
}
}
Hallo Halswirbelstrom leider ist keine Aufschrift mehr zu sehen, dann muss ich mich wohl bei der Glas-Durchsicht verwechselt haben, ich werde mit dem Röhrenprüfgerät nochmal mal alle pins Durchmessen. Danke für die Msg.