#include #include LiquidCrystal_I2C lcd(0x20,16,2); int linkse_knop = 2; int rechtse_knop = 3; int linkse_led = 4; int rechtse_led = 5; int richting_knop = 6; int wagen_led = 7; int waarde1 = LOW; int waarde2 = LOW; int waarde3 = LOW; void setup() { pinMode(linkse_knop, INPUT); pinMode(rechtse_knop, INPUT); pinMode(linkse_led, OUTPUT); pinMode(rechtse_led, OUTPUT); pinMode(richting_knop, INPUT); pinMode(wagen_led, OUTPUT); Serial.begin(9600); lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("monitor display"); delay(3000); lcd.clear(); } void loop() { waarde1 = digitalRead(linkse_knop); waarde2 = digitalRead(rechtse_knop); waarde3 = digitalRead(richting_knop); if (waarde3 == LOW) { if (( waarde1 == HIGH) && (waarde2 == LOW)) { digitalWrite(linkse_led,HIGH); delay(1); digitalWrite(linkse_led,LOW); Serial.write(50); lcd.setCursor(0,0); lcd.print("links vooruit "); } if (( waarde1 == LOW) && (waarde2 == HIGH)) { digitalWrite(rechtse_led,HIGH); delay(1); digitalWrite(rechtse_led,LOW); Serial.write(65); lcd.setCursor(0,0); lcd.print("rechts vooruit "); } if (( waarde1 == HIGH) && (waarde2 == HIGH)) { digitalWrite(linkse_led,HIGH); digitalWrite(rechtse_led,HIGH); delay(1); digitalWrite(linkse_led,LOW); digitalWrite(rechtse_led,LOW); Serial.write(70); lcd.setCursor(0,0); lcd.print("vooruit "); } if (( waarde1 == LOW) && (waarde2 == LOW)) { Serial.write(40); lcd.setCursor(0,0); lcd.print("stop "); } } if (waarde3 == HIGH) { if (( waarde1 == HIGH) && (waarde2 == LOW)) { digitalWrite(linkse_led,HIGH); delay(100); digitalWrite(linkse_led,LOW); Serial.write(80); lcd.setCursor(0,0); lcd.print("links achteruit "); } if (( waarde1 == LOW) && (waarde2 == HIGH)) { digitalWrite(rechtse_led,HIGH); delay(100); digitalWrite(rechtse_led,LOW); Serial.write(30); lcd.setCursor(0,0); lcd.print("rechts achteruit"); } if (( waarde1 == HIGH) && (waarde2 == HIGH)) { digitalWrite(linkse_led,HIGH); digitalWrite(rechtse_led,HIGH); delay(100); digitalWrite(linkse_led,LOW); digitalWrite(rechtse_led,LOW); Serial.write(20); lcd.setCursor(0,0); lcd.print("achteruit "); } if (( waarde1 == LOW) && (waarde2 == LOW)) { Serial.write(10); lcd.setCursor(0,0); lcd.print("stop "); } } delay(100); } void serialEvent(){ // while (Serial.available()) { int wagenafstand=Serial.read(); if ((wagenafstand==90)) { digitalWrite(wagen_led,HIGH); // delay(1000); //digitalWrite(wagen_led, LOW); lcd.setCursor(0,1); lcd.print("!"); delay(100); } else { digitalWrite(wagen_led, LOW); lcd.setCursor(0,1); lcd.print(" "); } } // }