Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- char EingangsWert = '3';
- /*
- const byte rxPin_K = 2;
- const byte txPin_K = 3;
- SoftwareSerial mySerial_K = SoftwareSerial(rxPin_K, txPin_K); //Kabelschnittstelle
- */
- 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 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'
- //Ausgangszustand bei Programmstart
- int Z_Frontscheinwerfer = Z_TFL; //Ausgangszustand alle Zusatzscheinwerfer möglich auf HIGH und TFL HIGH
- 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 = A3;
- int LDRWert = 0;
- int TagNacht = 300; //bei welcher Helligkeit TagNacht unterschieden wird
- int TagModus = 0;
- int Standlichtwert = 2; //Wie hell ein Paar Scheinwerfer im TagModus als Tagfahrlicht mitleuchen
- int K15Pin = A0; //Hier wird K15 Zustand eingelesen
- int FernLichtPin = A1; //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_K.begin(9600); //meine serielle Schnittstelle A wird geöffnet- Fernbedienung
- mySerial_B.begin(9600); //meine serielle Schnittstelle B wird geöffnet- Bluetooth
- pinMode(3, OUTPUT); //blau
- pinMode(4, OUTPUT); //weit
- pinMode(5, OUTPUT); //FrontOg
- pinMode(6, OUTPUT); //SeiteOg
- pinMode(7, OUTPUT); //FrontGb
- pinMode(8, OUTPUT); //SeiteGb
- pinMode(9, OUTPUT); //SeiteWs
- pinMode(10, OUTPUT); //polar
- pinMode(11, OUTPUT); //breit
- pinMode(A0, INPUT); //K15Pin
- pinMode(A2, INPUT); //FernLicht
- pinMode(A3, INPUT); //LDRSensor
- //pinMode(rxPin_K, INPUT);
- //pinMode(txPin_K, OUTPUT);
- pinMode(rxPin_B, INPUT);
- pinMode(txPin_B, OUTPUT);
- }
- //____________________________________________________________________________________________________________________________
- void loop() {
- Serial.println(EingangsWert);
- Zuendung = digitalRead(K15Pin);
- FernLicht = digitalRead(FernLichtPin);
- /*
- if ((mySerial_K.available()) && (Zuendung == HIGH)) { //Wenn Zuendung HIGH und Werte vom Display empfangen werden...
- EingangsWert = mySerial_D.read(); //und in EingangsWert geschrieben werden
- }
- */
- if ((mySerial_B.available()) && (Zuendung == LOW)) { //wenn Zuendung LOW und Werte über Bluetooth empfangen werden...
- EingangsWert = mySerial_B.read(); //und in EingangsWert geschrieben 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;
- // Serial.println("TFL");
- break;
- case Z_SwBreit:
- analogWrite(SwBreit, 255);
- digitalWrite(SwWeit, LOW);
- digitalWrite(SwPolar, LOW);
- if (FernLicht == LOW)
- Z_Frontscheinwerfer = Z_TFL;
- Serial.println("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.println("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.println("3 Paar dazu");
- break;
- case Z_Aus:
- analogWrite(SwBreit, LOW);
- digitalWrite(SwWeit, LOW);
- digitalWrite(SwPolar, LOW);
- Serial.println("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')
- Z_FrontBl = Z_FrontBl_AN;
- break;
- case Z_FrontBl_AN:
- digitalWrite(FrontBl, HIGH);
- if (EingangsWert == '8')
- 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, 200); //Anpassung Helligkeit
- if (EingangsWert == 'E')
- 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, 200); //Anpassung Helligkeit
- if (EingangsWert == 'G')
- Z_SeitenOg = Z_SeitenOg_AUS;
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement