Page 48 - Armaturobot
P. 48
Nuestro robot deberá esperar 2 segundos
antes de comenzar a caminar, y también
deberá mover los brazos para caminar
con estilo, manteniendo los brazos
quietos cuando dé la vuelta. Al final de
su recorrido, deberá esperar 5 segundos
para que tengamos tiempo suficiente y
sujetarlo antes de que vuelva a comenzar.
Tomaremos la parte inicial de los
programas que hicimos anteriormente. La
única modificación será que agregaremos
la variable “t”, que nos servirá para asignar
cierto tiempo dentro de los delay. En caso
de necesitar cambiarla, solo tendremos
que ajustarla dentro de la declaración de
la variable y no en el programa completo.
Puedes notar que las variables que
usamos para el sensor ultrasónico
están declaradas, aunque no son
necesarias en este programa. Aunque
sí están declaradas, no afectarán el
funcionamiento del robot.
pinMode(mir,OUTPUT);
pinMode(mda,OUTPUT);
pinMode(mdr,OUTPUT);
smi.attach(6);
smi.attach(11);
pinMode(echo,INPUT);
pinMode(trig,OUTPUT);
}
En nuestro void loop (), agregaremos
un tiempo de espera de 2 segundos
para iniciar; posteriormente, activará los
motores para empezar a avanzar. Al igual
que en experimentos anteriores, dentro
de for colocaremos las sentencias para
que nuestro robot pueda levantar las
manos. Y por medio de las repeticiones
que pongamos dentro de for y del tiempo
que se encuentra dentro de los delay,
controlaremos la distancia que recorrerá
al momento de avanzar.
void loop() {
delay(2000);
digitalWrite(mia,HIGH);
digitalWrite(mda,HIGH);
for(i=0;i<6;i++)
#include <Servo.h>
Servo smi;
Servo smd;
int mia=3;
int mir=2;
int mda=4;
int mdr=5;
int i;
int trig=10;
int echo=9;
int distancia;
int duracion;
int t=1600;
void setup() {
pinMode(mia,OUTPUT);
{
smi.write(90);
smd.write(0);
delay(500);
smd.write(180);
smi.write(90);
delay(500);
}
Una vez que hemos logrado que nuestro
robot avance, será momento de que
se detenga y comience a girar. Por eso,
nos basaremos en lo que hicimos en el
46