- Сензор за докосване
- Запознайте се с Relay
- Необходими компоненти
- Електрическа схема
- Програмиране на Arduino UNO за управление на крушката с помощта на сензор за докосване
- Тестване на работата на сензор за докосване TTP223
В някои приложения се изисква въвеждане от потребителя за управление на функциите на дадено устройство. Във вградената и цифровата електроника се използват различни видове потребителски методи за въвеждане. Сензорът за докосване е един от тях. Сензорът за докосване е важно и широко използвано входно устройство за интерфейс с микроконтролер и улеснява въвеждането на данни. Има отделни места, където сензорът за докосване може да се използва, независимо дали това може да бъде мобилен телефон или превключвател за LCD монитор. На пазара обаче се предлагат много видове сензори, но капацитивният сензорен сензор е широко използваният тип в сегмента сензорни сензори.
В предишния урок направихме контрол на светлината с помощта на сензор за докосване и микроконтролер 8051, сега в този проект същият сензор за докосване ще бъде свързан с Arduino UNO. Arduino е широко популярна и лесно достъпна разработка.
Преди това използвахме методи за въвеждане, базирани на докосване, използвайки капацитивни сензорни подложки с различни микроконтролери като:
- Докосване на клавиатурна връзка с микроконтролер ATmega32
- Капацитивен тъчпад с Raspberry Pi
Сензор за докосване
Сензорът за докосване, който ще бъде използван за този проект, е капацитивен сензорен модул за докосване и драйверът на сензора е базиран на драйвера IC TTP223. Работното напрежение на TTP223 IC е от 2 V до 5,5 V и текущата консумация на сензорния сензор е много ниска. Поради евтината, ниска консумация на ток и лесна за интегриране поддръжка, сензорният сензор с TTP223 става популярен в сегмента на капацитивния сензорен сензор.
На горното изображение са показани двете страни на сензора, където диаграмата на пиновете е ясно видима. Той също така има спояващ джъмпер, който може да се използва за преконфигуриране на сензора по отношение на изхода. Джъмперът е A и B. Конфигурацията по подразбиране или в състоянието по подразбиране на спояващия джъмпер, изходът се променя от LOW на HIGH, когато сензорът бъде докоснат. Въпреки това, когато джъмперът е настроен и сензорът е преконфигуриран, изходът променя състоянието си, когато сензорният сензор открие докосването. Чувствителността на сензорния сензор може също да бъде конфигурирана чрез смяна на кондензатора. За подробна информация прегледайте листа с данни на TTP 223, който ще бъде много полезен.
По-долу диаграмата показва различни изходи при различни настройки на джъмпера-
Джъмпер А | Джъмпер Б | Състояние на заключване на изхода | Изходно ниво на TTL |
Отворете | Отворете | Без заключване | Високо |
Отворете | Близо | Самозаключване | Високо |
Близо | Отворете | Без заключване | Ниска |
Близо | Близо | Самозаключване | Ниска |
За този проект сензорът ще се използва като конфигурация по подразбиране, която е достъпна при фабричните условия на освобождаване.
Уредите могат да се управляват с помощта на сензор за докосване и чрез свързване с микроконтролер. В този проект сензорът за докосване ще се използва за управление на електрическа крушка като ВКЛЮЧЕНА или ИЗКЛЮЧЕНА с помощта на Arduino UNO и реле.
Запознайте се с Relay
За да свържете релето, е важно да имате добра представа за описанието на пина на релето. Пинът на релето може да се види на изображението по-долу -
NO обикновено е отворен и NC е нормално свързан. L1 и L2 са двата извода на релейната намотка. Когато напрежението не е приложено, релето се изключва и POLE се свързва с NC щифта. Когато напрежението се подаде през клемите на бобината, L1 и L2 на релето се включват и POLE се свързва с NO. Така че, връзката между POLE и NO може да бъде включена или изключена чрез промяна на състоянието на работа на релето. Препоръчително е да проверите спецификацията на релето преди приложението. Релето има работно напрежение през L1 и L2. Някои релета работят с 12V, други с 6V, а други с 5V. Не само това, NO, NC и POLE също са имали напрежение и ток. За нашето приложение ние използваме 5V реле с 250V, 6A номинал от страната на превключване.
Необходими компоненти
- Arduino UNO
- USB кабелът за програмиране и захранване
- Стандартно кубично реле - 5V
- 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.
#include
Определете всички номера на щифтовете, където ще бъдат свързани релето и сензорът за докосване. Тук сензорният сензор е свързан към щифт A5. Използва се и вграденият светодиод, който е директно свързан в платката към щифт 13. Релето е свързано към щифт A4.
/ * * Описание на пина * / int Touch_Sensor = A5; int LED = 13; int Relay = A4;
Определете режима на пина, т.е. каква да бъде функцията на щифта, независимо дали като вход или изход. Тук се въвежда сензор за докосване. Извеждат се релейни и LED щифтове.
/ * * Настройка на режим на закрепване * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (LED, OUTPUT); pinMode (Relay, OUTPUT); }
Декларират се две цели числа, когато „условието“ се използва за задържане на състоянието на сензора, независимо дали е докоснато или не. „Състоянието“ се използва за задържане на състоянието на светодиода и релето, включено или изключено.
/ * * Поток на програмата Описание * / int условие = 0; int състояние = 0; // Задържане на състоянието на превключвателя.
Сензорът за докосване променя логиката 0 на 1, когато е докоснат. Това се чете от функцията digitalRead () и стойността се съхранява в променливата на условието. Когато условието е 1, състоянието на светодиода и релето се променя. За да се разпознае точно докосването обаче, се използва забавяне на отпадане. Закъснението на забавяне , забавяне (250); се използва за потвърждение на едно докосване.
невалиден цикъл () { условие = digitalRead (A5); // Четене на цифрови данни от A5 Pin на Arduino. if (условие == 1) { закъснение (250); // забавяне на отпадане. if (условие == 1) { състояние = ~ състояние; // Промяна на състоянието на превключвателя. digitalWrite (LED, състояние); digitalWrite (реле, състояние); } } }
Тестване на работата на сензор за докосване TTP223
Веригата е тествана в макет с свързана към нея крушка с ниска мощност.
Имайте предвид, че този проект използва напрежение 230-240V AC, затова се препоръчва да бъдете внимателни, докато използвате крушка. Ако имате някакви съмнения или предложения, моля, коментирайте по-долу.