Teema 3. Nupp ja Photoresistor

3.1 Katse Nupp ja Slideswitch

Näidis Nupp

Kood
GitHub Link

Näidis Slideswitch

Kood
GitHub Link

3.2 Katse Photoresistor

Kood
GitHub Link

3.1 Ülesanne – Öölamp

Töö kirjeldus
Luua öölamp, mis reageerib ümbritsevale valgusele ja mida saab juhtida nupu või potentsiomeetriga. Projekti eesmärk on rakendada teadmisi Arduino platvormist, elektroonikakomponentidest ja programmeerimisest, et valmistada praktiline ning visuaalselt atraktiivne valguslahendus.

Komponendid:
1x Arduino UNO
9x Juhtmed
1x RGB LED lamp
3x 220 Oom Takisti
1x 10K Oom Takisti
1x Photoresistor

Kood
GitHub Link

Uued funktsioonid:
1. map() – akendab funktsiooni iga elemendi kohta andmestruktuuris (nt nimekiri) ja tagastab uue muudetud järjendi.
2. sin() – Arvutab nurga (radianides) siini väärtuse.
3. M_PI – Konstant, mis tähistab pi (π) väärtust.

Töö protsess
1. analogRead() – Loeme potentsiomeetri väärtuse analoogpinnilt (A0), et saada signaal, mis määrab LEDi heledust.
2. map() – Muudame potentsiomeetri väärtust, et määrata LEDide heledus vahemikus 300 kuni 255.
3. if (potValue < treshold) – Kui potentsiomeetri väärtus on alla määratud lävendi (treshold), lülitame LEDid välja.
4. cycle++ – Täiendame tsüklimuutujat, et värvide muudatusi juhtida.
5. sin() ja M_PI – Kasutame trigonomeetrilisi funktsioone ja pi väärtust, et arvutada iga LEDi punase, rohelise ja sinise komponendi heledus.
6. setRGB() – Seame LEDide värvuse vastavalt arvutatud punase, rohelise ja sinise väärtusele.
7. Serial.println() – Kuvame sariväljundi kaudu värvitoonide ja tsükliliste väärtuste jälgimiseks.
8. delay(10) – Ootame lühikest aega enne järgmise tsükli algust, et LEDid ei vilguks liiga kiiresti.