Katse 1.1
LED valgusdioodi vilgutamine
See kood paneb 8. pordi külge ühendatud LED-i vilkuma: 1 sekund põleb, 1 sekund ei põle. Funktsioonis setup() määratakse, et pin 8 on väljund, ja funktsioonis loop() toimub vilgutamine koos viivitustega.
Kui kõik on õigesti, näed mustas kastis teadet, kui palju mälu kood kasutab, ja rohelisel ribal kuvatakse «Done uploading». Vea korral muutub roheline riba oranžiks ja kuvatakse veateade koos täpse info ja punase kirjaga mustas kastis.
kood:
// C++ code
//
void setup()
{
// pinMode() määrab töörežiimi
pinMode(8, OUTPUT); // Määrab 8-pini töörežiimiks OUTPUT (Väljund)
}
void loop()
{
digitalWrite(8, HIGH); // Lülitab LED sisse (HIGH tähendab, et pinil 8 on 5V)
delay(1000); // Ootab 1000 millisekundit ehk 1 sekundit
digitalWrite(8, LOW); // Lülitab LED välja (LOW tähendab, et pinil 8 on 0V)
delay(1000); // Ootab jälle 1000 millisekundit ehk 1 sekundit
}
Skeem ja link:

katse1.2
Aruanne: Valgusfoori juhtimise süsteem
1. Tehtud näidisülesanded
Kood on loodud valgusfoori simulatsiooniks, kus juhtimine toimub Arduino abil. Valgusfooril on autodele kolm tuld (punane, kollane, roheline) ja jalakäijatele kaks tuld (punane, roheline). Programmi eesmärk on simuleerida autode ja jalakäijate valgusfoori vaheldumist, järgides tavapärase liikluskorralduse reegleid.
2. Uuritud funktsioonid
a) pinMode()
- Kirjeldus: Funktsioon
pinMode()määrab, kas pin (väljund või sisend) peaks olema sisendiks või väljundiks. Seda kasutatakse kõikide pinide konfigureerimiseks.
b) digitalWrite()
- Kirjeldus: Funktsioon
digitalWrite()määrab, kas digitaalne pin peaks olema madal (LOW) või kõrge (HIGH). Kasutatakse siin valgusfoori tulede juhtimiseks.
c) delay()
- Kirjeldus: Funktsioon
delay()paneb programmi pausile määratud ajaks, et võimaldada füüsiliste komponentide, nagu LED-tuled, õigeks ajastamiseks.
d) if()
- Kirjeldus: Kuigi praeguses koodis ei ole eraldi
ifavaldusi kasutatud, võiks neid kasutada tulede seisundi kontrollimiseks või uute funktsioonide lisamiseks (nt täiendav turvalisus või erinevad ajastused).
3. Töö kirjeldus
Programm simuleerib valgusfoori töötamist järgmise tsükli järgi:
Punane tuli autodele, roheline jalakäijatele
- Autod peavad seisma (punane tuli põleb).
- Jalakäijad võivad üle tee minna (roheline tuli põleb).
- Ootab 5 sekundit.
Kollane tuli autodele (hoiatus enne rohelise süttimist)
- Kollane tuli süttib korraks.
- Ootab 1 sekundi.
Roheline tuli autodele, punane jalakäijatele
- Autod võivad sõita (roheline tuli põleb).
- Jalakäijad peavad ootama (punane tuli põleb).
- Ootab 5 sekundit.
Kollane tuli autodele (hoiatus enne punase süttimist)
- Kollane tuli süttib korraks.
- Roheline kustub.
- Ootab 1 sekundi.
Tsükkel kordub pidevalt.
4. Kasutatud komponente
- 5 juhtmeid: Kasutatakse LED-de ühendamiseks.
- 5 takistit (220Ω): Takistid on vajalikud LED-de õige töö tagamiseks, et need ei põleks üle.
- 5 LEDi : 2 punast (autodele), 2 rohelist (autodele ja jalakäijatele), 1 kollane (autodele). Kõik komponendid on ühendatud Arduino abil ning iga tule jaoks on määratud oma juhtmoodul.
5. Ühendamise skeem
Skeem on loodud Tinkercadis ja saadaval järgmises lingis ja pildil:

6. Programm
// autode valgusfoori tuled
const int reda = 7; // punane tuli autodele
const int yellowa = 6; // kollane tuli autodele
const int greena = 5; // roheline tuli autodele
// jalakäijate valgusfoori tuled
const int redj = 13; // punane tuli jalakäijatele
const int greenj = 12; // Roheline tuli jalakäijatele
void setup() {
// määrame, et kõik valgusfoori tuled on väljundid
pinMode(reda, OUTPUT);
pinMode(yellowa, OUTPUT);
pinMode(greena, OUTPUT);
pinMode(redj, OUTPUT);
pinMode(greenj, OUTPUT);
}
void loop() {
// autode valgusfoor – punane, jalakäijate valgusfoor – roheline
digitalWrite(reda, HIGH); // lülitame sisse punase tule autodele
digitalWrite(yellowa, LOW); // lülitame välja kollase tule
digitalWrite(greena, LOW); // lülitame välja rohelise tule
digitalWrite(redj, LOW); // lülitame välja punase tule jalakäijatele
digitalWrite(greenj, HIGH); // lülitame sisse rohelise tule jalakäijatele
delay(5000); // ootame 5 sekundit
// autode valgusfoor – kollane tuli enne rohelise süttimist
digitalWrite(yellowa, HIGH); // lülitame sisse kollase tule
delay(1000); // ootame 1 sekundi
digitalWrite(yellowa, LOW); // lülitame kollase tule välja
// autode valgusfoor – roheline, jalakäijate valgusfoor – punane
digitalWrite(reda, LOW); // lülitame punase tule autodelt välja
digitalWrite(greena, HIGH); // lülitame sisse rohelise tule autodele
digitalWrite(redj, HIGH); // lülitame sisse punase tule jalakäijatele
digitalWrite(greenj, LOW); // lülitame välja rohelise tule jalakäijatele
delay(5000); // ootame 5 sekundit
// autode valgusfoor – kollane tuli enne punase süttimist
digitalWrite(yellowa, HIGH); // lülitame sisse kollase tule
digitalWrite(greena, LOW); // lülitame välja rohelise tule
delay(1000); // ootame 1 sekundi
digitalWrite(yellowa, LOW); // lülitame kollase tule välja
}
7. Video
Video valgustfoori süsteemi töödemonstratsioonist
https://youtu.be/9_PqfSEcYdg?feature=shared
8. Kasutamisvõimalused tavaelus
Valgusfoori juhtimissüsteemi saab kasutada mitmesugustes liikluskorraldustes, nagu:
- Tänavatel ja ristmikel: Tagamaks turvalisus nii sõidukitele kui jalakäijatele.
- Ülekäiguradadel: Ülekäiguradade valgustamiseks ja jalakäijate turvalisuse tagamiseks.
- Automaatsete süsteemide arendamiseks: Üks osa liikluskorralduse automatiseerimise süsteemidest.
Süsteemi saab arendada ka täiendavate turvafunktsioonidega, nagu näiteks jalakäijate liikumisandurid või eri liiklusohtlike olukordade tuvastamise võimalused.

