This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| arduino_lahendused [2015/12/10 14:01] – raivo.sell | arduino_lahendused [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 161: | Line 161: | ||
| </ | </ | ||
| + | |||
| ====== Harjutus #3.1 ====== | ====== 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. | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | |||
| + | // Initialize LCD | ||
| + | LiquidCrystal lcd(8, 9, 4, 5, 6, 7); | ||
| + | const int nupp = A0; // Viik kuhu on ühendatud nupp | ||
| + | int pote_sisend = A1; // set potentiometer pin | ||
| + | int y=0; | ||
| + | |||
| + | void setup() { | ||
| + | lcd.begin(16, | ||
| + | pinMode(nupp, | ||
| + | digitalWrite(nupp, | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | |||
| + | if (digitalRead(nupp) == LOW) { // if button pressed | ||
| + | while (digitalRead(nupp) == LOW){} // wait for button release | ||
| + | if (y) y=0; else y=1; | ||
| + | } | ||
| + | lcd.setCursor(0, | ||
| + | lcd.print(analogRead(pote_sisend)); | ||
| + | lcd.print(" | ||
| + | delay (100); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====== Harjutus #4.1 ====== | ||
| Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo hilisemal ületamisel käivitatakse täiturmehhanism (milleks on LED). | Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo hilisemal ületamisel käivitatakse täiturmehhanism (milleks on LED). | ||
| Line 235: | Line 267: | ||
| } | } | ||
| } | } | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| </ | </ | ||
| - | ====== Harjutus #3.2 ====== | + | ====== Harjutus #4.2 ====== |
| 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 100 %) | 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 100 %) | ||
| Line 342: | Line 369: | ||
| - | ====== Harjutus #3.1 ====== | ||
| - | Koostada programm, mis trükib potentsiomeertis väärtuse rea algusesse. Vajutades nupule vahetatakse rida, kus jooksev väärtus kirjutatakse uuele reale. Vajutades uuesti nuppu vahetatakse jälle aktiivse kirjutamise rida. | ||
| - | <code c> | + | ====== Harjutus #5.1 ====== |
| - | #include < | + | |
| - | + | ||
| - | // Initialize LCD | + | |
| - | LiquidCrystal lcd(8, 9, 4, 5, 6, 7); | + | |
| - | const int nupp = A0; // Viik kuhu on ühendatud nupp | + | |
| - | int pote_sisend = A1; // set potentiometer pin | + | |
| - | int y=0; | + | |
| - | + | ||
| - | void setup() { | + | |
| - | lcd.begin(16, | + | |
| - | pinMode(nupp, | + | |
| - | digitalWrite(nupp, | + | |
| - | } | + | |
| - | + | ||
| - | void loop() { | + | |
| - | + | ||
| - | if (digitalRead(nupp) == LOW) { // if button pressed | + | |
| - | while (digitalRead(nupp) == LOW){} // wait for button release | + | |
| - | if (y) y=0; else y=1; | + | |
| - | } | + | |
| - | lcd.setCursor(0, | + | |
| - | lcd.print(analogRead(pote_sisend)); | + | |
| - | lcd.print(" | + | |
| - | delay (100); | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ====== Harjutus #4.1 ====== | + | |
| Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt nuppudega seadistatud suurusele. | Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt nuppudega seadistatud suurusele. | ||
| Line 405: | Line 402: | ||
| } | } | ||
| </ | </ | ||
| - | ====== Harjutus #4.2 ====== | + | ====== Harjutus #5.2 ====== |
| Luua programm, mis servomootori baasil ehitatud radariga ja fotoanduriga leiaks ruumist kõige eredama punkti. | Luua programm, mis servomootori baasil ehitatud radariga ja fotoanduriga leiaks ruumist kõige eredama punkti. | ||
| Line 458: | Line 455: | ||
| } | } | ||
| </ | </ | ||
| - | ====== Harjutus #5 ====== | + | ====== Harjutus #6 ====== |
| Luua programm, mis jadaliidesest saadetud teksti kirjutaks LCD ekraanile. Märk „+“ vahetab rida ning märk „-“ kustutab kogu ekraani. | Luua programm, mis jadaliidesest saadetud teksti kirjutaks LCD ekraanile. Märk „+“ vahetab rida ning märk „-“ kustutab kogu ekraani. | ||