- Сенсорний сенсор
- Дізнайтеся про Relay
- Потрібні компоненти
- Кругова діаграма
- Програмування Arduino UNO для управління лампочкою за допомогою сенсорного датчика
- Тестування роботи сенсорного датчика TTP223
У деяких програмах користувацький ввід необхідний для управління функціями пристрою. У вбудованій та цифровій електроніці використовуються різні типи методів введення користувачем. Сенсорний сенсор - один з них. Сенсорний датчик є важливим і широко використовуваним пристроєм введення для взаємодії з мікроконтролером, і це спростило введення даних. Існують окремі місця, де можна використовувати сенсорний датчик, будь то мобільний телефон або перемикач РК-монітора. Однак на ринку доступно багато типів датчиків, але ємнісний сенсорний сенсор є широко використовуваним типом у сегменті сенсорних сенсорів.
У попередньому підручнику ми здійснили управління світлом за допомогою сенсорного датчика та мікроконтролера 8051, тепер у цьому проекті той самий сенсорний датчик буде з'єднаний з Arduino UNO. Arduino - це широко популярна та легкодоступна плата розробки.
Раніше ми використовували сенсорні методи введення з використанням ємнісних сенсорних панелей з різними мікроконтролерами, такими як:
- Взаємодія сенсорної клавіатури з мікроконтролером ATmega32
- Ємнісна сенсорна панель з Raspberry Pi
Сенсорний сенсор
Датчик дотику, який буде використаний для цього проекту, є ємнісним модулем датчика дотику, а драйвер датчика базується на драйвері IC TTP223. Робоча напруга мікросхеми TTP223 становить від 2 В до 5,5 В, а споживання струму сенсорного датчика дуже низьке. Завдяки недорогому, низькому споживанню струму та легкій інтеграції підтримки сенсорний сенсор з TTP223 стає популярним у сегменті ємнісних сенсорних сенсорів.
На зображенні вище показано обидві сторони датчика, де чітко видно діаграму розпилювання. Він також має припойну перемичку, яку можна використовувати для перенастроювання датчика щодо вихідного сигналу. Перемичка - це А і В. Конфігурація за замовчуванням або в типовому стані перемички припою, вихід змінюється з НИЗЬКОГО на ВИСОКИЙ, коли торкається сенсора. Однак, коли перемичка встановлена і датчик переналаштований, вихід змінює свій стан, коли сенсорний датчик виявляє дотик. Чутливість сенсорного датчика також можна налаштувати, змінивши конденсатор. Для отримання детальної інформації перегляньте таблицю даних TTP 223, яка буде дуже корисною.
Нижче на діаграмі показано різні виходи при різних налаштуваннях перемичок-
Перемичка A | Перемичка B | Стан блокування виводу | Вихідний рівень TTL |
відчинено | відчинено | Без блокування | Високий |
відчинено | Закрити | Самоблокування | Високий |
Закрити | відчинено | Без блокування | Низький |
Закрити | Закрити | Самоблокування | Низький |
Для цього проекту датчик буде використовуватися як конфігурація за замовчуванням, яка доступна за умов заводського випуску.
Приладами можна керувати за допомогою сенсорного датчика та взаємодії з мікроконтролером. У цьому проекті сенсорний датчик буде використовуватися для управління лампочкою як УВІМК. Або ВИМК. За допомогою Arduino UNO та реле.
Дізнайтеся про Relay
Для взаємодії реле важливо мати чітке уявлення про опис контактів реле. Висновок реле можна побачити на зображенні нижче -
NO нормально відкритий, а NC нормально підключений. L1 і L2 - це два клеми котушки реле. Коли напруга не подається, реле вимикається і ПОЛЮС підключається до штифта NC. Коли напруга подається на клеми котушки, L1 і L2 реле вмикаються, а ПОЛЮС підключається до NO. Отже, зв’язок між POLE та NO можна ввімкнути або вимкнути, змінивши стан операцій реле. Настійно рекомендується перевірити специфікацію реле перед подачею заявки. Реле має робочу напругу на L1 і L2. Деякі реле працюють з 12В, деякі з 6В, а деякі з 5В. Не тільки це, NO, NC та POLE також мали номінал напруги та струму. Для нашого застосування ми використовуємо реле 5 В з напругою 250 В, 6 А на стороні перемикання.
Потрібні компоненти
- Arduino UNO
- Кабель USB для програмування та живлення
- Стандартне кубічне реле - 5 В
- 2k резистор -1 шт
- Резистор 4.7k - 1 шт
- Транзистор BC549B
- Модуль датчика TTP223
- 1N4007 Діод
- Лампочка з тримачем лампочки
- Макет
- Телефонний зарядний пристрій для підключення Arduino за допомогою USB-кабелю.
- Багато дротів для підключення або дротів Berg.
- Платформа програмування Arduino.
2k резистор, BC549B, 1N4007, і реле можна замінити релейним модулем.
Кругова діаграма
Схема підключення сенсорного датчика з Arduino проста і її можна побачити нижче,
Транзистор використовується для ввімкнення або вимкнення реле. Це пов'язано з тим, що шпильки Arduino GPIO не здатні забезпечити достатню кількість струму для керування реле. 1N4007 необхідний для блокування EMI під час увімкнення та вимкнення реле. Діод діє як діод вільного ходу. Датчик дотику підключений до плати Arduino UNO.
Схема побудована на макетній панелі з Arduino, як показано нижче.
Правильне підключення макетів можна побачити на схемі нижче.
Програмування Arduino UNO для управління лампочкою за допомогою сенсорного датчика
Повна програма з робочим відео подається в кінці. Тут ми пояснюємо кілька важливих частин коду. Arduino UNO буде запрограмовано за допомогою Arduino IDE. По-перше, бібліотека Arduino включена для доступу до всіх функцій Arduino за замовчуванням.
#включати
Визначте всі номери контактів, де буде підключено реле та сенсорний датчик. Тут сенсорний датчик підключений до виводу A5. Також використовується вбудований світлодіод, який безпосередньо підключений до плати до виводу 13. Реле підключено до виводу A4.
/ * * Опис штифта * / int Touch_Sensor = A5; int LED = 13; int Relay = A4;
Визначте режим виводу, тобто якою має бути функція виводу, як вхідний чи вихідний. Тут вводиться датчик дотику. Виводяться виводи реле та світлодіодів.
/ * * Налаштування режиму PIN- коду * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (світлодіод, ВИХІД); pinMode (реле, вихід); }
Оголошуються два цілих числа, де 'умова' використовується для збереження стану датчика незалежно від того, торкнувся він чи ні. "Стан" використовується для утримання або вимкнення стану світлодіода та реле.
/ * * Опис програми Опис * / int умова = 0; int стан = 0; // Утримувати стан перемикача.
Сенсорний датчик змінює логіку від 0 до 1, коли його торкаються. Це зчитується функцією digitalRead (), і значення зберігається у змінній умови. Коли умова 1, стан світлодіода та реле змінюється. Однак для точного виявлення дотику використовується затримка зняття звуку. Затримка відмови , затримка (250); використовується для підтвердження одного дотику.
недійсний цикл () { умова = digitalRead (A5); // Зчитування цифрових даних із штифта A5 Arduino. if (умова == 1) { затримка (250); // затримка відмови if (умова == 1) { стан = ~ стан; // Зміна стану комутатора. digitalWrite (світлодіод, стан); digitalWrite (реле, стан); } } }
Тестування роботи сенсорного датчика TTP223
Схема перевірена в макетній платі з підключеною до неї лампочкою низької потужності.
Зверніть увагу, що цей проект використовує напругу змінного струму 230-240 В, тому радимо бути обережними під час використання лампочки. Якщо у вас є якісь сумніви чи пропозиції, будь ласка, коментуйте нижче.