Arduino Blink блимаєм світлодіодом

Прикла коду блимання світлодіодом (Blink), схема підключення та розрахунок струмообмежувального резистора на Arduino Uno. Цей приклад можна використати для для інших Arduino NANO, MINI, MEGA, DUO, а також ESP32, ESP8266. Також поблимаєм вбудованим світлодіод на платі Uno, для якого резистор вже розпаяний на платі та не потрібно додаткових компонентів.

Розрахунок резистора

Катод світлодіода підключається до GND, анод через струмообмежувальний резистор до живлення. Для розрахунку резостора потрібно знати падіння напруги на світлодіоді, його струм та напругу живлення.

Типовий струм для індикаторних світлодіодів 20 mA.

Таблиця падіння напруги для більшості індикаторних світлодіодів.

КолірНапруга
Інфрачервоний~ 1.6 V
Червоний1.6 – 2.0 V
Помаранчовий2.0 – 2.1 V
Жовтий2.1 – 2.2 V
Зелений1.9 – 3.5 V
Синій2.5 – 3.6 V
Білий2.8 – 4.0 V
Формула розрахунку струмообмежувального резистора
Rs = (Us – Uf ) / If ;

Де Rs – опір струмообмежувального резистора в Ом.

Us – Напруга живлення до якого підключатиметься світлодіод, в нашому випадку 5 V.

Uf – Падіння напруги на світлодіоді, в нашому випадку червоний світлодіод 1.6 – 2.0 V.

If – струм світлодіода, в нашому випадку 20 mA, або 0.02 A.

Розраховуєм Rs = (5 – 2) / 0.02 = 150 Om

Опір резистора світлодіода 150 Ом, для нашого прикладу резистор підійде від 150 Ом до 1000 Ом (1 кОм). Чим більший буде опір тим тмянішим буде світлодіод, нам для блимання яскравість неважлива.

Максимально допустимий струм на одному піні у Arduino 40 mA, номінальний 20 mA. Тому навантаження яке споживає більше 40 mA потрібно підключати через транзистор або реле. Керування потужним навантаженням за допомогою Arduino.

Код для Arduino Uno

Будемо вмикати світлодіод на 1 секунду та вимикати на пів секунди.

#include <Arduino.h>

#define LED_PIN 10              // Пін для керування світлодіодом.

void setup() 
{
  pinMode(LED_PIN, OUTPUT);     // Встановлюєм LED_PIN як вихід.
}

void loop()
{
  digitalWrite(LED_PIN, HIGH);  // Встановлюєм високий рівень на виході LED_PIN.
  delay(1000);                  // Очікуєм 1000 ms 
  digitalWrite(LED_PIN, LOW);   // Встановлюєм низький рівень на виході LED_PIN.
  delay(500);                   // Очікуєм 500 ms 
}

Для вбудованого світлодіода змініть в коді LED_PIN з 10 на 13.

Керування яскравістю світлодіода за допомогою PWM (широтно імпульсна модуляція).

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *