LED ja RGB LED kasutamine

Katse 1.1 – Punane LED vilkuv:

Используемые компоненты:

  • Arudiono Uno 1tk
  • Плата 1 шт
  • Светодиод 1 шт
  • Транзистор 220 Om
  • Провода 3шт

Схема соединения:

Код:

void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1500); // Wait for 10 millisecond(s)
  digitalWrite(LED_BUILTIN, LOW);
  delay(500); // Wait for 10 millisecond(s)
}

Пояснение кода:

Цель программы: заставить встроенный светодиод (LED_BUILTIN) периодически загораться и гаснуть.

  • Включаем светодиод.
  • Ждём 1.5 секунды.
  • Выключаем светодиод.
  • Ждём 0.5 секунды.
  • Повторяем.
  • void — функция ничего не возвращает.
  • setup — специальная функция Arduino, вызывается один раз при старте программы.
  • {} — фигурные скобки открывают и закрывают тело функции.
  • pinMode — установка режима работы пина.
  • LED_BUILTIN — константа для встроенного светодиода (обычно пин 13).
  • OUTPUT — режим “вывод” (пин будет выдавать сигнал).
  • void — функция снова ничего не возвращает.
  • loop — основная функция программы, выполняется бесконечно в цикле.
  • digitalWrite — подать на пин цифровой сигнал.
  • HIGH — включить питание на пине (зажечь светодиод).
  • delay — пауза выполнения кода.
  • 1500 миллисекунд (1.5 секунды) — светодиод горит.
  • LOW — снять питание с пина (погасить светодиод).
  • Пауза на 500 миллисекунд (0.5 секунды) — светодиод не горит.

Katse 1.2 – RGB LED muudab värvi:

Используемые компоненты:

  • Arudiono Uno 1tk
  • Плата 1 шт
  • Светодиод 1 шт
  • Транзистор 220 Om
  • Провода 3шт

Схема соединения:

Код:

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);
}

Пояснение кода:

  • RED_PIN, GREEN_PIN, BLUE_PIN — назначение пинов для управления красным, зелёным и синим цветами.
  • DISPLAY_TIME — время задержки для смены цвета (не используется везде, но оставлено для удобства настройки).
  • pinMode(p, OUTPUT) — каждый пин настроен на вывод сигнала для управления светодиодом.
  • mainColors() — Показывает фиксированные цвета, по очереди
  • showSpectrum() — Перебор значений цвета от 0 до 767:
    • 0–255 — переход от красного к зелёному.
    • 256–511 — переход от зелёного к синему.
    • 512–767 — переход от синего обратно к красному.
  • showRGB(int color) — Функция вычисляет интенсивность каждого цвета в зависимости от текущего значения color.
    • Работает по трём зонам:
      • 0–255: Красный уменьшается, зелёный увеличивается.
      • 256–511: Зелёный уменьшается, синий увеличивается.
      • 512–767: Синий уменьшается, красный увеличивается.
  • analogWrite —

Ülesanne “Valgusfoor”

Описание работы:

Работа сфетовора в 2ух режимах: ночной и дневной

Используемые компоненты:

  • Arudiono Uno 1tk
  • Плата 1 шт
  • Светодиод 5 шт
  • Транзисторы 220 Om 5шт
  • Провода 7 шт

Схема соединения:

Процесс работы:

Проект имитирует работу настоящего перекрёстка:

  • Светофор переключается между дневным и ночным режимом.
  • В дневном режиме 3 раза проигрывается сценарий движения для машин и пешеходов.
  • В ночном режиме мигает только жёлтый свет для автомобилей.

Дневной режим

  1. Автомобильный светофор: верхние лампы — красный, жёлтый, зелёный.
  2. Пешеходный светофор: нижние две лампы — зелёный, красный.
  3. Цикл начинается с красного сигнала для авто и зелёного — для пешеходов.
  4. Зелёный пешеходный мигает три раза, потом выключается.
  5. Одновременно гаснет красный для авто, и включается жёлтый.
  6. Через 2 секунды — зелёный для авто.
  7. В конце фазы — зелёный для авто мигает трижды, после чего переключается на жёлтый.
  8. Снова включается красный для авто и зелёный для пешеходов.

Ночной режим (один для всех)

В ночное время у светофора машины получают только мигающий жёлтый сигнал. А пешеходный светофор в это время отдыхает — не работает вовсе.

Видео:

Применение светодиодов (LED) в разных проектах:

Учебные и хобби-проекты

  1. Индикаторы состояния — для отображения, что система работает (или перегрелась).
  2. Световые игры и головоломки — нажал кнопку, загорелся свет.
  3. DIY ночник — мягкий свет и уют своими руками.

Умный дом

  1. Подсветка мебели/плинтусов/лестниц.
  2. Индикация температуры или влажности — красный, если жарко, синий — если холодно.
  3. Световой будильник — симулирует рассвет.

Автомобильные проекты

  1. Подсветка салона и днища.
  2. Индикация поворотов, стоп-сигналы и т.д.
  3. LED-панель на заднее стекло — например, для отображения «Спасибо» или «Держи дистанцию!».

Робототехника и мехатроника

  1. Индикация работы сенсоров — проще понять, что именно «глючит».
  2. Сигнализация ошибок — мигает, когда роботу плохо.
  3. Имитация глаз или эмоций.

Арт и инсталляции

  1. Интерактивные световые скульптуры.
  2. LED-музыка-визуализация — когда каждый бас вызывает вспышку.
  3. Костюмы с подсветкой.

Научные и лабораторные приборы

  1. Индикация фаз эксперимента — что-то типа «красный — не трогай», «зелёный — можно».
  2. Фотометрия и сенсоры света — LED как источник света в измерительных системах.