Si bien también se pueden usar los 8 conectores del PORTB (puerto de expansión) y los 8 conectores analógicos (PORTA), la meta era tener que tocar lo menos posible el código fuente C que usa icaro y no agregar mas electronica.
Robot de frente
Otra visión del robot
Detalle de los pies con los servos
Primeras pruebas de caminata.
En las primeras prueba, el robot solo caminaba para adelante. Después le agregue un sensor CNY70 para que detectara cuando esta cerca de una pared blanca y retrocediera.
Configuración para que el robot camine para adelante
Para que el robot camine hay que hacer una serie de 6 movimientos con una pausa mínima de 200 Ms, para que retroceda hay que repetir a la inversa los movimientos del servo
Configuración para que el robot gire
Como repetir cada uno de esos movimientos es muy incomodo y dificultaría la lectura del código final, para eso use llamadas a funciones.
Para hacer eso, grabamos nuestros bloques con la opción "guardar como función" dentro de la carpeta -función- de icaro-bloques (todavía es experimental pero funciona). Después usamos el bloque "incluir" para agregar esa función a nuestro código, y después para llamar a esa función, usamos los bloques "acción"
Robot que avanza y gira.
El paso siguiente fue ponerle un sensor cny70 para que detecte cuando choque con una pared blanca y retroceda.
Con un bloque "si".
Cuando el sensor cny70 toque una pared blanca retrocederá y girara a la izquierda.
Con el sensor cny70 en el frente
Vista de costado
Detalle del circuito del sensor con un cny70 y un CD40106
Vídeo del robot