- Що таке ємнісний сенсорний сенсор і як він працює?
- Створення чотиристороннього ємнісного сенсорного датчика
- Матеріали, необхідні для схеми з сенсорним управлінням ESP32
- Схема управління для нашого ємнісного сенсорного датчика
- Дизайн друкованої плати для ємнісної схеми сенсорного датчика
- Код Arduino для ємнісного сенсорного датчика на основі ESP32
- Тестування схеми сенсорного датчика на основі ESP32
- Подальші вдосконалення
У багатьох випадках замість кнопок використовуються сенсорні датчики. Перевага полягає в тому, що нам не потрібно надавати силу для натискання кнопки, і ми можемо активувати клавішу, не торкаючись її за допомогою сенсорних датчиків. Технологія розпізнавання дотиків стає популярною день у день. І протягом останнього десятиліття чи близько того, стало важко уявити світ без сенсорної електроніки. Обидва резистивних і ємнісні сенсорні методи можуть бути використані для розробки сенсорного датчика, і в цій статті ми обговоримо сирої спосіб зробити ємнісний датчик дотику з ESP32, раніше ми також побудувати ємнісні сенсорні кнопки з Raspberry Pi.
Незважаючи на те, що специфічні для датчиків датчики можуть бути дещо складними, фундаментальний принцип, що лежить в основі цієї технології, залишається незмінним, тому в цій статті ми зосередимося на розробці нашого ємнісного датчика дотику за допомогою улюбленого ESP32 та шматочка міді. облицьована дошка.
У попередньому підручнику ми здійснили управління домашніми світильниками за допомогою сенсора за допомогою сенсора TTP223 та Arduino UNO. Зараз у цьому проекті ми створюємо сенсорний сенсор для ESP32, але те саме можна використовувати і для Arduino. Крім того, ми раніше використовували сенсорні методи введення з використанням ємнісних сенсорних панелей з різними мікроконтролерами, таких як взаємодія сенсорної клавіатури з мікроконтролером ATmega32 та ємнісна сенсорна панель з Raspberry Pi, ви також можете перевірити їх, якщо зацікавлені.
Що таке ємнісний сенсорний сенсор і як він працює?
Конденсатори бувають різних форм. Найчастіше один раз випускається у формі свинцевого пакету або поверхневого кріплення, але для формування ємності нам потрібні провідники, розділені діелектричним матеріалом. Таким чином, його легко створити. Хорошим прикладом може бути той, який ми збираємось розробити в наступному прикладі.
Враховуючи витравлену друковану плату як провідний матеріал, наклейка діє як діелектричний матеріал, тому зараз залишається питання, як торкання мідної прокладки спричиняє зміну ємності таким чином, що контролер сенсорного датчика може виявити? Звичайно, людський палець.
Ну, в основному є дві причини: по-перше, одна включає діелектричні властивості нашого пальця, друга - через провідні властивості нашого пальця. Ми будемо використовувати ємнісний сенсор. Отже, ми зосередимо свою увагу на ємнісному сенсорному сенсорі. Але перед тим, як обговорити все це, важливо зазначити, що ніякої провідності не відбувається, а палець ізольований через папір, що використовується в наклейці. Отже, палець не може розрядити конденсатор.
Палець виконує роль діелектрика:
Загальновідомо, що конденсатор має постійне значення, яке може бути реалізоване площею двох провідних пластин, відстанню між пластинами та його діелектричною проникністю. Ми не можемо змінити площу конденсатора, просто торкнувшись його, але ми можемо змінити діелектричну проникність конденсатора, оскільки людський палець має іншу діелектричну проникність, ніж матеріал, який його відображає. У нашому випадку це повітря, ми витісняємо повітря пальцями. Якщо ви запитуєте як? Це тому, що діелектрична проникність повітря 1006 при кімнатній температурі на рівні моря, а діелектрична проникність пальця набагато вище близько 80, оскільки палець людини складається переважно з води. Отже, взаємодія пальця з електричним полем конденсатора спричиняє збільшення діелектричної проникності, отже, ємність збільшується.
Тепер, коли ми зрозуміли головне, перейдемо до виготовлення власне друкованих плат.
Створення чотиристороннього ємнісного сенсорного датчика
Ємнісний сенсорний датчик, який використовується в цьому проекті має чотири канали, і це легко зробити. Нижче ми згадали детальний процес його виготовлення.
Спочатку ми виготовили друковану плату для датчика за допомогою інструменту дизайну друкованих плат Eagle, який виглядає приблизно так, як на малюнку нижче.
За допомогою розмірів та Photoshop ми створили шаблон і, нарешті, наклейку для датчика, яка виглядає приблизно так, як на зображенні нижче,
Тепер, коли ми закінчили з наклейкою, ми переходимо до створення власне шаблону плакированої дошки, який ми будемо використовувати для виготовлення нашої друкованої плати, який виглядає приблизно так, як показано на малюнку нижче,
Тепер ми можемо роздрукувати цей файл і продовжити процеси виготовлення саморобної друкованої плати. Якщо ви новачок, ви можете переглянути статтю про те, як побудувати друковану плату в домашніх умовах. Ви також можете завантажити необхідні файли PDF та Gerber за посиланням нижче
- Файл GERBER для чотириканального ємнісного сенсорного датчика
Після завершення справжня травлена друкована плата виглядає як на малюнку нижче.
Тепер прийшов час просвердлити кілька отворів, і ми з'єднали кілька проводів з друкованою платою. Так що ми можемо підключити його до плати ESP32. Після закінчення виглядає як на малюнку нижче.
Оскільки ми не вставляли провідники в друковану плату, припой повсюдно потрапляв під час пайки, ми виправили свою помилку, проклавши свердловину на друкованій платі, яку ви можете знайти у наведеному вище розділі завантаження. Нарешті, настав час надіти наклейку і зробити її остаточною. Що виглядає приблизно так, як на малюнку нижче.
Тепер ми закінчили з сенсорною панеллю, настав час перейти до створення схеми керування для сенсорної панелі.
Матеріали, необхідні для схеми з сенсорним управлінням ESP32
Компоненти, необхідні для побудови розділу контролера за допомогою ESP32, наведені нижче, і ви зможете знайти більшість із них у місцевому магазині хобі.
Я також перерахував компоненти в таблиці нижче з типом та необхідною кількістю, оскільки ми взаємодіємо чотириканальний сенсорний датчик і контролюємо чотири навантаження змінного струму, ми будемо використовувати 4 реле для перемикання навантаження змінного струму та 4 транзистори для побудови реле схеми драйверів.
Сл |
Частини |
Тип |
Кількість |
1 |
Естафета |
Перемикач |
4 |
2 |
BD139 |
Транзистор |
4 |
3 |
Гвинтовий термінал |
Гвинтова клема 5ммx2 |
4 |
4 |
1N4007 |
Діод |
5 |
5 |
0,1 мкФ |
Конденсатор |
1 |
6 |
100 мкФ, 25 В |
Конденсатор |
2 |
7 |
LM7805 |
Регулятор напруги |
1 |
8 |
1K |
Резистор |
4 |
9 |
560R |
Резистор |
4 |
10 |
Янтарний світлодіод |
СВІТЛОДІОДНИЙ |
4 |
11 |
Чоловічий заголовок |
З'єднувач |
4 |
12 |
Жіночий заголовок |
З'єднувач |
30 |
13 |
Червоний світлодіод |
СВІТЛОДІОДНИЙ |
1 |
14 |
ESP32 Dev Board V1 |
Дошка ESP32 |
1 |
12 |
Одягнена дошка |
Загальний 50x 50 мм |
1 |
13 |
Провід перемички |
Провід |
4 |
14 |
Підключення проводів |
Провід |
5 |
Схема управління для нашого ємнісного сенсорного датчика
На зображенні нижче наведена повна електрична схема нашого сенсорного сенсора на основі ESP32.
Як бачите, це дуже проста схема з мінімальними необхідними компонентами.
Оскільки це проста схема датчика дотику, вона може бути корисною в місцях, де ви хочете взаємодіяти з пристроєм за допомогою дотику, наприклад, замість використання типового перемикача, встановленого на дошці, ви можете вмикати / вимикати свої прилади дотиком.
На схемі, гніздо стовбура постійного струму використовується як вхід, де ми забезпечуємо необхідну потужність, необхідну для живлення схеми, звідти ми маємо наш регулятор напруги 7805, який перетворює нерегульований вхід постійного струму в постійний 5 В постійного струму, через який ми забезпечуємо живлення модуля ESP32.
Далі, на схемі, у нас є сенсорні роз'єми на штифтах 25, 26, 27, 28, де ми збираємось підключити тачпад.
Далі у нас є наші реле, які перемикаються через транзистор BD139, діод D2, D3, D4, D5 є там, щоб захистити ланцюг від будь-якої перехідної напруги, яка генерується при перемиканні реле, діоди в цій конфігурації відомі як зворотний діод / діод вільного ходу. Резистори 560R в основі кожного транзистора використовуються для обмеження потоку струму через базу.
Дизайн друкованої плати для ємнісної схеми сенсорного датчика
Друкована плата для нашої схеми датчика дотику була розроблена для односторонньої плати. Ми використовували Eagle для проектування моєї друкованої плати, але ви можете використовувати будь-яке програмне забезпечення для дизайну на ваш вибір. Двовимірне зображення нашого дизайну дошки показано нижче.
Для виготовлення силових доріжок був використаний достатній діаметр сліду, який використовується для проходження струму через друковану плату. Ми прикріпили гвинтову клему зверху, оскільки набагато простіше підключити вантаж таким чином, а збоку був розміщений роз'єм живлення, який є гніздом для стовбура постійного струму, що також забезпечує легкий доступ. Повний файл дизайну для Eagle разом із Gerber можна завантажити за посиланням нижче.
- Файл GERBER для схеми керування сенсорним датчиком на основі ESP32
Тепер, коли наш дизайн готовий, настав час травити та паяти дошку. Після закінчення процесу травлення, свердління та пайки дошка виглядає так, як показано на малюнку нижче,
Код Arduino для ємнісного сенсорного датчика на основі ESP32
Для цього проекту ми запрограмуємо ESP32 із користувацьким кодом, який ми коротко опишемо. Код дуже простий і простий у використанні, Ми починаємо з визначення всіх необхідних контактів, у нашому випадку ми визначаємо контакти для наших сенсорних датчиків та реле.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14PIN_DIN_PIN_3 14 #define
Далі, у розділі налаштування, ми починаємо з ініціалізації UART для налагодження, далі ми ввели затримку 1S, що дає нам трохи часу для відкриття вікна послідовного монітора. Далі ми використовуємо функцію Arduinos pinMode, щоб зробити релейні штифти вихідними, що означає кінець розділу Налаштування () .
void setup () {Serial.begin (115200); затримка (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Розділ циклу ми починаємо з оператора if , вбудована функція touchRead (pin_no) використовується для визначення того, торкнувся контакт чи ні. Функція touchRead (pin_no) повертає цілочисельні діапазони значень (0 - 100), значення постійно залишається біля 100, але якщо ми торкаємось вибраного штифта, значення падає майже до нуля, і за допомогою зміни значення, ми можемо визначити, торкнувся пальцем певної шпильки чи ні.
У операторі if ми перевіряємо наявність будь-яких змін у цілочисельних значеннях, і якщо значення сягає нижче 28, ми можемо бути впевнені, що ми визнали дотик. Як тільки оператор if стає істинним, ми чекаємо 50 мс і перевіряємо параметр ще раз, це допоможе нам визначити, чи було значення датчика помилково спрацьовано, після цього ми інвертуємо статус виводу за допомогою digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) , а решта коду залишається незмінною.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Датчик один торкнувся"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Датчик два торкнувся"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Датчик три торкнувся"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Датчик чотири торкнувся"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Нарешті, ми закінчуємо наш код із ще 200 мс затримки блокування.
Тестування схеми сенсорного датчика на основі ESP32
Оскільки це дуже простий проект, тестовий набір дуже простий, як ви бачите, я підключив 4 світлодіоди з резисторами, які діють як навантаження, оскільки він підключений до реле, ви можете легко підключити будь-яке навантаження до 3 Ампер.
Подальші вдосконалення
Хоча друкована плата проста, все ще є місце для вдосконалення, як ви можете бачити з нижньої сторони фактичної друкованої плати, я підключив багато резисторів, намагаючись підключити чотири індикаторних світлодіода, і розмір друкованої плати також може бути зменшений, якщо це стає вимогою, Сподіваюся, вам сподобалась стаття і ви дізналися щось корисне. Якщо у вас виникли запитання, ви можете залишити їх у розділі коментарів нижче або використати наші форуми, щоб опублікувати інші технічні питання.