Henry-Galleguillos

Robot.ino - Implementacion Arduino

Oct 19th, 2020
1,352
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int L=8;      //Control de movimiento
  2. int R=9;
  3. int input=0;  //Señal de direccion
  4. int D=20;     //Entrada de Sensores
  5. int T=21;
  6. int L1=22;
  7. int L2=23;
  8.  
  9. void setup(){
  10.     Serial.begin(9600);
  11.     pinMode(L, OUTPUT);   //Salidas que van al motor que tambien seran censadas
  12.     pinMode(R, OUTPUT);
  13.     pinMode(D, INPUT);    //Sensores Delantero, Trasero y Laterales
  14.     pinMode(T, INPUT);
  15.     pinMode(L1, INPUT);
  16.     pinMode(L2, INPUT);
  17. }
  18.  
  19. void loop(){
  20.     if (Serial.available()){        //SISTEMA DE CONTROL DE DESPLAZAMIENTO SIN ROTACION
  21.                                     //Se implemente para obtener el control mediante dos bits L y R
  22.      
  23.         if (input=='1'){            //Si recibe la señal 1 el robot acelera
  24.         digitalWrite(L, LOW);
  25.         digitalWrite(R, HIGH);
  26.         Serial.print("Acelerando");
  27.         }        
  28.         else if (input=='2'){        //Si recibe la señal 2 el robot retrocede
  29.         digitalWrite(L, HIGH);
  30.         digitalWrite(R, LOW);
  31.         Serial.print("Retrocediendo");
  32.         }        
  33.         else if (input=='0'){        //Si recibe la señal 0 detiene los motores y el robot para
  34.         digitalWrite(L, LOW);
  35.         digitalWrite(R, LOW);
  36.         Serial.print("STOP");
  37.         }
  38.         delay(50);
  39.     }
  40.  
  41.     if (Serial.available()){        //RESPUESTA A PROBLEMAS PRESENTADOS
  42.      
  43.           if ( (R&&D) == HIGH ){              //Acelerar (R)AND(D) Delantero
  44.           Serial.print("COLISION ADELANTE!");
  45.           }
  46.           else if ( (L&&T) == HIGH ){         //Retroceder (L)AND(T) Trasero
  47.           Serial.print("COLISION ATRAS!");
  48.           }
  49.           else if ( (L1||L2) == HIGH ){      //Izquierda (L1)OR(L2) Derecha
  50.           Serial.print("COLISION LATERAL!");
  51.           }
  52.           else if ( ((L1||L2)||(D||T)) && (!(L||R))  == HIGH ){    // (OR de todos los sensores)AND(Motor detenido)
  53.           Serial.print("DETENIDO Y EN PELIGRO!");
  54.           }      
  55.     delay(50);
  56.     }    
  57. }
RAW Paste Data