SAMSA II
An hexapod robot with 18 AX-12 servos, controlled by an Arduino Mega board.
It features advanced walking routines, full 3D body movement, etc.
C++ code developed using AVR Project IDE.
(c) 2011 by Pablo Gindel & Jorge Visca, Montevideo - Uruguay.
9. rutina principal generación gráficos 2D frame buffer actualización pantalla hardware (display) (bajo nivel) (alto nivel) Display matricial RGB 8x8 con firmware modificado Firmware original Firmware modificado colores 8 (1bit x color) 64 (2bit x color) modo de operación raw frame protocolo inteligente gráficos 2D no líneas, triángulos, cuadrados, círculos, etc. texto No ASCII completo animaciones No scroll (x, y), rotaciones, espejos, etc.
12. Sensor de “cuerdita” Potenciómetro Resorte Encoder magnético Pre-procesador (genera una interrupción cuando se mueve el sensor)
13.
14.
15. “ Subsistema” de movimiento hardware.cpp ISR (TIMER2_OVF_vect) Interrupt handler ax12.cpp setMultiPosVel () envia un mensaje SyncWrite a los motores events.cpp process () verifica el tiempo de los eventos y los ejecuta double ended queue add () agrega un evento mov_bajo_nivel.cpp set_coord () convierte los eventos en ángulos y duraciones destino ang_des [][] dur_des [][] alfabetagama () cinemática inversa ang_act [][] motor_update () determina qué motores deben ser actualizados