This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:projects:arduino [2016/02/23 19:30] – kaupo.raid | et:projects:arduino [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| ===== Näiteprogrammid ===== | ===== Näiteprogrammid ===== | ||
| + | |||
| + | {{youtube> | ||
| === Mootorite kalibreerimine === | === Mootorite kalibreerimine === | ||
| Line 155: | Line 157: | ||
| **Programmi töö selgitus:** | **Programmi töö selgitus:** | ||
| - | * Vajutada korraks nuppu | + | * Vajutada korraks nuppu. |
| - | * Keerata potentsiomeetrit kuni vasak mootor jääb seisma | + | * Keerata potentsiomeetrit kuni vasak mootor jääb seisma. |
| - | * Vajutada korraks nuppu | + | * Vajutada korraks nuppu. |
| - | * Keerata potentsiomeetrit kuni parem mootor jääb seisma | + | * Keerata potentsiomeetrit kuni parem mootor jääb seisma. |
| - | * Vajutada korraks nuppu | + | * Vajutada korraks nuppu. |
| * Keerata potentsiomeetrit kuni ultrahelianduri servo on võimalikult otse suunatud. | * Keerata potentsiomeetrit kuni ultrahelianduri servo on võimalikult otse suunatud. | ||
| - | * Vajutada korraks nuppu | + | * Vajutada korraks nuppu. |
| - | * Paigutada robot maha ja vaadata kummale poole robot kaldub. Kui kaldub vasakule, siis tuleb korrigeerida parema | + | * Keerata potentsiomeetrit kuni ultrahelianduri servo on suunatud umbes 60 kraadi roboti keskteljest vasakule. |
| - | * Vajutada korraks nuppu (Kui hoida kätt digitaalse infrapunaanduri ees, siis korrigeeritakse vasakut mootorit. Kui anduril takistust ees ei ole, siis korrigeeritakse paremat mootorit.) | + | * Vajutada korraks nuppu. |
| - | * Keerata potentsiomeetrit kuni robot sõidab enamvähem otse | + | * Keerata potentsiomeetrit kuni ultrahelianduri servo on suunatud umbes 60 kraadi roboti keskteljest paremale. |
| - | * Vajutada korraks nuppu | + | * Vajutada korraks nuppu. |
| - | * Kalibratsioon on lõpule jõudnud ja väärtused EEPROM mällu salvestatud. Kalibratsiooni väärtusi on võimalik näha kui Arduino IDE-s avada juba kalibratsiooni | + | * Roboti mõlemad mootorid hakkavad pöörlema maksimum kiirusel. |
| + | * Vajutada korraks nuppu. | ||
| + | * Keerata potentsiomeetrit kuni mootori pöörlemiskiirus on sobiv. | ||
| + | * Vajutada korraks nuppu. | ||
| + | * Keerata potentsiomeetrit kuni roboti teine mootor liigub sama kiirusega ja roboti trajektoor on sirge. | ||
| + | * Vajutada korraks nuppu. | ||
| + | * Kalibratsioon on lõpule jõudnud ja väärtused EEPROM mällu salvestatud. Kalibratsiooni väärtusi on võimalik näha kui Arduino IDE-s avada enne kalibratsiooni | ||
| + | * Kalibratsiooni lõpus on võimalik potentsiomeetriga testida ultrahelianduri servo liikumist. | ||
| === Lihtne navigeerimine === | === Lihtne navigeerimine === | ||
| Line 260: | Line 269: | ||
| #include < | #include < | ||
| - | //Parameetrid | + | //Parameters |
| - | #define SONARDIFF 15 // | + | |
| #define TURNDLY 800 //90deg turn delay | #define TURNDLY 800 //90deg turn delay | ||
| #define SMIN 0 //distance from which to activate small turns | #define SMIN 0 //distance from which to activate small turns | ||
| #define SMAX 200 //distance from which to deactivate small turns | #define SMAX 200 //distance from which to deactivate small turns | ||
| - | // | + | // |
| Servo leftM, rightM, sensM; | Servo leftM, rightM, sensM; | ||
| - | //Sonari objekti loomine ja viikude määramine | + | //Sonra distance sensor pins reference and object create |
| #define TRIG 12 | #define TRIG 12 | ||
| #define ECHO 11 | #define ECHO 11 | ||
| NewPing sonar(TRIG, ECHO, 200); | NewPing sonar(TRIG, ECHO, 200); | ||
| - | //Roboti osadele viikude määramine | + | //Define constants for pin reference |
| #define LED 13 | #define LED 13 | ||
| #define POTPIN A0 | #define POTPIN A0 | ||
| Line 289: | Line 297: | ||
| #define S_MOTOR_RIGHT 6 | #define S_MOTOR_RIGHT 6 | ||
| - | //globaalsed muutujad | + | //Global variables |
| const int leftStop = EEPROM.read(L_MOTOR_STOP); | const int leftStop = EEPROM.read(L_MOTOR_STOP); | ||
| const int rightStop = EEPROM.read(R_MOTOR_STOP); | const int rightStop = EEPROM.read(R_MOTOR_STOP); | ||
| Line 331: | Line 339: | ||
| unsigned long lastSweep = 0; | unsigned long lastSweep = 0; | ||
| int scanDone = 0; | int scanDone = 0; | ||
| - | int sonarDiff; | ||
| unsigned long lastTurn = 0; | unsigned long lastTurn = 0; | ||
| | | ||