Just LED

Ringkondade komponendid:
- Arduino Uno
- LED
- Takisti
- Arendusplaat
- Juhtmed
Kuidas skeem toimib:
Setup() paneme pinMode(), mida täpselt kontrollitakse. Mul on pin 13 ja see läheb väljundile
Loop() paneme digitalWrite(), iga sekund lülitab LED välja (LOW) ja lülitab sisse (HIGH). Kõik toimub pin 13
RGB LED

Ringkondade komponendid:
- Arduino Uno
- RGB LED
- Takisti
- Arendusplaat
- Juhtmed
Kuidas skeem toimib:
loop() – Peamine tsükkel
setup() – Algseadistus
RED_PIN = 11, GREEN_PIN = 9, BLUE_PIN = 10
Määravad, millistele Arduino pin on LED-i punane, roheline ja sinine jalg ühendatud.
DISPLAY_TIME = 100
Määrab värvimuutuse kiiruse.
pinMode(PIN, OUTPUT)
Seadistab kõik kolm LED-i jalga väljunditeks, et saaksime neid juhtida.
mainColors()
Kuvab põhivärve
See funktsioon süütab LED-i erinevates põhivärvides ja ootab 1 sekundi enne järgmise värvi kuvamist
showSpectrum()
Kuvab sujuva värvimuutuse.
Tsükkel 0 kuni 768 muudab LED-i värvi järk-järgult.
showRGB()
Värvi määramine See funktsioon arvutab, kui eredalt iga värv põlema peaks. 0–255: punane tuhmub ja roheline suureneb.
256–511: roheline tuhmub ja sinine suureneb.
512–767: sinine tuhmub ja punane suureneb.
Ülesanne
Töö kirjeldus
Loo valgusfoori süsteem, mis reguleerib sõidukite ja jalakäijate liikumist, simuleerides kolmevärvilist signaali
Kasutatud komponendid:
- 5 LED-d (punane, kollane ja roheline sõidukitele ning punane ja roheline jalakäijatele)
- Arduino mikrokontroller
- Vastavad takistid ja juhtmed ühendamiseks
Töö protsess:
Projekti eesmärk on simuleerida valgusfoori tööprotsessi, kus sõidukite tuled vahelduvad punasest kollaseks ja roheliseks. Jalakäijatele on roheline ja punane tuli.
Päeval toimib normaalne valgusfoori tsükkel.
Öösel vilgub ainult kollane tuli sõidukitele ja jalakäijatele on välja lülitatud.
Režiim vahetub automaatselt.
Skeem:

Kood:
const int RED_PIN = 13;
const int GREEN_PIN = 11;
const int YELLOW_PIN = 12;
const int RED_PPIN = 10;
const int GREEN_PPIN = 9;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(YELLOW_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(RED_PPIN, OUTPUT);
pinMode(GREEN_PPIN, OUTPUT);
}
void loop() {
// Day mode
for (int i = 0; i < 3; i++) {
cars();
person();
}
// Night mode
for (int j = 0; j < 3; j++) {
night();
}
}
void cars() {
// Car Red
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(RED_PPIN, HIGH);
delay(500);
digitalWrite(YELLOW_PIN, HIGH);
delay(2000);
// Car Green
digitalWrite(RED_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
delay(10000);
for (int i = 0; i < 3; i++) {
digitalWrite(GREEN_PIN, LOW);
delay(500);
digitalWrite(GREEN_PIN, HIGH);
delay(500);
}
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, HIGH);
delay(2000);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(RED_PIN, HIGH);
}
void person() {
// Person Green
digitalWrite(RED_PPIN, LOW);
digitalWrite(GREEN_PPIN, HIGH);
delay(10000);
for (int i = 0; i < 3; i++) {
digitalWrite(GREEN_PPIN, LOW);
delay(500);
digitalWrite(GREEN_PPIN, HIGH);
delay(500);
}
// Person Red
digitalWrite(GREEN_PPIN, LOW);
digitalWrite(RED_PPIN, HIGH);
delay(500);
}
void night() {
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(RED_PPIN, LOW);
digitalWrite(GREEN_PPIN, LOW);
// Per cycle 5 times
for (int i = 0; i < 5; i++) {
digitalWrite(YELLOW_PIN, HIGH);
delay(500);
digitalWrite(YELLOW_PIN, LOW);
delay(500);
}
}
Video:
Uued funktsioonid:
pinMode(RED, OUTPUT) – määrab, kuidas port töötab.digitalWrite(RED, HIGH) – lülitab LED-i sissedigitalWrite(RED, LOW) – lülitab LED-i väljadelay(aeg) – paneb programmi ootama kindla ajaconst – tähendab muutmatu väärtusfor (x = 0; x < J; x++) – tähendab, et midagi tehakse J korda järjest.