1. katse LED dioodid ja RGB LED

Katse 1.1 LED kasutamine


RGB LED-dioodid on valgusdioodid, mis suudavad kiirgada punast, rohelist ja sinist valgust, võimaldades luua mitmesuguseid värvitoone. Iga värvi heleduse juhtimine võimaldab luua erinevaid värvikombinatsioone. RGB LED-dioodide juhtimiseks kasutatakse kolme kanalit, ühte iga värvi jaoks: punane (Red), roheline (Green) ja sinine (Blue). Need dioodid on leidnud laialdast rakendust valgustuses, dekoratsioonis, elektroonikas ja meelelahutustööstuses, kus erksate ja mitmekülgsete valgusefektide loomine on disaini võtmeelement

Nuppu vajutatud

Nuppu ei ole vajutatud

void setup()
{
  
  pinMode(13, OUTPUT);  
}
void loop()
{
  digitalWrite(13, HIGH);   
  delay(1000);               
  digitalWrite(13, LOW);   
  delay(1000);              
}

Scheme 1

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

Scheme 2

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

Scheme

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:

  1. Valgustus: LED-lambid on muutunud populaarseks valgustusvahendiks tänu oma energiasäästlikkusele ja pikaajalisele vastupidavusele. Neid kasutatakse kodudes, kontorites ja avalikes kohtades.
  2. Ekraanid: LED-ekraane kasutatakse suurepäraste pildikvaliteedi ja energiasäästlikkuse tõttu. Need on levinud digitaalsete reklaamide, telesaadete ja spordiareenide juures.
  3. Autod: LED-tuled on muutunud üha populaarsemaks autode esitulede ja tagatulede valgustuseks. Need on eriti populaarsed spordi- ja luksusautode hulgas.
  4. Kodutehnika: LED-id on muutunud standardiks kodumasinate ekraanidel. Need annavad teavet masina oleku kohta ja on väga energiasäästlikud.
  5. Nutitelefonid: LED-tuled on kaasatud nutitelefonide kaamerate välklampidesse. Need tagavad hämaras või pimedas pildistamisel parema valgustuse.

jne.