Arduino для початківців. Як керувати електронними пристроями за допомогою Arduino та оптопари (Частина 15)

3 березня 2025 1 хвилина Автор: Lady Liberty

Ви дізнаєтеся, як працює оптопара та чому вона корисна для керування пристроями через Arduino, які компоненти потрібні для реалізації схеми, як підключити оптопару до Arduino, щоб керувати кнопками на іншому пристрої, які є приклади коду для автоматизації процесу, а також як використовувати цей метод у проектах розумного будинку, робототехніки та автоматизації.

Злам кнопок

Отримай контроль над іншими компонентами навколо тебе. Використовуючи додаткові електронні схеми, ти можеш “натискати” кнопки за допомогою Arduino.

Увага: якщо ти берешся за цей проєкт, то вже не є початківцем. Тобі доведеться відкрити електронний пристрій і модифікувати його. Це анулює гарантію на пристрій, а якщо бути необережним, можна пошкодити його. Перед тим як почати, переконайся, що добре розумієш усі електронні концепції з попередніх проєктів. Ми рекомендуємо спочатку використовувати недорогі пристрої, які не шкода зламати, поки ти не наберешся досвіду та впевненості.

Хоча Arduino може керувати багатьма речами, іноді простіше використовувати інструменти, створені для конкретних завдань. Можливо, ти хочеш керувати телевізором, музичним плеєром або керувати радіокерованою машинкою. Більшість електронних пристроїв мають панель керування з кнопками, і багато з них можна зламати так, щоб “натискати” їх за допомогою Arduino.

Хороший приклад – керування записаним звуком. Якщо ти хочеш записувати та відтворювати звук, змусити Arduino робити це самостійно буде доволі складно. Набагато простіше взяти невеликий пристрій для запису та відтворення звуку та замінити його кнопки виходами, які контролює Arduino.

Оптопари – це інтегральні мікросхеми, які дозволяють керувати одним електричним колом за допомогою іншого без жодного електричного з’єднання між ними. Усередині оптопари знаходяться світлодіод і світлочутливий детектор. Коли Arduino вмикає світлодіод в оптопарі, детектор світла закриває внутрішній перемикач.

Цей перемикач підключений до двох вихідних виводів (4 і 5) оптопари. Коли перемикач закритий, ці два виводи з’єднуються між собою. Якщо перемикач відкритий, вони залишаються роз’єднаними. Таким чином, можна замикати контакти на інших пристроях без прямого підключення до Arduino.

У цьому прикладі використовується схема для керування цифровим модулем запису, який дозволяє записувати та відтворювати звук протягом 20 секунд. Проте цей підхід працює для будь-якого пристрою, що має кнопку, до якої є доступ. Хоча цей приклад можна реалізувати без паяння проводів, паяльне з’єднання значно полегшить процес. Для отримання додаткової інформації про паяння див. стор. 134.

Збірка схеми

  1. Підключіть землю до макетної плати через Arduino.

  2. Розмістіть оптопару на макетній платі так, щоб вона знаходилася по центру плати (див. схему підключення).

  3. Підключіть вивід 1 оптопари до порту 2 Arduino через резистор на 220 Ом (пам’ятайте, що ви живите світлодіод усередині, тому потрібно обмежити струм, щоб він не згорів). Вивід 2 оптопари підключіть до землі (GND).

  4. На основній платі звукового модуля є кілька електронних компонентів, включаючи кнопку відтворення. Щоб керувати перемикачем, вам потрібно буде видалити кнопку. Переверніть плату та знайдіть фіксатори, які утримують кнопку на місці. Обережно відігніть їх і зніміть кнопку з плати.

  5. Під кнопкою розташовані дві маленькі металеві пластини. Такий візерунок характерний для багатьох електронних пристроїв із кнопками. Дві «вилки» цього візерунка є двома сторонами перемикача. Усередині кнопки знаходиться маленький металевий диск, який з’єднує ці дві вилки, коли ви натискаєте кнопку.

  6. Коли вилки з’єднуються, перемикач на платі замикається. Ви будете замикати перемикач за допомогою оптопари. Цей метод працює лише в тому випадку, якщо одна із двох сторін перемикача кнопки підключена до землі пристрою. Якщо ви не впевнені, візьміть мультиметр і виміряйте напругу між однією з вилок і землею пристрою. Робити це потрібно з увімкненим пристроєм, тому будьте обережні й не торкайтеся інших компонентів на платі. Коли визначите, яка вилка підключена до землі, вимкніть живлення пристрою.

  7. Далі підключіть по одному проводу до кожної з металевих пластин. Якщо ви паяєте дроти, будьте обережні, щоб не з’єднати дві сторони перемикача разом. Якщо не використовуєте паяння, а застосовуєте стрічку, переконайтеся, що з’єднання надійне, інакше перемикач не буде замикатися. Також переконайтеся, що жоден дріт не з’єднаний із другою виделкою, інакше перемикач буде замкнений постійно.

  8. Підключіть два дроти до виводів 4 і 5 оптопари. Сторону перемикача, яка підключена до землі, під’єднайте до виводу 4 оптопари. Іншу вилку підключіть до виводу 5 оптопари.

Код

  • Створіть константу. Основна частина цікавості цього проєкту полягає в схемі та використанні оптопари. Код дуже схожий на перший проєкт, який ви створювали з Arduino. У цьому випадку ми будемо відтворювати звук кожні 20 секунд, піднімаючи пін 2 у HIGH. Створіть константу для керування оптопарою.

  • Налаштуйте напрямок піна. У функції setup() встановіть пін оптопари як вихідний (OUTPUT).

  • Перемикання стану піна. У функції loop() пін optoPin встановлюється в HIGH на кілька мілісекунд, що достатньо для того, щоб оптопара замкнула перемикач на пристрої. Потім optoPin встановлюється в LOW.

  • Затримка перед повторним відтворенням.

    Після натискання кнопки чекаємо 21 секунду, щоб запис повністю відтворився, перш ніж запускати цикл знову.

const int optoPin = 2;  

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

void loop() {  
  digitalWrite(optoPin, HIGH);  
  delay(15);  
  digitalWrite(optoPin, LOW);  
  delay(21000);  
}

Використання

  1. Підключіть батарею до модуля запису.

  2. Запишіть звук. Натисніть і утримуйте кнопку запису на пристрої. Поки ви утримуєте кнопку, записуйте звук через вбудований мікрофон. Це може бути ваш голос, звук каструль або навіть кота (але будьте обережні з котом).

  3. Запустіть Arduino. Після запису підключіть Arduino через USB.

  4. Відтворення звуку. Запис почне відтворюватися автоматично. Якщо запис тривав 20 секунд, то через короткий проміжок часу він почне відтворюватися знову.

Експериментуйте зі зміною затримки delay(), щоб створювати унікальні послідовності звуків!

Спробуйте поекспериментувати з різними звуками та тривалістю перемикання відтворення за допомогою delay() у вашій програмі. Якщо натиснути перемикач під час відтворення звуку, він припиниться. Як ви можете скористатися цим, щоб створити унікальні послідовності звуків?

Інтегральні мікросхеми (IC) присутні майже у кожному електронному пристрої. Велика 28-контактна мікросхема на платі Arduino є центральним елементом керування. Крім неї, існують інші мікросхеми, які забезпечують комунікацію та живлення. Оптопара, так само як і головний чіп Arduino, є мікросхемою у форматі Dual In-line Package (DIP). DIP-чіпи широко використовуються серед любителів електроніки, оскільки легко встановлюються на макетну плату без необхідності постійного паяння.

У цьому прикладі проєкту звук відтворювався на регулярних інтервалах. Але як можна додати керування на основі вхідних сигналів із попередніх проєктів? Які живлені від батареї пристрої у вас вдома можна підключити до Arduino для автоматичного керування?

Техніка керування електронними пристроями за допомогою оптопари, підключеної до двох контактів кнопки, може бути використана в багатьох інших пристроях. Оптопари дозволяють керувати пристроями, що працюють на різних електричних колах, оскільки вони забезпечують електричну ізоляцію між цими колами всередині компонента.

Інші статті по темі
Майстерня мікроконтролерівОсвіта
Читати далі
Arduino для початківців. Створюємо прості схеми з LED, кнопками та резисторами (Частина 2)
Ви дізнаєтеся, що таке електричний струм, напруга та опір, а також на практиці вивчите основи роботи з паралельним і послідовним з’єднанням компонентів.
213
Майстерня мікроконтролерівОсвіта
Читати далі
Arduino для початківців. Як зробити механічний індикатор настрою на Arduino за допомогою сервоприводу (Частина 5)
Ви дізнаєтесь, як працює сервопривід, як його підключити до Arduino за допомогою бібліотеки Servo, а також як використовувати потенціометр для керування положенням стрілки.
146
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.