Praktika 1. LED ja RGB led
1.1 katse
Projekti koostamiseks läheb vaja:
LED – 1
Taikisti – 1 (220 Om)
Juhe – 1
Skeem:

Kood:

void setup ()
{
pinMode(13, OUTPUT);
}
Helista programmile
loop () – tsükkel
LOW – välja HIGH – lisada
delay – paus
OUTPUT – järeldus INPUT – sisend
1.2 Katse
LED – 1
Taikisti – 3 (220 Om)
Juhe- 3

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);
}
if …
else – kui
showRGB – funktsioon, mis määrab sujuvuse
showSpectrum – funktsioon, mis ennustab, millisest kuupäevast millise kuupäevani.
1.3 Katse
Ülesanne 1 Valgusfoor
Töö kirjeldus:
Valgusanduril on kaks töörežiimi. Päevarežiim ja öörežiim.
Töö protsess:
Ühendage dioodid, takisti ja juhtmed plaadile. Ühendage dioodid, pirn, valgusdioodid, valgusallikas ja liiteseade.
Päevarežiim (korda 4 korda) normaalne režiim:
Esmalt hakkab see tööle punase tulega autodele ja rohelise tulega jalakäijatele (5 sekundit), seejärel vilgub jalakäijatele (6 vilkumist 0,5 sekundit). Seejärel hakkab tööle autode kollane tuli (3 sekundit) ja jalakäijatele punane. Seejärel põleb autodel roheline tuli (5 s) ja punane jalakäijatele, misjärel vilgub autode roheline tuli (6 vilkumist iga 0,5 sek). Viimane etapp on autodele kollane (3 sekundit) ja jalakäijatele punane.
Öörežiim (korda 4 korda):
Töötab ainult kollane tuli (põleb 1 sekund) ja kõik tuled kustuvad 1 sekundiks.
Põhiline tsükkel:
Põhitsüklis kordub päevane režiim 2 korda ja öine režiim 1 kord. Kogu põhitsükkel kordub alati.
Kasutatud komponeendid:
LED (punane) – 2
LED(kollane) – 1
LED(roheline) – 2
Taikisti – 5 (220 Om)
Juhe – 6
Arendusplaat – 1
Ühendamise skeem:

Programm:
const int RED = 11;
const int YELLOW = 10;
const int GREEN = 9;
const int GREEN1 = 5;
const int RED1 = 6;
int kord = 0;
void setup() {
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED1, OUTPUT);
pinMode(GREEN1, OUTPUT);
}
//Päevane režiim
void paev() {
int i;
for (i = 0; i < 2; i++) {
digitalWrite(RED, HIGH);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(GREEN1, HIGH);
digitalWrite(RED1, LOW);
delay(5000);
int j;
for (j = 0; j < 4; j++) {
digitalWrite(GREEN1, HIGH);
delay(250);
digitalWrite(GREEN1, LOW);
delay(250);
} //roheline vilkuv tuli jalakäijatele
digitalWrite(RED, HIGH);
digitalWrite(YELLOW, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(RED1, HIGH);
digitalWrite(GREEN1, LOW);
delay(3000);
digitalWrite(RED, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, HIGH);
digitalWrite(RED1, HIGH);
digitalWrite(GREEN1, LOW);
delay(5000);
int n;
for ( n = 0; n < 4; n++) {
digitalWrite(GREEN, HIGH);
delay(250);
digitalWrite(GREEN, LOW);
delay(250);
} //vilkuvad rohelised tuled autodele
digitalWrite(RED, LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(RED1, HIGH);
digitalWrite(GREEN1, LOW);
delay(3000);
}
}// tsükkel üks kord
// Öö režiim
void oo() {
int a;
for (a = 0; a < 10; a++) {
digitalWrite(RED, LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(GREEN1, LOW);
digitalWrite(RED1, LOW);
delay(1000);
digitalWrite(RED, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(GREEN1, LOW);
digitalWrite(RED1, LOW);
delay(1000);
}
} //kordub üheksa korda,ainult vilkuv kollane
//Lõputu tsükkel päevase ja
//öise režiimi jaoks (nii et need korduvad)
void loop() {
if (kord < 3) {
paev();
kord++;
} else {
oo();
kord = 0;
}
}
Video:
https://drive.google.com/file/d/1ZB4dMCUmn1xiXPwE7HgfcRSH7vedQt7x/view?usp=drive_link
Uued funktsioonid:
digitalWrite( ) – funktsioon teeb seda, mis on sulgudes, näiteks
digitalWrite(RED, LOW) – Lülitage LED välja
digitalWrite(RED, HIGH) – Lülitage valgusdiood sisse
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
void loop() – lõpmatu tsükkel
delay – ootus (sekundites)
for (x=0; x<768; x++) – koormustsükkel
INPUT – sisend
OUTPUT – väljund
LED-ide rakendamin
Valgustuse ja valgustuse jaoks: Tänava-, tööstus-, koduvalgustuses (LED-lambid ja lambid); Dekoratiivvalgustuses, taustvalgustuses.

