//Yahya
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
float cm;
float inches;
int LED = 4;
int Left = 5;
int Right = 6;
int Servo = 9;
int LEDr = 11;
int LEDg = 10;
int LEDb = 9;
int value = 0;
int potpin = 0;
long readUltrasonicDistance(int triggerPin = 3, int echoPin = 2)
{
long Entfernung = 0;
pinMode(triggerPin, OUTPUT);
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
long Zeit = pulseIn(echoPin, HIGH);
return Entfernung = (Zeit/2)* 0.03432;
}
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.print(" --> Entfernung <--");
delay(1000);
lcd.clear();
pinMode(LED, OUTPUT);
pinMode(LEDr, OUTPUT);
pinMode(LEDg, OUTPUT);
pinMode(LEDb, OUTPUT);
pinMode(Left, INPUT_PULLUP);
pinMode(Right, INPUT_PULLUP);
}
void Print()
{
Serial.print("Inches ");
Serial.print(inches, 1);
Serial.print(" \t ");
Serial.print("cm ");
Serial.println(cm, 1);
lcd.setCursor(0,0);
lcd.print("Inches ");
lcd.setCursor(4,0);
lcd.setCursor(15,0);
lcd.print("cm ");
lcd.setCursor(1,1);
lcd.print(inches, 1);
lcd.setCursor(15,1);
lcd.print(cm, 1);
lcd.setCursor(14,1);
delay(2000);
lcd.clear();
}
void re()
{
cm = readUltrasonicDistance();
inches = (cm / 2.54);
}
void loop()
{
if(digitalRead(Right) == HIGH)
{
digitalWrite(LED, HIGH);
delay(1000);
re();
Print();
}
else
{}
if(digitalRead(Left) == HIGH)
{
digitalWrite(LED, LOW);
lcd.setCursor(0,0);
lcd.print("LED is Off");
}
else
{}
if(digitalRead(Left) == HIGH && digitalRead(Right) == LOW)
{
value = analogRead(potpin);
value = map(value, 0, 1023, 0, 255);
analogWrite(LEDr, value);
lcd.setCursor(0,2);
lcd.print("RGP-LED =");
lcd.setCursor(10,2);
lcd.print(value);
}
}