int ENA =2;
int in1 =3;
int in2 =4;
int Trig =5;
int Echo=6;
int button1 =7;
int button2 =8;
int button3 =9;
int button4 =10;
int button5=11;
int button6=12;
int ir1=13;
int ir2=A1;
int ir3=A2;
int ledblue=A3;
int ledvert=14;
int ledjaune=15;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
#include <Servo.h>
Servo monservo;
void setup() {
monservo.attach(A0);
pinMode(ledvert,OUTPUT);
pinMode(ledblue,OUTPUT);
pinMode(ledjaune,OUTPUT);
pinMode(ENA,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(Trig,OUTPUT);
pinMode(button1,INPUT);
pinMode(button2,INPUT);
pinMode(button3,INPUT);
pinMode(button4,INPUT);
pinMode(button5,INPUT);
pinMode(button6,INPUT);
pinMode(Echo,INPUT);
pinMode(ir1,INPUT);
pinMode(ir2,INPUT);
pinMode(ir3,INPUT);
lcd.init();
lcd.backlight();
Serial.begin(9600);
}
void loop() {
int buttonin1=digitalRead(button1);
int buttonin2=digitalRead(button2);
int buttonin3=digitalRead(button3);
int buttonout1=digitalRead(button4);
int buttonout2=digitalRead(button5);
int buttonout3=digitalRead(button6);
int iretage1=digitalRead(ir1);
int iretage2=digitalRead(ir2);
int iretage3=digitalRead(ir3);
Serial.print(buttonin1);
Serial.print(buttonin2);
Serial.print(buttonin3);
Serial.print(buttonout1);
Serial.print(buttonout2);
Serial.print(buttonout3);
Serial.print(iretage1);
Serial.print(iretage2);
Serial.print(iretage3);
digitalWrite(Trig,HIGH);
delay(50);
digitalWrite(Trig,LOW);
delay(50);
int distance=pulseIn(Echo,HIGH);
int duration=distance*0.034/2;
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2--){
if(iretage2==1){
analogWrite(ENA,0);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(ledblue,LOW);
digitalWrite(ledjaune,HIGH);
digitalWrite(ledvert,LOW);
monservo.write(x1);
delay(10000);
monservo.write(x2);
analogWrite(ENA,95);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
}
}
if(buttonin2==1 && distance>1){
lcd.setCursor(0,0);
lcd.print("etage1");
monservo.write(x2);
analogWrite(ENA,95);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2--){
if(iretage3==1){
analogWrite(ENA,0);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(ledblue,LOW);
digitalWrite(ledjaune,LOW);
digitalWrite(ledvert,HIGH);
monservo.write(x1);
lcd.clear();
delay(10000);
monservo.write(x2);
analogWrite(ENA,95);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
}
}
if(buttonin3==1 && distance>1){
lcd.setCursor(0,0);
lcd.print("etage2");
monservo.write(x2);
analogWrite(ENA,95);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2--){
if(iretage1==1){
analogWrite(ENA,0);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(ledblue,HIGH);
digitalWrite(ledjaune,LOW);
digitalWrite(ledvert,LOW);
monservo.write(x1);
lcd.clear();
delay(10000);
monservo.write(x2);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2--){
if(buttonin1==1 && distance>1){
lcd.setCursor(0,0);
lcd.print("etage0");
monseervo.write(x2);
analogWrite(ENA,95);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2-- ){
if(buttonout1==1 && distance>1){
analogWrite(ENA,95);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
monservo.write(x1);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2-- ){
if(buttonout2==1 && distance>1){
analogWrite(ENA,95);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
monservo.write(x1);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2-- ){
if(buttonout3==1 && distance>1){
analogWrite(ENA,95);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
monservo.write(x1);
}
}
}
for(int x1=0; x1<=180; x1++){
for(int x2=180; x2>=0; x2-- ){
if(distance<1){
monservo.write(x1);
delay(10000);
monservo.write(x2);
delay(10000);
}
}
}
}