Katse 1.1
Punane LED vilkuv:
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH);
delay(3000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}

Katse 1.2
RGB LED muudab värvi:
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);
}

Ülesanne “Valgusfoor” Töö kirjeldus:
Valgusfoori töö kahe režiimiga. Tavarežiim ja öörežiim.
Kasutatud komponenid
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (6tk)
Takisti (3tk, 1kOm)
LED (5tk: 2 punane, 2 roheline, 1 kollane)

Töö protsess:
Ühendage dioodid, takisti ja juhtmed plaadiga. Valgusfoor töötab Valgusfoor tava- ja öörežiimil.Tavarežiim – Kui tavafooris põleb punane LED, põleb fooris inimestele roheline LED ja vastupidi.Öörežiim – Kui valgusfoor on tavarežiimist 2 korda läbinud, lülitub valgusfoor öörežiimile ja vilgub ainult kollane LED ja kõik muud dioodid on välja lülitatud.
LED-ide kasutamine
Valgustamiseks ja valgustamiseks: tänavavalgustus, tööstusvalgustus, majapidamisvalgustus (LED-lambid ja -valgustid); dekoratiivvalgustus, taustavalgustus, monitorid.
Skeem:

Programm:
int led_red = 4;
int led_yellow = 3;
int led_green = 2;
int led_green1 = 9;
int led_red1 = 10;
boolean ledOn = HIGH;
void setup()
{
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_green1, OUTPUT);
pinMode(led_red1, OUTPUT);
}
void loop()
{
daylight();
nightlight();
}
void daylight()
{
int i;
for (int i=0; i<6;i++)
{
digitalWrite(led_red, HIGH);
digitalWrite(led_red1, LOW);
delay(2000); // Wait for 10000 millisecond(s)
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_red, LOW);
digitalWrite(led_red1, HIGH);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, HIGH);
digitalWrite(led_green1, LOW);
delay(2000); // Wait for 1000 millisecond(s)
for (int i = 0; i<6; i++)
{
ledOn = !ledOn;
digitalWrite(led_green, ledOn);
digitalWrite(led_red1, ledOn);
delay(500);
}
digitalWrite(led_green, LOW);
digitalWrite(led_green1, HIGH);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_yellow, LOW);
if (i==1)break;
}
}
void nightlight()
{
int a;
for (int a=0; a<4;a++)
{
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, HIGH);
digitalWrite(led_green, LOW);
digitalWrite(led_green1, LOW);
digitalWrite(led_red1, LOW);
delay(1000);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_green1, LOW);
digitalWrite(led_red1, LOW);
delay(1000);
}
}
Video:
Uued 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)