Katse 1.1 LED kasutamine

Nuppu vajutatud

Nuppu ei ole vajutatud
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
Katse 1.2 RGB LED kautamine

pärast sisselülitamist süttib alati erinevate värvidega kui eelnevalt määratud värvid.
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. Далее идет функция
}
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);
}

ka RGB-ga
void loop()
{
// Мы создали функцию с именем mainColors (), которая проходит через все восемь цветов. Здесь мы только вызываем нашу функцию, Сам же код функции находится ниже.
// Эта функция включает и выключает отдельно каждый светодиод либо Вкл., либо Выкл. Если вы хотите получить больше чем восемь цветов, вам придется
// изменять еще и яркость каждого светодиода. Для этого можно воспользоваться
// функцию analogWrite(), - градация яркости от 0 до 255. Далее идет функция
// с именем showSpectrum (), которая плавно проследует через каждый из 8 цветов. ее, код находится ниже.
showSpectrum();
}
// Ниже приведен код еще двух функций: 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);
}
Uued 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
Ülesanne 1.3 Valgusfoor
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed

programmi käivitamisel süttib roheline tuli autode jaoks ja punane tuli inimeste jaoks kahe sekundi pärast kollane tuli 1 sekund pärast kollase tule punaseks autode jaoks ja roheline inimeste jaoks 2 sekundit pärast öösel langeb ja 5 sekundit kollane tuli vilgub liiklusvalguses autode jaoks ja lülitub välja inimeste jaoks
Video:

programm:
const int pedestrianGreenLED = 2;
const int pedestrianRedLED = 3;
const int carGreenLED = 5;
const int carYellowLED = 6;
const int carRedLED = 7;
void loop() { // Siin aktiveeritakse kordamööda kõik allpool kirjeldatud funktsioonid, mõnikord koos sisuga, et teha valgusfoori
pedestrianTraffic();
carTraffic();
delay(2000);
carYellow();
delay(1000);
pedestrianTraffic();
switchTraffic();
delay(2000);
pedestrianTrafficNight();
carYellow();
for (int i = 0; i < 5; i++) { // Siin ma tegin ilma funktsioonideta ja panin lihtsalt funktsiooni lõppu, et lülitada auto valgus öisele // režiimile, kus see vilgub 5 sekundit.
digitalWrite(carYellowLED, HIGH);
delay(500);
digitalWrite(carYellowLED, LOW);
delay(500);
}
}
void setup() {
pinMode(pedestrianGreenLED, OUTPUT);
pinMode(pedestrianRedLED, OUTPUT);
pinMode(carGreenLED, OUTPUT);
pinMode(carYellowLED, OUTPUT);
pinMode(carRedLED, OUTPUT);
}
void pedestrianTraffic() { //funktsioon, et lülitada inimeste jaoks valgus punaseks
digitalWrite(pedestrianGreenLED, LOW); // roheline kustub
digitalWrite(pedestrianRedLED, HIGH); // punane tuli põleb
}
void pedestrianTrafficNight() { // funktsioon inimeste tulede lülitamiseks öörežiimile, kus kõik on välja lülitatud
digitalWrite(pedestrianGreenLED, LOW);
digitalWrite(pedestrianRedLED, LOW);
}
void carTraffic() { // funktsioon, et lülitada valgusfoori roheliseks autode jaoks
digitalWrite(carGreenLED, HIGH); // rohelised tuled
digitalWrite(carYellowLED, LOW); // kollane
digitalWrite(carRedLED, LOW); // ja punane kustuvad
}
void carYellow() { // funktsioon autode kollaste tulede sisselülitamiseks
digitalWrite(carGreenLED, LOW); // roheline kustub
digitalWrite(carYellowLED, HIGH); // kollased tuled
digitalWrite(carRedLED, LOW); // punane kustub
}
void switchTraffic() { // Funktsioon värvide muutmiseks 1 hetkel mõlemal fooritulestikul
digitalWrite(pedestrianGreenLED, HIGH); // süttib inimeste jaoks roheliselt
digitalWrite(pedestrianRedLED, LOW); // punane läheb inimeste jaoks välja
digitalWrite(carGreenLED, LOW); // rohelised ja
digitalWrite(carYellowLED, LOW); // kollased tuled kustuvad autode jaoks
digitalWrite(carRedLED, HIGH); // süttib autode jaoks punase tulega
}
Siin on viis võimalust LED-ide kasutamiseks igapäevaelus:
- Valgustus: LED-lambid on muutunud populaarseks valgustusvahendiks tänu oma energiasäästlikkusele ja pikaajalisele vastupidavusele. Neid kasutatakse kodudes, kontorites ja avalikes kohtades.
- Ekraanid: LED-ekraane kasutatakse suurepäraste pildikvaliteedi ja energiasäästlikkuse tõttu. Need on levinud digitaalsete reklaamide, telesaadete ja spordiareenide juures.
- Autod: LED-tuled on muutunud üha populaarsemaks autode esitulede ja tagatulede valgustuseks. Need on eriti populaarsed spordi- ja luksusautode hulgas.
- Kodutehnika: LED-id on muutunud standardiks kodumasinate ekraanidel. Need annavad teavet masina oleku kohta ja on väga energiasäästlikud.
- Nutitelefonid: LED-tuled on kaasatud nutitelefonide kaamerate välklampidesse. Need tagavad hämaras või pimedas pildistamisel parema valgustuse.
jne.