Page 44 - Armaturobot
P. 44
3. 4. del programa. Recuerda las otras
dos variables que utilizamos para
transformar la distancia.
int trig=10;
int echo=9;
int distancia;
int duracion;
2. Establezcamos cómo funcionarán
dentro del programa. Vamos al void
setup ().
pinMode(echo,INPUT);
pinMode(trig,OUTPUT);
Empieza a escribir el void loop
(), borrando lo que tienes ahí al
igual que en los casos anteriores.
Para empezar, activa el sensor
ultrasónico (recuerda que tendrás
que generar un pulso con el pin que
va a Trigger).
void loop() {
digitalWrite(trig,HIGH);
delay(1);
digitalWrite(trig,LOW);
Transforma lo que está adquiriendo
el sensor en una distancia en
centímetros. Con esto, terminarás
de configurar y activar el sensor
ultrasónico.
duracion=pulseIn(echo,HIGH);
distancia=duracion/58.2;
5. Es momento de indicarle al
programa lo que debe hacer con esa
información, y para ello utilizaremos
la sentencia if. Como nos interesa
que nuestro robot levante los brazos
cuando se encuentre a menos
de 10 cm de cualquier objeto,
estableceremos la sentencia de la
siguiente manera.
if(distancia<10) {
smi.write(90);
smd.write(90);
}
6. ¿Qué ocurrirá cuando se trate de una
distancia mayor a 10 cm? Podemos
incluir una sentencia else, que nos
ayudará a definir qué sucederá
mientras no se cumpla el if del inicio.
else{
smi.write(180);
smd.write(0);
}
Al final de la sentencia else, tendrás que
agregar un último delay de 200, con el
objetivo de darle tiempo al programa
para que lea toda la información
y sepa qué hacer (de otra forma,
podría “volverse loco” y no funcionar
correctamente).
Recuerda que el punto inicial del brazo
izquierdo es 180 grados y del derecho
es 0.
42