Тема 1: LED и RGB LED

Тема 1: LED и RGB LED
LED и RGB LED

LED (светодиод) — это электронное устройство, которое излучает свет, когда через него проходит электрический ток. Светодиоды энергоэффективны, долговечны и компактны, что делает их популярными в различных приложениях, включая освещение, экраны и индикаторы сигналов. Температура цвета LED может варьироваться в зависимости от материалов, из которых они изготовлены, и может включать различные цвета, от теплого белого до холодного синего и красного.

RGB LED — это особый тип светодиода, который включает в себя три разных светодиода (красный, зеленый и синий) в одном устройстве. RGB светодиоды позволяют смешивать различные цвета, создавая широкую палитру, включая белый, когда все три цвета работают на полную мощность. Они популярны в приложениях, где требуется динамическое изменение цвета, например, в декоративном освещении, подсветке и LED-экранах. RGB светодиоды часто управляемы, позволяя пользователям создавать особые эффекты освещения и изменять цвета в зависимости от потребностей.

Эксперимент 1.1 Использование LED

Компоненты: Плата Arduino UNO (1 шт)
Макетная плата (1 шт)
Провода (3 шт)
Резистор (1 шт, 1 кОм)
LED (1 шт: 1 красный)

void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}

Эксперимент 1.2. RGB светодиод ка-не

Плата Arduino UNO (1 шт.)
Макетная плата (1 шт.)
Провода (5шт)
Резистор (3шт, 1кОм)
Светодиод (1шт: 1 зеленый)
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);
}

Задача «Светофор» Описание работы

Компоненты:
Плата Arduino UNO (1 шт.)
Макетная плата (1 шт.)
Провода (6шт)
Резистор (3шт, 1кОм)
Светодиод (5шт: 2 красных, 2 зеленых, 1 желтый)

Рабочий процесс:
// C++ code
//
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}
void loop()
{
  for (int i=0;i<3;i++){
  digitalWrite(13, HIGH);
  digitalWrite(9, HIGH);
  
  delay(5000); // Wait for 1000 millisecond(s)
  
  digitalWrite(13, LOW);
  digitalWrite(9, LOW);
    
  delay(1000); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, HIGH);
  
  delay(1000); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, LOW);
  
  delay(1000); // Wait for 1000 millisecond(s)
  
  digitalWrite(11, HIGH);
  digitalWrite(10, HIGH);
  
  delay(5000); // Wait for 1000 millisecond(s)
  
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
    
  delay(1000); // Wait for 1000 millisecond(s)
 
    for (int a=0;a<15;a++){
       digitalWrite(12, HIGH);
  
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, LOW);
      
  delay(500); // Wait for 1000 millisecond(s)
    }
  }
}