//warnblinkparklicht-sapo-sketch int a = 300; // Schwellenwert für Spannung an analogen Pins int wbana = 0; // Wert für Berechnung Warnblinker und Blinker int zuena = 0; // Wert für Berechnung Warnblinker und Blinker int blila = 0; // Wert für Berechnung Warnblinker und Blinker int blilb = 0; // Wert für Berechnung Warnblinker und Blinker int blira = 0; // Wert für Berechnung Warnblinker und Blinker int blirb = 0; // Wert für Berechnung Warnblinker und Blinker const unsigned long onZeitb = 400; //ms normales Blinken const unsigned long offZeitb = 400; //ms normales Blinken const unsigned long onZeitw = 350; //ms Warnblinken const unsigned long offZeitw = 250; //ms Warnblinken void setup() { pinMode(4, OUTPUT); // Ausgang Blinker links pinMode(5, OUTPUT); // Ausgang Blinker rechts pinMode(6, OUTPUT); // Ausgang Warnblinkkontrolllampe pinMode(7, OUTPUT); // Ausgang Standlicht vorne links pinMode(8, OUTPUT); // Ausgang Standlicht vorne rechts pinMode(9, OUTPUT); // Ausgang Rückleuchte links pinMode(10, OUTPUT); // Ausgang Rückleuchte rechts pinMode(11, OUTPUT); // Ausgang Kennzeichenbeleuchtung digitalWrite(4, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(5, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(6, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(7, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(8, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(9, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(10, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten digitalWrite(11, HIGH); // beim Einschalten der Autobatterie erst einmal alles ausschalten //Serial.begin(9600); // wird nur zur testweisen Anzeige am Bildschirm benötigt } void loop() { int zuend = analogRead(A0); // Eingang von Zündung int licht = analogRead(A1); // Eingang von Licht int blili = analogRead(A2); // Eingang von Blinkschalter links int blire = analogRead(A3); // Eingang von Blinkschalter rechts int warnb = analogRead(A4); // Eingang von Warnblinkschalter int ruels = analogRead(A5); // Eingang von Rücklichtschalter if (warnb > a) { // wenn Warnblinkschalter an ist wbana = 400; blila = 400; blira = 400; digitalWrite(6, (millis()%(onZeitw+offZeitw)) a && blilb > a ){ // Blinker links mit Zündung an normal digitalWrite(4, (millis()%(onZeitb+offZeitb)) a && blilb > a && warnb > a){ // Blinker links als Warnblinker digitalWrite(4, (millis()%(onZeitw+offZeitw)) a && blirb > a){ // Blinker rechts mit Zündung an normal digitalWrite(5, (millis()%(onZeitb+offZeitb)) a && blirb > a && warnb > a){ // Blinker rechts als Warnblinker digitalWrite(5, (millis()%(onZeitw+offZeitw)) a && blili <= a && blire <= a) { // Lichter komplett an ohne Blinker digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (licht > a && warnb > a) { // Lichter komplett an bei Warnblinker digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (licht > a && zuend <= a) { // Lichter komplett an auch wenn Zündung aus digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (licht > a && blili > a && zuend > a && warnb <= a) { // kein Licht vorne links beim Blinken links digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (licht > a && blire > a && zuend > a && warnb <= a) { // kein Licht vorne rechts beim Blinken rechts digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (licht <= a) { // Lichter komplett aus wenn Lichtschalter aus digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); } if (blili > a && zuend <= a && licht <= a) { // Lichter nur links wenn Lichtschalter aus und Blinker links ohne Zündung digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, HIGH); } if (blire > a && zuend <= a && licht <= a) {// Lichter nur rechts wenn Lichtschalter aus und Blinker rechts ohne Zündung digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, HIGH); } if (blili > a && zuend <= a && licht <= a && warnb > a) // Lichter nur links wenn Lichtschalter aus und Blinker links und Zündung aus mit Warnblinker { digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, HIGH); } if (blire > a && zuend <= a && licht <= a && warnb > a) // Lichter nur rechts wenn Lichtschalter aus und Blinker rechts und Zündung aus mit Warnblinker { digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, HIGH); } //Serial.println(zuend); // wird nur zur testweisen Anzeige am Bildschirm benötigt //Serial.print(licht); // wird nur zur testweisen Anzeige am Bildschirm benötigt //Serial.print(blili); // wird nur zur testweisen Anzeige am Bildschirm benötigt //Serial.print(blire); // wird nur zur testweisen Anzeige am Bildschirm benötigt //Serial.print(warnb); // wird nur zur testweisen Anzeige am Bildschirm benötigt //Serial.print(ruels); // wird nur zur testweisen Anzeige am Bildschirm benötigt }