Étape 6: Codigo
Para controlar la rotación del servomoteur se debe enviar un pulso como señal fr milisegundos que determina su ángulo de rotación.
Standard de rotación : Para mantener el servomoteur fr 0 grados debe estar 1 milisegundos en la parte alta del pulso, 20 milisegundos en la parte baja. Para mantener el servomoteur fr 90 grados debe estar 1,5 milisegundos en la parte alta del pulso, 18,5 milisegundos en la parte baja. Para mantener el servomoteur fr 180 grados debe estar 2 milisegundos en la parte alta del pulso, 18 milisegundos en la parte baja.
El código es el siguiente :
#include
Mder servo ; Servo mizq ; Servo pieder ; Servo pieizq ; Cabeza de servo ;
int posmder = 0 ; int posmizq = 0 ; int pospder = 0 ; int pospizq = 0 ; int poscabeza = 0 ; int pos = 0 ;
int pos1 [] = {180,0,180,30,25} ;
int pos2 [] = {0,0,0,180,45} ;
int pos3 [] = {180,0,0,80,0,17} ;
int pos4 [] = {0,0,0,0,00} ;
int pos5 [] = {0,0,0,0,0} ;
void setup() {mder.attach(9) ; mizq.attach(12) ; pieder.attach(10) ; pieizq.attach(13) ; cabeza.attach(11);}
void loop() {}
pour (pos = 0; pos < = 20; pos += 1) {}
posmder = -45 + pos1 [pos] ;
retard (70) ; pospder = 0 + pos2 [pos] ;
retard (100) ; posmizq = -45 + pos3 [pos] ;
retard (80) ;
pospizq = 0 + pos4 [pos] ;
retard (50) ; poscabeza = -90 + pos5 [pos] ;
retard (50) ; MDER.Write (posmder) ; pieder.Write (pospder) ;
mizq.Write (posmizq) ; pieizq.Write (pospizq) ;
Cabeza.Write (poscabeza) ; Delay(2) ;
posmder = 90 - pos ; pospder = 180 - pos ;
posmizq = 90 - pos ; pospizq = 180 - pos ;
poscabeza = 90 - pos ; }
}