Katse 1 LED
See kood on mõeldud Arduino jaoks. See paneb LED-i vilkuma 1-sekundilise intervalliga.
Funktsioonid:
setup() – Initsialiseerib 13. pinni väljundiks.
loop() – Programmi põhitsükkel, mis lülitab 13. pinni sisse ja välja 1-sekundilise viivitusega.


Katse 2. RGB
Pildil on RGB LED, mida juhib Arduino. Kood lülitab LED-i sisse erinevates värvides ja loob sujuva ülemineku efektide vahel.
Funktsioonid
- void setup() – initsialiseerib RGB-LED pinnid väljunditena.
- void loop() – programmi põhitsükkel, kutsub välja funktsioonid mainColors() ja showSpectrum().
- void mainColors() – lülitab järjekorras erinevad värvid sisse, viibib igal värvil 1 sekundi.
- void showSpectrum() – muudab järk-järgult RGB-LED värvi, liikudes väärtuste vahemikus 0 kuni 767.
- void showRGB(int color) – arvutab punase, rohelise ja sinise värvi intensiivsuse, et luua sujuv üleminek toonide vahel.

const int RED_PIN = 11;
const int GREEN_PIN = 9;
const int BLUE_PIN = 10;
int DISPLAY_TIME = 100; // värvimuutuse kiirus
void setup()
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop()
{
mainColors();
showSpectrum();
}
void mainColors()
{
// Kõik LEDid on välja lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
//Põleb punane
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Põleb roheline
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Sinine on sisse lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
// Kollane.
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Lilla
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//Roosa
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//Valge ehk kõik on sisse lülitatud
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
}
// Vikerkaar.
void showSpectrum()
{
int x;
for (x = 0; x < 768; x++)
{
showRGB(x); //
delay(10); // paus 0,001 sek
}
}
// ShowRGB() põhivärvid:
// 0 = punane
// 255 = roheline
// 511 = sinine
// 767 = jälle punane
void showRGB(int color)
{
int redIntensity;
int greenIntensity;
int blueIntensity;
if (color <= 255)
{
redIntensity = 255 - color; // lülitakse välja punane
greenIntensity = color; // lülitakse sisse roheline
blueIntensity = 0; // sinine on välja lülitatud
}
else if (color <= 511)
{
redIntensity = 0; // punane on välja lülitatud
greenIntensity = 255 - (color - 256);
blueIntensity = (color - 256);
}
else if (color >= 512)
{
redIntensity = (color - 512);
greenIntensity = 0;
blueIntensity = 255 - (color - 512);
}
analogWrite(RED_PIN, redIntensity); // punase LED´i sujuv ümberlülitamine
analogWrite(BLUE_PIN, blueIntensity);
analogWrite(GREEN_PIN, greenIntensity);
}
Minu kood
void fadeLED(int pin) {
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(pin, brightness); // Увеличиваем яркость
delay(1000);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(pin, brightness); // Уменьшаем яркость
delay(1000);
}
}
Valgusfoor

LED-id — kasutatakse erinevate valgusfoori signaalide kuvamiseks:
- Roheline päev (dayGreen) — LED, mis süttib roheliseks päevasel režiimil.
- Kollane päev (dayYellow) — LED, mis süttib kollaseks päevasel režiimil.
- Punane päev (dayRed) — LED, mis süttib punaseks päevasel režiimil.
- Kollane öö (nightYellow) — LED, mis vilgub kollaselt öösel.
- Roheline jalakäija (pedGreen) — LED, mis süttib roheliseks jalakäijate režiimil.
- Punane jalakäija (pedRed) — LED, mis süttib punaseks jalakäijate režiimil.
Arduino pinnid — iga LED on ühendatud konkreetse pinni külge Arduino plaadil:
- Pinnid 8 kuni 13 (kaasa arvatud pinnid 8, 9, 10, 11, 12, 13) kasutatakse LED-ide juhtimiseks.
Arduino plaat — peamine seade, mis täidab programmi. Kood käivitub sellel plaadil, mis juhib LED-ide sisse ja välja lülitamist pinnihindade kaudu.
Kokkuvõttes sisaldavad selle plaadi komponendid:
- LED-id (erinevate valgusfoori signaalide jaoks)
- Pinnid Arduino-lt (LED-ide ühendamiseks)
- Programm (mida täidab Arduino LED-ide juhtimiseks)
Minu kood
// Определяем пины для каждого светодиода
int dayGreen = 13;
int dayYellow = 12;
int dayRed = 11;
int nightYellow = 10;
int pedGreen = 9;
int pedRed = 8;
void setup() {
// Настраиваем пины как выходы
pinMode(dayGreen, OUTPUT);
pinMode(dayYellow, OUTPUT);
pinMode(dayRed, OUTPUT);
pinMode(nightYellow, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
}
void loop() {
// === Дневной режим ===
// Зелёный свет 5 секунд
digitalWrite(dayGreen, HIGH);
delay(5000);
// Зелёный мигает 2 секунды
for (int i = 0; i < 4; i++) { // 4 раза по 0.5 сек
digitalWrite(dayGreen, LOW);
delay(250);
digitalWrite(dayGreen, HIGH);
delay(250);
}
digitalWrite(dayGreen, LOW);
// Жёлтый свет 1 секунда
digitalWrite(dayYellow, HIGH);
delay(1000);
digitalWrite(dayYellow, LOW);
// Красный 5 секунд
digitalWrite(dayRed, HIGH);
delay(5000);
// Красный мигает 2 секунды
for (int i = 0; i < 4; i++) {
digitalWrite(dayRed, LOW);
delay(250);
digitalWrite(dayRed, HIGH);
delay(250);
}
digitalWrite(dayRed, LOW);
// === Ночной режим ===
for (int i = 0; i < 10; i++) { // 5 секунд по 0.5 сек мигание
digitalWrite(nightYellow, HIGH);
delay(250);
digitalWrite(nightYellow, LOW);
delay(250);
}
// === Пешеходный режим ===
// Зелёный пешеход 5 сек
digitalWrite(pedGreen, HIGH);
delay(5000);
// Зелёный мигает 2 секунды
for (int i = 0; i < 4; i++) {
digitalWrite(pedGreen, LOW);
delay(250);
digitalWrite(pedGreen, HIGH);
delay(250);
}
digitalWrite(pedGreen, LOW);
// Красный пешеход 5 секунд
digitalWrite(pedRed, HIGH);
delay(5000);
digitalWrite(pedRed, LOW);
// Цикл начинается снова
}
Funktsioonid
pinMode() – Määrab pinni sisendiks või väljundiks.
Näide: pinMode(dayGreen, OUTPUT);
digitalWrite() – Seab pinni signaali taseme (kõrge või madal).
Näide: digitalWrite(dayGreen, HIGH);
delay() – Programmi täitmise viivitus määratud arvu millisekunditega.
Näide: delay(5000);
For-tsükkel (for()) – Korratakse koodiplokki mitu korda.
Arduino Programm

Video
https://drive.google.com/file/d/1hT-PmgA4bP87-axhPaU0mPLrGc8-BnSP/view?usp=sharing
Kuidas tohib elus kasutada
Trafikvalgustus – Seda süsteemi saab kasutada tänaval või ristmikel, et juhtida liiklust erinevates valgustusrežiimides (päevane, öine ja jalakäijate režiim), suurendades liiklusohutust ja reguleerides liiklusvooge vastavalt ajale ja vajadusele.
Jalakäijate ülekäigurajad – Seda süsteemi saab kasutada jalakäijate ülekäiguradadel, et tagada ohutu liikumine ja hoida korda, lülitades erinevad valgusrežiimid, et anda jalakäijatele selge signaal, millal nad saavad üle tee minna.
Öösel töörežiim – Öösel võib kasutada öist vilkumisrežiimi, et säästa energiat ja tagada valgustatud teed või ülekäigurajad, samas kui päevase valgustuse intensiivsus on madalam.
Automatiseeritud liiklusmärkide süsteemid – Võimalik kasutada sarnast süsteemi automatiseeritud liiklusmärkideks, mis annavad õigeaegselt signaale, reguleerides liikluse voogu vastavalt tingimustele või ajale, nagu näiteks hommikune tipptund või õhtune aeg.
Turvavalgustus – Võib kasutada erinevates turvavalgustuse süsteemides, näiteks hoonete ümber, et valgustada piirkondi ja anda õiged valgustussignaalid vastavalt liikumis- ja turvatingimustele.
Automaatne liiklusreguleerimine koolide lähedal – Seda süsteemi saab kasutada koolide läheduses, et tagada laste ohutus, lülitades õige valgusrežiimi vastavalt kooli algus- ja lõpptundidele.