El programa siguiente, hace que el robot Sanduino avance mientras detecta el suelo blanco. Cuando en el suelo detecta el color negro se detiene.
/* Programa: SanduinoBuscaNegro.ino
Autor: Julio Sandria (Enero 2015)
Taller de Robótica 2015
Robot Sanduino usando un sensor de luz
*/
int pinSensorLuz = 2;
int valorSensorLuz = 0;
int tAvanza = 50;
int tAlto = 40;
void setup() {
pinMode(pinSensorLuz,INPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
delay(3000);
}
void loop() {
valorSensorLuz = digitalRead(pinSensorLuz);
if( valorSensorLuz == 0 ) avanza(tAvanza);
alto(tAlto);
}
/* Se define la función avanza()
ms = tiempo en milisegundos */
void avanza(int ms) {
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(ms);
}
/* Se define la función alto()
ms = tiempo en milisegundos */
void alto(int ms) {
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
delay(ms);
}
Copia el programa en el software Adruino y cárgalo a la tarjeta Arduino del Robot Sanduino. El robot debe tener conectado el sensor de luz izquierdo al pin 2 de Arduino.
Prueba el robot colocándolo en una superficie blanca o clara y déjalo avanzar hacia un superficie negra u obscura.
Observa el uso de las funciones avanza() y alto(), las cuales permiten unir cierta funcionalidad que siempre se repite.
De este ejemplo se deriva el programa para el Robot Sanduino Seguidor de línea.