Uus funktsioonid
pinMode(RED, OUTPUT) – saab kaks väärtust, mille edastame talle sulgudes kohe pärast funktsiooni nime. Esimene on number-pordi number, teine on sõna INPUT(sisend) või OUTPUT (väljund).
digitalWrite(RED, LOW) – Lülitage LED välja
digitalWrite(RED, HIGH) – Lülitage valgusdiood sisse
delay() – ootus (sekundites)
for() — tsükkel, mida kasutatakse toimingu kordamiseks
Kaste 1
Töö protsess
LED-lamp süttib 1 sekundiks, seejärel kustub 1 sekundiks ja kordub lõputult.
Kasutatud:
1x Arduino uno
1x LED lamp
1x 220 oomi takisti
2x Juhtmed
void setup()
{
// pinMode() määrab töörežim
pinMode(13, OUTPUT); // 13-pini number, INPUT/OUTPUT(Sisend/Väljund).
}
void loop()
{
digitalWrite(13, HIGH); // Lülita sisse
delay(1000); // Ootab 1 sek
digitalWrite(13, LOW); // Lülita välja
delay(1000); // Ootab 1 sek
}

Kaste 1.2
Töö protsess
Muudab LED-i värvi rgb-s, alustades ja lõpetades punasega
Kasutatud:
1x Arduino uno
1x LED RGB lamp
3x 220 oomi takisti
5x Juhtmed
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);
}

Ulesanne 1. Valgusfoor
Valgusfloor (Õpetaja oma)
Punane tuli põleb 2 sekundit, seejärel lülitub kollaseks, ootab veidi vähem kui 1 sekundit ja lülitub roheliseks. Roheline tuli põleb 2 sekundit, seejärel hakkab vilkuma, 1 vilkumine iga poole sekundi järel, kokku 6 vilkumist.
1x Arduino UNO
3x LED lamp
3x 220 oomi takisti
4x Juhtmed
int led_red = 13;
int led_yellow = 12;
int led_green = 11;
void setup()
{
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
}
void loop()
{
digitalWrite(led_red, HIGH);
delay(2000);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, HIGH);
delay(2000);
for (int i = 0; i<6; i++)
{
digitalWrite(led_green, LOW);
delay(500);
digitalWrite(led_green, HIGH);
delay(500);
}
digitalWrite(led_green, LOW);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_yellow, LOW);
}

Valgusfloor (Minu oma)
Töö kirjeldus
Päevase ja öise töörežiimiga valgusfoorid
Töö protsess
Muutujad: punane (led_red), kollane (led_yellow), roheline (led_green), ekstra kollane (led_yellow_day), sinine (led_blue_night).
Kõik väljundviigud on konfigureeritud.
Kutsutakse päevarežiimi paev() ja night().
Päevarežiimis süttib kõigepealt kollane päevane LED, seejärel süttib 2 sekundiks punane tuli, seejärel 0,7 sekundiks kollane tuli. Punane ja kollane lülituvad välja, roheline tuli süttib 2 sekundiks, seejärel vilgub 6 korda iga 0,5 sekundi järel. Lõpuks lülitub kollane valgus 0,7 sekundiks sisse, seejärel lülitub välja koos päevatulelaternaga.
Öörežiimis lülitub sinine LED sisse ja kollane vilgub 12 korda iga 0,5 sekundi järel, seejärel lülitub sinine välja.
Komponendid
1x Arduino UNO
5x LED lamp
5x 220 oomi takisti
6x Juhtmed
Kohandatud funktsioon
paev() — Päevane foori funktsioon. Punane, kollane ja roheline LED tuled töötavad
night() — Öörežiimi funktsioon. Vilgub kollaselt
Kood
int led_red = 13;
int led_yellow = 12;
int led_green = 11;
int led_yellow_day = 8;
int led_blue_night = 7;
void setup()
{
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_yellow_day, OUTPUT);
pinMode(led_blue_night, OUTPUT);
}
void loop()
{
paev();
paev();
night();
}
void paev()
{
digitalWrite(led_yellow_day, HIGH);
digitalWrite(led_red, HIGH);
delay(2000);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, HIGH);
delay(2000);
for (int i = 0; i<6; i++)
{
digitalWrite(led_green, LOW);
delay(500);
digitalWrite(led_green, HIGH);
delay(500);
}
digitalWrite(led_green, LOW);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_yellow, LOW);
digitalWrite(led_yellow_day, LOW);
}
void night()
{
digitalWrite(led_blue_night, HIGH);
for (int i = 0; i<12; i++)
{
digitalWrite(led_yellow, LOW);
delay(500);
digitalWrite(led_yellow, HIGH);
delay(500);
}
digitalWrite(led_blue_night, LOW);
}
Skeem

Video
Kasutusvõimalusi igapäevaelus.
Integreerige see valgustuse juhtimissüsteemi, muutes töörežiimi olenevalt kellaajast.

