Katse 1.1 LED kasutamine
Töö kirjeldus:
Valgusdioodi vilgutamine, mis vilgutab plaadil olevat LED-i.
Komponendid:
Arudiono Uno 1tk
Arendusplaat1 tk
Valgusdiood 1tk
Takisti 330 Om
Juhtmed 3tk
Ühendamise skeem:


Programm:
void setup()
{
// Функция pinMode() получает два значения, которые Вы передаете ей
// в круглых скобках, сразу после имени функции. Первое это цифра - номер
// порта, второе - слово INPUT(ВХОД) или OUTPUT(ВЫХОД).
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH); // Включить светодиод
delay(1000); // Ожидание - 1 секунда
digitalWrite(13, LOW); // Выключить светодиод
delay(1000); // Ожидание - 1 секунда
}
Foto:
- Valgusdioodi vilgutamine
- Valgusdioodi tuhmumine
Funktsioonid
pinMode(pin,reziim) //INPUT, OUTPUT
setup() – sätted
loop() – põhifunkstioonid, alati töötab
digitalWrite (pin,pinge) // HIGH, LOW
delay(aeg) //ms 1000 = 1s
analogWrite (pin,pinge) //0,255
Katse 1.2 RGB LED kasutamine
Töö kirjeldus:
Valgusdioodi vilgutamine, mis vilgutab plaadil olevat LED-i.
Komponendid:
Arudiono Uno
Arendusplaat
Valgusdiood (LED RGB)
Takisti
Juhtmed
Ühendamise skeem:


Programm:
const int RED_PIN = 11;
const int GREEN_PIN = 9;
const int BLUE_PIN = 10;
int DISPLAY_TIME = 100; // переменная контролирует, на сколько быстро выполняется цикл по смене цветов в миллисекундах
void setup()
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop()
{
// Мы создали функцию с именем mainColors (), которая проходит через все восемь цветов. Здесь мы только вызываем нашу функцию, Сам же код функции находится ниже.
mainColors();
// Эта функция включает и выключает отдельно каждый светодиод либо Вкл., либо Выкл. Если вы хотите получить больше чем восемь цветов, вам придется
// изменять еще и яркость каждого светодиода. Для этого можно воспользоваться
// функцию analogWrite(), - градация яркости от 0 до 255. Далее идет функция
// с именем showSpectrum (), которая плавно проследует через каждый из 8 цветов. ее, код находится ниже.
showSpectrum();
}
void mainColors()
{
// Выкл. – все светодиоды выключены
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем КРАСНЫЙ – RED_PIN, HIGH.
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем ЗЕЛЕНЫЙ – GREEN_PIN, HIGH.
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем СИНИЙ – BLUE_PIN, HIGH.
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
// Включаем ЖЕЛТЫЙ – RED и GREEN HIGH.
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// БИРЮЗОВЫЙ – GREEN и BLUE
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//РОЗОВЫЙ – RED и BLUE
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//БЕЛЫЙ – все цвета HIGH (Вкл.)
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
}
// Ниже приведен код еще двух функций: ShowSpectrum () и showRGB(). ShowRGB () - выводит один цвет на светодиод. ShowSpectrum () выводит все цвета по очереди – радуга.
void showSpectrum()
{
int x;
for (x = 0; x < 768; x++)
{
showRGB(x); // Вызов RGBspectrum() сновым значением x
delay(10); // Пауза 10 ms (1/100 секунды)
}
}
// ShowRGB()
// Базовые цифры:
// 0 = чистый красный
// 255 = чистый зеленый
// 511 = чистый синий
// 767 = чистый красный (опять же)
void showRGB(int color)
{
int redIntensity;
int greenIntensity;
int blueIntensity;
if (color <= 255)
{
redIntensity = 255 - color; // красный меняется из включенного на выключенный
greenIntensity = color; // зеленый меняется из выключенного на включенный
blueIntensity = 0; // голубой всегда выключен
}
else if (color <= 511)
{
redIntensity = 0; // красный всегда выключен
greenIntensity = 255 - (color - 256); // зеленый от включенного к выключенному
blueIntensity = (color - 256); // голубой от выключенного к включенному
}
else if (color >= 512)
{
redIntensity = (color - 512); // красный выкл. К вкл.
greenIntensity = 0; // зеленый всегда выкл.
blueIntensity = 255 - (color - 512); // голубой от вкл. К выкл.
}
analogWrite(RED_PIN, redIntensity);
analogWrite(BLUE_PIN, blueIntensity);
analogWrite(GREEN_PIN, greenIntensity);
}
Ülesanne “Valgusfoor”
Töö kirjeldus:
paevvalgusfoor: päevaajal töötab valgusfoor autole nagu peab: punane, kollane ja roheline ning inimesele: punane ja roheline. Värvi vahetamised: roheline – kollane 5s, kollane – punane 2.5s, punane – kollane 5s, ning kui auto valgusfoor põleb punasega – inimene võib läbikäia, sest inimese valgusfoor on roheline. Kui põleb kollane auto valgusfoor sel ajal on inimesel punane värv ja läbikäia ei saa.
oovalgusfoor: öösel töötab auto valgusfoor autonoomsel reziimis, ehk vilgutab kollasega ja inimese valgusfoor ei tööta. Auto valgusfoor vilgutab iga 1s vahel ning kordab seda reziimi selles koodis 8 korda.
Komponendid:
Arudiono Uno 1tk
Arendusplaat 1tk
Valgusdiood 5tk
Takisti 5tk
Juhtmed 7 tk
Ühendamise skeem:

https://www.tinkercad.com/things/d7SGu474hhc-powerful-trug/editel?sharecode=l5oYR5c-E4fPh1BAYs6PWkl_yHQQBntDIcGGeyFptPs
Programm:
// C++ code
//Anname pin numbrid vastavalt plaatile 11-13 auto valgusfoor, inimese valgusfoor 8-9
const int LIIK_RED_PIN = 12;
const int LIIK_GREEN_PIN = 13;
const int LIIK_YELLOW_PIN = 11;
const int INIM_RED_PIN = 9;
const int INIM_GREEN_PIN = 8;
void setup()
{
//Loeb pin väljaks
pinMode(LIIK_RED_PIN, OUTPUT);
pinMode(LIIK_GREEN_PIN, OUTPUT);
pinMode(LIIK_YELLOW_PIN, OUTPUT);
pinMode(INIM_RED_PIN, OUTPUT);
pinMode(INIM_GREEN_PIN, OUTPUT);
}
void loop()
{
//täitab paevvalgusfoor ja kordab tsüklis oovalgusfoor, et see võiks mitu korda vilgutama
paevvalgusfoor();
for(int i=0;i<8;i++)
{
oovalgusfoor();
}
}
void paevvalgusfoor()
{
//горит зелённый для машин, красный для пешехода
digitalWrite(LIIK_RED_PIN, LOW);
digitalWrite(LIIK_YELLOW_PIN, LOW);
digitalWrite(LIIK_GREEN_PIN, HIGH);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(5000);
//переход на желтый для машин, красный для пешехода
digitalWrite(LIIK_RED_PIN, LOW);
digitalWrite(LIIK_YELLOW_PIN, HIGH);
digitalWrite(LIIK_GREEN_PIN, LOW);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(2500);
//переход на красный для машин, зеленый для пешехода
digitalWrite(LIIK_RED_PIN, HIGH);
digitalWrite(LIIK_YELLOW_PIN, LOW);
digitalWrite(LIIK_GREEN_PIN, LOW);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, HIGH);
delay(5000);
//переход на желтый для машин, красный для пешехода
digitalWrite(LIIK_RED_PIN, LOW);
digitalWrite(LIIK_YELLOW_PIN, HIGH);
digitalWrite(LIIK_GREEN_PIN, LOW);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(2500);
}
void oovalgusfoor()
{
//kollane värv põleb, kõik teised ei põle
digitalWrite(LIIK_RED_PIN, LOW);
digitalWrite(LIIK_YELLOW_PIN, HIGH);
digitalWrite(LIIK_GREEN_PIN, LOW);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
//kõik värvid ei põle
digitalWrite(LIIK_RED_PIN, LOW);
digitalWrite(LIIK_YELLOW_PIN, LOW);
digitalWrite(LIIK_GREEN_PIN, LOW);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
}
Video:
https://drive.google.com/drive/folders/1QIIOFeZJeWjZsU1fwYtt2furDs4VmduP?usp=sharing
Kus võib seda kasutada:
Külmikus võib kasutada lampi, mis põleb sel ajal, kui külmik on lahti.
Tänava valgustid töötavad, kui väljas on pime.
Avarii reziim, kui juhtus mingi probleem elektriga
Reklaami bannerid, et kõik võiksid neid näha öösel, päeva ajal võib mitte põlema