 #include <Ultrasonic.h>
Ultrasonic ultrasonic(8,9); // назначаем выходы для Trig и Echo
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1;
int r1=3;//IN3
int r2= 6;//IN4
int l1=4;//IN2
int l2=5;//IN1
int DL=A4;
int IK=7;
int skp=10;         
int skl=11;
 int skorp=13;
 int skorl=13;
 



void setup() {
pinMode(l1,OUTPUT); 
pinMode(l2,OUTPUT);
pinMode(r1,OUTPUT); 
pinMode(r2,OUTPUT); 
Serial.begin(9600);
pinMode(DL, INPUT);
pinMode(IK, INPUT);
servo1.attach(A1);
pinMode(skp, OUTPUT);
pinMode(skl, OUTPUT);
servo1.write(0);
Serial.begin(9600);
delay(5500); 
vpered();
delay(1000);
nastop();

}


void loop() {
 
 
if(ultrasonic.Ranging(CM)+1<30) {vpered();}
if (analogRead(DL)<500) {nazad();delay(600) ; nalevo(); delay(1000);} 
if (digitalRead(IK)==0){servo1.write(45);delay(200);} else {servo1.write(0); }
 
  
  

 

 /*  servo1.write(0); // ставим угол поворота под 0
   delay(2000); // ждем 2 секунды

   servo1.write(90); // ставим угол поворота под 90
   delay(2000); // ждем 2 секунды

   servo1.write(180); // ставим угол поворота под 180
   delay(2000); // ждем 2 секунды
   
//int IKD=digitalRead(IK);*/

//Serial.println(line ); 
/*vpravo();
delay (100);
//nastop ();
delay (50);
//vpered(); 
delay (100);
//nastop ();
delay (50);

 

if (line<120) {
  nazad(); delay (600);
  nalevo(); delay (600); } 
  else {
    vpered();
    if (dist<7) {servo1.write(45);delay(50);} else {servo1.write(5);delay(50);}}

//  while (dist<75 || IKD==0) {vpered();skorp=255;skorl=255; int dist=ultrasonic.Ranging(CM); 
          
          

*/
  



//Serial.println(ultrasonic.Ranging(CM)); // выводим расстояние в сантиметрах
//Serial.println(analogRead(DL));
Serial.println(digitalRead(IK));


}



void nazad (){
  digitalWrite(r1,LOW); 
digitalWrite(r2,HIGH);
digitalWrite(l1,HIGH); 
digitalWrite(l2,LOW);

}
void vpered (){
  digitalWrite(r1,HIGH); 
digitalWrite(r2,LOW);
digitalWrite(l1,LOW); 
digitalWrite(l2,HIGH);

}
void nalevo(){
  digitalWrite(r1,HIGH); 
digitalWrite(r2,LOW);
digitalWrite(l1,HIGH); 
digitalWrite(l2,LOW);



}
void napravo(){
  digitalWrite(r1,LOW); 
digitalWrite(r2,HIGH);
digitalWrite(l1,LOW); 
digitalWrite(l2,HIGH);




}
void nastop(){
  digitalWrite(r1,LOW); 
digitalWrite(r2,LOW);
digitalWrite(l1,LOW); 
digitalWrite(l2,LOW);
}
