This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:arduino [2015/12/11 09:24] – 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 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 241: | 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 300: | 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 313: | 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 371: | 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 443: | 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); | ||
+ | |||
+ | } | ||
+ | |||
+ | </ |