Проект 12: Управляємо реле через транзистор
В цьому експерименті ми познайомимося з реле, за допомогою якого з Arduino можна управляти потужним навантаженням не тільки постійного, а й змінного струму.
Необхідні компоненти:
- контролер Arduino UNO R3;
- плата для прототипування;
- біполярний транзистор С945;
- діод 1N4004;
- реле;
- дроти тато-тато.
- дроти тато-мама.
Реле - це електрично керований, механічний перемикач, має два окремих ланцюга: ланцюг управління, представлений контактами (А1, А2), і керований ланцюг, контакти 1, 2, 3 (див. Рис. 12.1).

Ланцюги ніяк не пов'язані між собою. Між контактами А1 і А2 встановлений металевий сердечник, при протіканні струму по якому до нього притягується рухливий якір (2). Контакти же 1 і 3 нерухомі. Варто відзначити, що якір підпружинений, і поки ми не пропустимо струм через сердечник, якір буде притиснутим до контакту 3. При подачі струму, як уже говорилося, сердечник перетворюється в електромагніт і притягується до контакту 1. При знеструмленні пружина знову повертає якір до контакту 3 .
При підключенні реле до Arduino контакт мікроконтролера не може забезпечити потужність, необхідну для нормальної роботи котушки. Тому слід посилити струм - поставити транзистор. Для посилення зручніше застосовувати npn-транзистор, включений за схемою ОЕ (див. Рис. 12.2). При такому способі можна підключати навантаження з більшою напругою живлення, ніж живлення мікроконтроллера. Резистор на базі - обмежувальний. Може варіюватися в широких межах (1-10 кОм), в будь-якому випадку, транзистор буде працювати в режимі насичення. В якості транзистора може бути будь-який npn-транзистор. Коефіцієнт посилення практично не має значення. Вибирається транзистор по струму колектора (потрібний нам струм) і напрузі колектор-емітер (напруга, якиою живиться навантаження).

Для включення реле, підключеного за схемою з ОЕ, на вивід Arduino необхідно подати 1, для виключення - 0. Підключимо реле до плати Arduino за схемою на рис. 12.3 і напишемо скетч управління реле. Кожні 5 секунд реле буде переключатися (включатися / вимикатися). При перемиканні реле лунає характерне клацання. Вміст скетчу показано в лістингу 12.1.
int relayPin = 10; // підключення до виводу D10 Arduino
void setup ()
{
pinMode (relayPin, OUTPUT); // налаштувати вивід як вихід (OUTPUT)
}
// функція виконується циклічно нескінченне число разів
void loop ()
{
digitalWrite (relayPin, HIGH); // включити реле
delay (5000);
digitalWrite (relayPin, LOW); // вимкнути реле
delay (5000);
}
Порядок підключення:
- Підключаємо елементи до плати Arduino за схемою на рис. 12.3.
- Завантажуємо в плату Arduino скетч з лістингу 12.1.
- Кожні 5 секунд відбувається клацання перемикання реле, якщо підключити контакти реле, наприклад в розрив підключеної до мережі 220 В патрона з лампою розжарювання, то побачимо процес включення / вимикання лампи розжарювання раз в 5 секунд (рис. 12.3).

Рис. 12.3