Min nionde projekt: Robotarm med Joystick sköld (4 / 6 steg)
Steg 4: Testa koden
Jag Välj sedan en knapp för att styra servo på klon. När jag trycker på en knapp, stänger de digitala signalen ändringarna 0 och klo; När jag släpper en knapp, den digitala signalen blir 1 och jordluckraren öppnar. Jag hänvisar till tabellen för PWM i sjunde projektet som följe:
Servo lägsta PWM rörelse högsta PWM rörelse
S1 500 höger 2500 vänster
S2 500 upp 2500 ner
S3 500 ner 2500 upp
S4 500 ner 2500 upp
S5 500 moturs 2500 medurs
S6 900 öppna klo 1700 nära klo
För att kontrollera servon med servo controller, måste vi veta kommandot och detta är i sin struktur som följer:
#P ........... T
Jag vill ha jordluckraren stänger i 1,5 sekund och vi kan skissa koden som följer:
#6P1700T1500
Servo styrning av jordluckraren är S6 och PWM stänga klo är 1700.
När jag trycker på en knapp, skickar Arduino kommandot till servo controller via seriell kommunikation. Servo controller läser det och det instruerar jordluckraren att stänga.
int A_button = 2;
int B_button = 3;
int C_button = 4;
int D_button = 5;
int E_button = 6;
int F_button = 7.
int Analog = 8.
int x_axis = A0;
int y_axis = A1;
void setup()
{
Serial.BEGIN(9600);
pinMode (A_button, indata);
pinMode (B_button, indata);
pinMode (C_button, indata);
pinMode (D_button, indata);
pinMode (E_button, indata);
pinMode (F_button, indata);
pinMode (Analog, indata);
}
void loop()
{
int A_button_state = digitalRead(A_button);
int B_button_state = digitalRead(B_button);
int C_button_state = digitalRead(C_button);
int D_button_state = digitalRead(D_button);
int E_button_state = digitalRead(E_button);
int F_button_state = digitalRead(F_button);
int Analog_state = digitalRead(Analog);
int x_axis_state = analogRead(x_axis);
int y_axis_state = analogRead(y_axis);
om (A_button_value == 1)
{
flytta (6, 900, 1500);
}
om (A_button_value == 0)
{
flytta (6, 1700, 1500);
}
}
void flytta (int servo, int position, int tid)
{
Serial.Print("#");
Serial.Print(servo);
Serial.Print("P");
Serial.Print(position);
Serial.Print("T");
Serial.println(Time);
Delay(Time);
}
Innan du lägger upp här koden, se till att båda pin 0 och 1 kopplas
från Joystick Shield. Annars misslyckas uppladdningen. Vi kan åter ansluta dessa två stift Joystick Shield igen efter skissen är uppladdad.
Nu kan du styra klon med bara en knapptryckning. Du kan också ändra koden i void loop() och testa knapparna en efter en.: D