Advertisement
Kl43z

ROBOT_Listo

Nov 5th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #define UMBRAL 60
  2. #define DIST_PARED 15
  3. sub Giro180(){ //Función Utilizada para girar el robot:
  4. Off(OUT_AB); //Detiene ambas ruedas.
  5. OnFwd(OUT_A,50);
  6. OnRev(OUT_B,47); //Mueve ambas ruedas en distintas direcciones para conseguir el giro
  7. Wait(400); //durante La cantidad de tiempo indicada
  8. }
  9.  
  10. task main(){
  11. SetSensorLight (IN_2);
  12. SetSensorLowspeed (IN_4); //Se inicializan los sensores.
  13.  
  14. while (TRUE){ //Se declara un ciclo infinito para que el robot efectúe las acciones indicadas indefinidamente.
  15. if (SensorUS(IN_4)<=DIST_PARED) { //Se comprueba la distancia con la pared; De ser menor a la programada:
  16. Off(OUT_AB);
  17. Wait(1000);
  18. OnRev(OUT_AB,50); //Se efectúa un leve retroceso para preparar un giro mas correcto.
  19. Wait(400);
  20. Giro180(); //Llamada a la función para efectuar el giro.
  21. Wait(1000);
  22. }
  23. else {
  24. if(SENSOR_2<=UMBRAL){ //Se compara el lector del sensor de luz en valor de UMBRAL:
  25. Off(OUT_AB); //Si es menor, asumira que es negro y moverá una sola rueda.
  26. OnFwd(OUT_A,40);
  27. OnFwd(OUT_B,0);
  28. }
  29. else{ //De lo contrario, asumira que es blanco y moverá la otra rueda.
  30. Off(OUT_AB);
  31. OnFwd(OUT_B,40);
  32. OnFwd(OUT_A,0);
  33. }
  34.  
  35. }
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement