This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| et:arduino [2015/12/10 10:07] – tekitatud raivo.sell | et:arduino [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| {{: | {{: | ||
| - | |||
| English: | English: | ||
| {{: | {{: | ||
| */ | */ | ||
| + | ====== Viited ====== | ||
| + | |||
| + | [[http:// | ||
| + | [[http:// | ||
| ====== Näide 1 Digitaalsed I/O ====== | ====== Näide 1 Digitaalsed I/O ====== | ||
| Line 37: | Line 40: | ||
| void loop(){ | void loop(){ | ||
| NupuOlek = digitalRead(nupp); | NupuOlek = digitalRead(nupp); | ||
| - | if (NupuOlek == HIGH) { // Kui nupu olek on kõrge (+5 V) | + | if (NupuOlek == LOW) { // Kui nupu on alla vajutatud |
| - | digitalWrite(LED, | + | digitalWrite(LED, |
| } | } | ||
| - | else { // vastasel juhul (Maa) | + | else { // vastasel juhul |
| - | digitalWrite(LED, | + | digitalWrite(LED, |
| } | } | ||
| } | } | ||
| Line 75: | Line 78: | ||
| Modifitseerida näiteprogrammi nii, et nupule vajutades hakkab LED konstantselt vilkuma 1 sekundilise intervalliga ja teine nupule vajutus katkestab vilkumise. | Modifitseerida näiteprogrammi nii, et nupule vajutades hakkab LED konstantselt vilkuma 1 sekundilise intervalliga ja teine nupule vajutus katkestab vilkumise. | ||
| - | 0 %). | ||
| ====== Näide #2 Analoog sisendid ====== | ====== Näide #2 Analoog sisendid ====== | ||
| Line 92: | Line 94: | ||
| const int nivoo = 512; | const int nivoo = 512; | ||
| - | int pote_sisend = A1; // määrame potentsiomeetri sisendviigu | + | int pote_sisend = A0; // määrame potentsiomeetri sisendviigu |
| - | int led = A5; // määrame LED ühendusviigu | + | int led = 13; // määrame LED ühendusviigu |
| int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks | int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks | ||
| Line 121: | Line 123: | ||
| */ | */ | ||
| - | int pote_sisend = A1; // määrame potentsiomeetri sisendviigu | + | int pote_sisend = A0; // määrame potentsiomeetri sisendviigu |
| - | int led = A5; // määrame LED ühendusviigu | + | int led = 13; // määrame LED ühendusviigu |
| int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks | int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks | ||
| Line 139: | Line 141: | ||
| ===== Harjutus #2 ===== | ===== Harjutus #2 ===== | ||
| - | Modifitseerida näiteprogrammi nii, et potentsiomeetriga määratakse LED-i heledus, kasutades selleks | + | Modifitseerida näiteprogrammi nii, et potentsiomeetriga määratakse LED-i heledus, kasutades selleks |
| ====== Näide #3 LCD ====== | ====== Näide #3 LCD ====== | ||
| + | |||
| + | Ühendada Arduino plaadiga LCD laiendusplaat. Selleks esmalt eemaldada USB kaabel ja ühendada lahti kõik muud ühendused, mis ette jäävad. | ||
| ===== Näide #3.1 LCD kasutamine ===== | ===== Näide #3.1 LCD kasutamine ===== | ||
| Line 210: | Line 214: | ||
| </ | </ | ||
| + | |||
| + | ===== Harjutus #3.1 ===== | ||
| + | Koostada programm, mis trükib potentsiomeetri väärtuse rea algusesse. Vajutades nupule vahetatakse rida ja jooksev väärtus kirjutatakse uuele reale. Vajutades uuesti nuppu vahetatakse aktiivse kirjutamise rida tagasi. | ||
| ====== Näide 4 Andurid ja LCD ====== | ====== Näide 4 Andurid ja LCD ====== | ||
| Line 238: | Line 245: | ||
| // Initsialiseerime LCD koos vastavate viikude ühendamisega | // Initsialiseerime LCD koos vastavate viikude ühendamisega | ||
| LiquidCrystal lcd(8, 9, 4, 5, 6, 7); | LiquidCrystal lcd(8, 9, 4, 5, 6, 7); | ||
| - | int andur = A4; // määrame | + | int andur = A1; // määrame |
| void setup() { | void setup() { | ||
| Line 297: | Line 304: | ||
| void loop() | void loop() | ||
| { | { | ||
| - | // Read the input on analog pin 0 and digital pin 10: | + | // Read the input on analog pin 2 and 3: |
| - | int AnalogSensorValue = analogRead(A0); | + | int AnalogSensorValue = analogRead(A2); //Sharp analoog kaugusandur |
| - | int DigitalSensorValue = digitalRead(10); | + | int DigitalSensorValue = digitalRead(A3); //Digtaalne lähedusandur |
| | | ||
| Serial.println(AnalogSensorValue); | Serial.println(AnalogSensorValue); | ||
| Line 310: | Line 317: | ||
| ===== Harjutus #4.1 ===== | ===== Harjutus #4.1 ===== | ||
| - | Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo hilisemal | + | Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo ületamisel käivitatakse täiturmehhanism (milleks on LED).\\ |
| + | **Lisaülesanne: | ||
| + | Kombineerida LED-i heleduse programm ja eelnev temperatuuri juhtimise programm, kus LED-i heledus sõltub sellest, kui palju nivootemperatuuri ületati (1 kraad: heledus 25 %, 2 kraadi: heledus 50 %, 3 kraadi: heledus 75 % ja 5 kraadi: heledus 10 | ||
| ===== Harjutus #4.2 ===== | ===== Harjutus #4.2 ===== | ||
| - | Kombineerida LED-i heleduse programm | + | Modifitseerida kaugusandurite lugemise programmi nii, et andurite info kuvatakse LCD ekraanile |
| ====== Näide #5 Mootor ====== | ====== Näide #5 Mootor ====== | ||
| + | |||
| + | Servomootorite kasutamiseks eemaldada Arduino pealt LCD laiendusplaat. Selleks esmalt ühendada lahti USB kaabel ja andurid ning seejärel ettevaatlikult tõmmata kaks plaati lahti. | ||
| ===== Näide #5.1 Servomootor ===== | ===== Näide #5.1 Servomootor ===== | ||
| Line 368: | Line 379: | ||
| ===== Harjutus #5.1 ===== | ===== Harjutus #5.1 ===== | ||
| - | Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt | + | Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt |
| ===== Harjutus #5.2 ===== | ===== Harjutus #5.2 ===== | ||
| - | Luua programm, mis servomootori baasil ehitatud radariga ja fotoanduriga | + | Luua programm, mis servomootori baasil ehitatud radariga ja analoog kaugusanduriga |
| Line 440: | Line 451: | ||
| Protokollis tähistab „x“ kohaliku seadme numbrit, mille annab juhendaja igale tiimile erineva. | Protokollis tähistab „x“ kohaliku seadme numbrit, mille annab juhendaja igale tiimile erineva. | ||
| + | |||
| + | |||
| + | ===== Lihtne roboti navigatsioon ===== | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | Servo right_motor, | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | // Viktoriiniküsimus - mida see plokk teeb? | ||
| + | digitalWrite(9, | ||
| + | while (digitalRead(9)==1){}; | ||
| + | | ||
| + | right_motor.attach(11); | ||
| + | left_motor.attach(12); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | |||
| + | // Compare it with reference | ||
| + | if (digitalRead(10)==0) { // If TRUE | ||
| + | | ||
| + | | ||
| + | } | ||
| + | right_motor.write(0); | ||
| + | left_motor.write(180); | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||