Stap 6: Codigo
Para controlar la rotación del servomotor se debe enviar un pulso como Sal nl milisegundos que Bepaal su ángulo de rotación.
Standaard de rotación: Para mantener seguroparagraaf el servomotor nl 0 grados debe estar 1 milisegundos nl la parte alta del pulso, 20 milisegundos nl la parte baja. Para mantener seguroparagraaf el servomotor nl 90 grados debe estar 1.5 milisegundos nl la parte alta del pulso, 18.5 milisegundos nl la parte baja. Para mantener seguroparagraaf el servomotor nl 180 grados debe estar 2 milisegundos nl la parte alta del pulso, 18 milisegundos nl la parte baja.
El código es el siguiente:
#include
Servo mder; Servo mizq; Servo pieder; Servo pieizq; Servo cabeza;
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 {}
voor (pos = 0; pos < = 20; pos += 1) {}
posmder =-45 + pos1 [pos];
vertraging (70); pospder = 0 + pos2 [pos];
vertraging (100); posmizq =-45 + pos3 [pos];
vertraging (80);
pospizq = 0 + pos4 [pos];
vertraging (50); poscabeza =-90 + pos5 [pos];
vertraging (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; }
}