Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- int EingangsWert = 3;
- const byte rxPin_B = 12;
- const byte txPin_B = 13;
- SoftwareSerial mySerial_B = SoftwareSerial(rxPin_B, txPin_B); //Bluetoothschnittstelle
- //Welches Signal an welchem Pin
- #define TaktImpuls 2 //an diesem Pin in Kombination mit Blitzlichtern an, kann man den Blitzmode umschalten
- #define FrontBl 3
- #define SwWeit 4
- #define FrontOg 5 //analogPin für Anpassung Helligkeit
- #define SeitenOg 6 //analogPin für Anpassung Helligkeit
- #define FrontGb 7
- #define HeckGb 8
- #define SeitenWs 9
- #define SwPolar 10
- #define SwBreit 11 // analogPin für Anpassung Heligkeit über Standlichtwert
- //Welcher EingangsWert welche Funktion auslöst
- #define Z_Aus 0
- #define Z_TFL 1
- #define Z_SwBreit 2
- #define Z_SwBreit_SwWeit 3
- #define Z_SwBreit_SwWeit_SwPolar 4
- #define Z_SeitenWs_AN 5
- #define Z_SeitenWs_AUS 6
- #define Z_FrontBl_AN 7
- #define Z_FrontBl_AUS 8
- #define Z_FrontGb_AN 9
- #define Z_FrontGb_AUS 'A'
- #define Z_HeckGb_AN 'B'
- #define Z_HeckGb_AUS 'C'
- #define Z_FrontOg_AN 'D'
- #define Z_FrontOg_AUS 'E'
- #define Z_SeitenOg_AN 'F'
- #define Z_SeitenOg_AUS 'G'
- int
- //Ausgangszustand bei Programmstart
- int Z_Frontscheinwerfer = Z_TFL; //Ausgangszustand alle Zusatzscheinwerfer und Tagfahrlicht
- int Z_SeitenWs = Z_SeitenWs_AUS; //Ausgangszustand SeitenWs auf LOW
- int Z_FrontBl = Z_FrontBl_AUS; //Ausgangszustand SeitenBl auf LOW
- int Z_FrontGb = Z_FrontGb_AUS; //Ausgangszustand FrontGb auf LOW
- int Z_HeckGb = Z_HeckGb_AUS; //Ausgangszustand HeckGb auf LOW
- int Z_FrontOg = Z_FrontOg_AUS; //Ausgangszustand SeitenBl auf LOW
- int Z_SeitenOg = Z_SeitenOg_AUS; //Ausgangszustand SeitenBl auf LOW
- int LDRPin = A1;
- int LDRWert = 0;
- int TagNacht = 300; //bei welcher Helligkeit TagNacht unterschieden wird
- int TagModus = 0;
- int Standlichtwert = 45; //Wie hell ein Paar Scheinwerfer im TagModus als Tagfahrlicht mitleuchen
- int K15Pin = A0; //Hier wird K15 Zustand eingelesen
- int FernLichtPin = A2; //Hier wird aufblend Zustand eingelesen
- int Zuendung = 0;
- int FernLicht = 0;
- int Intervall = 200; //Blinkintervall im TagMode-Code
- unsigned long vorigeMillis = 0;
- unsigned long aktuellMillis = 0;
- bool PolarStatus = 0;
- //__________________________________________________________________________________________________________________________
- void setup() {
- Serial.begin(9600); //serieller Monitor wird gestartet, Baudrate auf 9600 festgelegt
- mySerial_B.begin(9600); //meine serielle Schnittstelle B wird geöffnet- Bluetooth
- pinMode(2, OUTPUT); //Impuls für Blinksequenz (Siehe Zeile 104 auf Low bis Softwareanpassung)
- pinMode(3, OUTPUT); //blau Endstufe U6
- pinMode(4, OUTPUT); //weit Endstufe U2
- pinMode(5, OUTPUT); //FrontOg Endstufe U4
- pinMode(6, OUTPUT); //SeiteOg Endstufe U3
- pinMode(7, OUTPUT); //FrontGb Endstufe U5
- pinMode(8, OUTPUT); //HintenGb Endstufe O4
- pinMode(9, OUTPUT); //SeiteWs Endstufe O3
- pinMode(10, OUTPUT); //polar Endstufe O1&O2
- pinMode(11, OUTPUT); //breit Endstufe U1
- pinMode(A0, INPUT); //K15Pin Kabel gelb Spannungsteiler 1
- pinMode(A2, INPUT); //FernLicht Kabel weiß Spannungsteiler 2
- pinMode(A1, INPUT); //LDRSensor
- pinMode(rxPin_B, INPUT);
- pinMode(txPin_B, OUTPUT);
- }
- //____________________________________________________________________________________________________________________________
- void loop() {
- digitalWrite(TaktImpuls, HIGH);
- Zuendung = digitalRead(K15Pin);
- FernLicht = digitalRead(FernLichtPin);
- //______________________________________________________________________________________________________________________________________________________
- Serial.print(" Wert über BT() ");
- Serial.print(mySerial_B.available());
- Serial.print(" Wert über Kabel() ");
- Serial.print(Serial.read());
- Serial.print(", Zuendung: ");
- Serial.print(Zuendung);
- Serial.print(", FernLicht: ");
- Serial.print(FernLicht);
- Serial.print(", EingangsWert: ");
- Serial.println(EingangsWert);
- /*
- Serial.print(", LDR Wert: ");
- Serial.print(LDRWert);
- Serial.print(", TagModus: ");
- Serial.print(TagModus);
- */
- //_________________________________________________________________________________________________________________________________________________________
- if ((mySerial_B.available()) && (Zuendung == LOW)) { //wenn Zuendung HIGH und Werte über Bluetooth empfangen werden...
- EingangsWert = (int)mySerial_B.read(); //und in EingangsWert geschrieben werden
- }
- if ((Serial.available()) && (Zuendung == HIGH)) { //wenn Daten empfangen werden...
- EingangsWert = (int)Serial.read(); //...sollen diese ausgelesen werden
- }
- //____________________________________________________________________________________________________________________________
- LDRWert = analogRead(LDRPin); //Hier wird der Wert vom LDR eingelesen und in die Variable LDRWert geschrieben
- if (LDRWert > TagNacht) {
- TagModus = HIGH;
- } else {
- TagModus = LOW;
- }
- switch (Z_Frontscheinwerfer) {
- case Z_TFL:
- analogWrite(SwBreit, Standlichtwert);
- digitalWrite(SwWeit, LOW);
- digitalWrite(SwPolar, LOW);
- if (EingangsWert == '1' && FernLicht == HIGH)
- Z_Frontscheinwerfer = Z_SwBreit;
- if (EingangsWert == '2' && FernLicht == HIGH)
- Z_Frontscheinwerfer = Z_SwBreit_SwWeit;
- if (EingangsWert == '3' && FernLicht == HIGH)
- Z_Frontscheinwerfer = Z_SwBreit_SwWeit_SwPolar;
- if (EingangsWert == '0' || Zuendung == LOW)
- Z_Frontscheinwerfer = Z_Aus;
- break;
- case Z_SwBreit:
- analogWrite(SwBreit, 255);
- digitalWrite(SwWeit, LOW);
- digitalWrite(SwPolar, LOW);
- if (FernLicht == LOW)
- Z_Frontscheinwerfer = Z_TFL;
- Serial.print(" (1 Paar dazu) ");
- break;
- case Z_SwBreit_SwWeit:
- analogWrite(SwBreit, 255);
- digitalWrite(SwWeit, HIGH);
- digitalWrite(SwPolar, LOW);
- if (FernLicht == LOW)
- Z_Frontscheinwerfer = Z_TFL;
- Serial.print(" (2 Paar dazu) ");
- break;
- case Z_SwBreit_SwWeit_SwPolar:
- analogWrite(SwBreit, 255);
- digitalWrite(SwWeit, HIGH);
- digitalWrite(SwPolar, HIGH);
- if (FernLicht == LOW)
- Z_Frontscheinwerfer = Z_TFL;
- Serial.print(" (3 Paar dazu) ");
- break;
- case Z_Aus:
- analogWrite(SwBreit, LOW);
- digitalWrite(SwWeit, LOW);
- digitalWrite(SwPolar, LOW);
- Serial.print("Alles aus");
- if (Zuendung == HIGH && EingangsWert != '0')
- Z_Frontscheinwerfer = Z_TFL;
- break;
- }
- //**********************************************************************************************************//
- switch (Z_SeitenWs) {
- case Z_SeitenWs_AUS:
- digitalWrite(SeitenWs, LOW);
- if (EingangsWert == '5')
- Z_SeitenWs = Z_SeitenWs_AN;
- break;
- case Z_SeitenWs_AN:
- digitalWrite(SeitenWs, HIGH);
- if (EingangsWert == '6')
- Z_SeitenWs = Z_SeitenWs_AUS;
- break;
- }
- //*******************************************************************************************************//
- switch (Z_FrontBl) {
- case Z_FrontBl_AUS:
- digitalWrite(FrontBl, LOW);
- if ((EingangsWert == '7') || (EingangsWert == '20'))
- Z_FrontBl = Z_FrontBl_AN;
- break;
- case Z_FrontBl_AN:
- digitalWrite(FrontBl, HIGH);
- if ((EingangsWert == '8') || (EingangsWert == '21') || (EingangsWert == '50'))
- Z_FrontBl = Z_FrontBl_AUS;
- break;
- }
- //*******************************************************************************************************//
- switch (Z_FrontGb) {
- case Z_FrontGb_AUS:
- digitalWrite(FrontGb, LOW);
- if (EingangsWert == '9')
- Z_FrontGb = Z_FrontGb_AN;
- break;
- case Z_FrontGb_AN:
- digitalWrite(FrontGb, HIGH);
- if (EingangsWert == 'A')
- Z_FrontGb = Z_FrontGb_AUS;
- break;
- }
- //*******************************************************************************************************//
- switch (Z_HeckGb) {
- case Z_HeckGb_AUS:
- digitalWrite(HeckGb, LOW);
- if (EingangsWert == 'B')
- Z_HeckGb = Z_HeckGb_AN;
- break;
- case Z_HeckGb_AN:
- digitalWrite(HeckGb, HIGH);
- if (EingangsWert == 'C')
- Z_HeckGb = Z_HeckGb_AUS;
- break;
- }
- //*******************************************************************************************************//
- switch (Z_FrontOg) {
- case Z_FrontOg_AUS:
- digitalWrite(FrontOg, LOW);
- if (EingangsWert == 'D')
- Z_FrontOg = Z_FrontOg_AN;
- break;
- case Z_FrontOg_AN:
- analogWrite(FrontOg, 4); //Anpassung Helligkeit
- if ((EingangsWert == 'E') || (Zuendung == LOW))
- Z_FrontOg = Z_FrontOg_AUS;
- break;
- }
- //*******************************************************************************************************//
- switch (Z_SeitenOg) {
- case Z_SeitenOg_AUS:
- digitalWrite(SeitenOg, LOW);
- if (EingangsWert == 'F')
- Z_SeitenOg = Z_SeitenOg_AN;
- break;
- case Z_SeitenOg_AN:
- analogWrite(SeitenOg, 4); //Anpassung Helligkeit
- if ((EingangsWert == 'G') || (Zuendung == LOW))
- Z_SeitenOg = Z_SeitenOg_AUS;
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement