En enkel och mycket lätt inverterad pendel balansera Robot (9 / 11 steg)
Steg 9: Driva inverterad Robot via Serial Monitor
Nu har du en inverterad balanserande robot. Så låt oss Kontrollera det genom seriella monitor. Du kan göra den vända höger/vänster och gå framåt/bakåt.
- Uppdatera den modifierade prov program fått i steg 8 enligt uppgifterna nedan
- Ladda upp den uppdaterade en till arduino använder IDE
- efter uppladdning, starta seriell övervaka från IDE
- Välj 'Newline' och "115200 baud" på nedre högra hörnet av serial monitor
- lämna robot fortfarande som för 5 sekunder
- gör inverterad robot balansera sig enligt steg 6 (utan ett finger stöd i raderna 8 och 10)
- ingående numeriska värden i övre vänstra fönstret serial monitor och tryck på [Enter]
- se åtgärder eller ändring av din robot
[tutorial för steg 9]
[not 7]
Du kan styra din robot dynamiskt av seriell monitor från PC via USB-kabel. Till exempel du ingång "00" i serial monitor fönster och tryck på [Enter] får-tangenten och sedan robot '0' och '0' separat. Därför visar det vid en regelbunden vinkeln under två gånger utan att stanna.
- en '0' skickade gör robot sväng höger vid en regelbunden vinkel på plats
- en '1' skickade gör robot sväng vänster vid en regelbunden vinkel på plats
- ett antal (n) '2' skickade gör robot accelerera framåt i förhållande till antalet (n)
- ett antal (n) '3' skickade gör robot påskynda bakåt i förhållande till antalet (n)
[en uppdatering på prov skissen (för 4 platser)]
1) Kopiera följande 5 rader och klistra in dem mellan linjerna 17 och 18 i modifierade sketchen fått i steg 8.
flyktiga int drct = 0;
flyktiga boolean höger = false;
flyktiga boolean vänster = false;
flyktiga int fwdBck = 0;
Copyright (C) 2014 ArduinoDeXXX alla rättigheter reserverade.
(2) Kopiera följande 26 rader och klistra in dem över linje 32 i modifierade sketchen fått i steg 8, dvs ersätta dessa rader för "om (power > 0) {".
om (Serial.available()) {
drct = Serial.read();
Serial.println(drct);
}
om (drct == 48) {höger = sant;}
annat if (drct == 49) {vänster = sant;}
annat if (drct == 50) {fwdBck ++; drct = 0;}
annat if (drct == 51) {fwdBck--; drct = 0;}
om (just == true) {
analogWrite (6, 140);
digitalWrite (4, hög).
digitalWrite (5, låg);
analogWrite (9, 140);
digitalWrite (7, låg);
digitalWrite 8, hög.
Delay(40);
} else om (vänster == true) {
analogWrite (6, 140);
digitalWrite (4, låg);
digitalWrite 5, hög,
analogWrite (9, 140);
digitalWrite (7, hög).
digitalWrite (8, låg);
Delay(40);
} else om (power > 0) {
Copyright (C) 2014 ArduinoDeXXX alla rättigheter reserverade.
(3) Kopiera följande 4 rader och klistra in dem mellan linjerna 55 och 56 i modifierade sketchen fått i steg 8.
drct = 0;
höger = false;
vänster = false;
Copyright (C) 2014 ArduinoDeXXX alla rättigheter reserverade.
(4) kopiera de följande 2 linjen och klistra in dem över linje 74 i modifierade sketchen fått i steg 8, dvs ersätta dessa rader för "sumPower = sumPower + makt.".
sumPower = sumPower + power + fwdBck * 4; 74A
Copyright (C) 2014 ArduinoDeXXX alla rättigheter reserverade.