sábado, 21 de julio de 2012

robot bipedo

La idea era poder fabricar un robot bípedo con la mínima cantidad de servos y usando solo los 5 conectores de la placa np05.
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