Guía de Usuario USBasp V3.0| HeTPro
5.1.10 CONTROL DE 6 SERVOMOTORES
Para entender este programa se tiene que comprender el uso del servomotor, para
usar un solo servomotor es conveniente usar el PWM visto en un ejemplo anterior,
pero en el caso cuando se requieren varios servomotores es necesario recurrir a
técnicas de programación, por lo tanto para controlar en este caso seis servomotores
se realizo por medio de software, generando los pulsos a través de cambios de estado
de los pines del puerto.
El control del selector de motor y de la posición está dada por el dip switch se realizo
de esa manera para no complicar el código con otras cosas y basarse en el control de
los servos, idealmente se puede conectar a la computadora o a otro micro para
optimizar nuestro control.
#include <AVR/io.h>
#include <util/delay.h>
int i,servo,posicion,s1=900,s2=900,s3=900,s4=900,s5=900,s6=900,bajo;
int main(void){
DDRC=0x00;
DDRD=0x00;
DDRB=0xFF;
while (1){
switch (PINC){
case 1:
s1=(4*PIND)+500; break;
case 2:
s2=(4*PIND)+500; break;
case 3:
63