- Сенсорный датчик
- Узнайте о реле
- Необходимые компоненты
- Принципиальная электрическая схема
- Программирование Arduino UNO для управления лампочкой с помощью сенсорного датчика
- Тестирование работы сенсорного датчика TTP223
В некоторых приложениях для управления функциями устройства требуется ввод данных пользователем. Во встроенной и цифровой электронике используются разные способы ввода данных пользователем. Сенсор касания - один из них. Сенсорный датчик - важное и широко используемое устройство ввода для взаимодействия с микроконтроллером, которое упростило ввод данных. Есть отдельные места, где можно использовать сенсорный датчик, будь то мобильный телефон или переключатель ЖК-монитора. Тем не менее, на рынке доступно множество типов датчиков, но емкостный сенсорный датчик является широко используемым типом в сегменте сенсорных датчиков.
В предыдущем уроке мы сделали управление освещением с помощью сенсорного датчика и микроконтроллера 8051. Теперь в этом проекте тот же сенсорный датчик будет взаимодействовать с Arduino UNO. Arduino - широко популярная и легкодоступная плата для разработки.
Ранее мы использовали методы сенсорного ввода с использованием емкостных сенсорных панелей с различными микроконтроллерами, такими как:
- Взаимодействие сенсорной клавиатуры с микроконтроллером ATmega32
- Емкостная сенсорная панель с Raspberry Pi
Сенсорный датчик
Датчик касания, который будет использоваться в этом проекте, представляет собой модуль емкостного датчика касания, а драйвер датчика основан на ИС драйвера TTP223. Рабочее напряжение микросхемы TTP223 составляет от 2 В до 5,5 В, а ток, потребляемый сенсорным датчиком, очень низок. Благодаря недорогой цене, низкому потреблению тока и простоте интеграции сенсорный датчик с TTP223 становится популярным в сегменте емкостных сенсорных датчиков.
На изображении выше показаны обе стороны датчика, где хорошо видна распиновка. Он также имеет перемычку под пайку, которую можно использовать для перенастройки датчика относительно выхода. Перемычка - это A и B. Конфигурация по умолчанию или в состоянии по умолчанию припаянной перемычки, выход изменяется с LOW на HIGH при прикосновении к датчику. Однако, когда перемычка установлена и датчик перенастроен, выход меняет свое состояние, когда датчик касания обнаруживает прикосновение. Чувствительность сенсорного датчика также можно настроить, заменив конденсатор. Для получения подробной информации просмотрите техническое описание TTP 223, которое будет очень полезно.
На диаграмме ниже показаны разные выходы при разных настройках перемычки.
Джемпер A | Джемпер B | Состояние блокировки вывода | Выходной уровень TTL |
открыто | открыто | Без блокировки | Высоко |
открыто | Закрыть | Самоблокировка | Высоко |
Закрыть | открыто | Без блокировки | Низкий |
Закрыть | Закрыть | Самоблокировка | Низкий |
Для этого проекта датчик будет использоваться в качестве конфигурации по умолчанию, которая доступна в заводских условиях выпуска.
Устройствами можно управлять с помощью сенсорного датчика и сопрягая его с микроконтроллером. В этом проекте сенсорный датчик будет использоваться для включения или выключения лампочки с помощью Arduino UNO и Relay.
Узнайте о реле
Для взаимодействия с реле важно иметь четкое представление об описании контактов реле. Распиновку реле можно увидеть на изображении ниже -
NO нормально открыт, NC нормально подключен. L1 и L2 - это две клеммы катушки реле. Когда напряжение не подается, реле выключено, и ПОЛЮС подключается к контакту NC. Когда напряжение подается на клеммы катушки, L1 и L2 реле включаются, и ПОЛЮС соединяется с НО. Таким образом, соединение между ПОЛЮСОМ и НО может быть включено или выключено путем изменения рабочего состояния реле. Настоятельно рекомендуется проверить спецификации реле перед применением. Реле имеет рабочее напряжение на L1 и L2. Некоторые реле работают с 12 В, некоторые с 6 В и некоторые с 5 В. Мало того, что NO, NC и POLE также имеют номинальное напряжение и ток. Для нашего приложения мы используем реле 5 В с номиналом 250 В, 6 А на стороне переключения.
Необходимые компоненты
- Arduino UNO
- Кабель USB для программирования и питания
- Стандартное кубическое реле - 5 В
- Резистор 2к -1 шт
- Резистор 4,7 кОм - 1 шт.
- BC549B транзистор
- TTP223 Сенсорный модуль
- 1N4007 Диод
- Лампочка с держателем лампы
- Макет
- Зарядное устройство для телефона для подключения Arduino через USB-кабель.
- Множество проводов или проводов.
- Платформа программирования Arduino.
Резистор 2 кОм, 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;
Определите режим вывода, т.е. какой должна быть функция вывода, будь то вход или выход. Здесь производится ввод сенсорного датчика. Выводы реле и светодиода являются выходными.
/ * * Настройка режима вывода * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (светодиод, ВЫХОД); pinMode (Реле, ВЫХОД); }
Объявлены два целых числа, где «условие» используется для удержания состояния датчика независимо от того, касался он его или нет. «Состояние» используется для удержания включенного или выключенного состояния светодиода и реле.
/ * * Выполнение программы Описание * / int condition = 0; int state = 0; // Для удержания состояния переключателя.
Датчик касания изменяет логический 0 на 1 при прикосновении. Это считывается функцией digitalRead (), и значение сохраняется в переменной условия. Когда условие равно 1, состояние светодиода и реле изменяется. Однако для точного обнаружения касания используется задержка сглаживания. Задержка дребезга , задержка (250); используется для подтверждения однократного нажатия.
void loop () { условие = digitalRead (A5); // Чтение цифровых данных с контакта A5 Arduino. если (условие == 1) { задержка (250); // задержка устранения дребезга. если (условие == 1) { состояние = ~ состояние; // Изменение состояния переключателя. digitalWrite (светодиод, состояние); digitalWrite (реле, состояние); } } }
Тестирование работы сенсорного датчика TTP223
Схема тестируется на макетной плате с подключенной к ней лампочкой малой мощности.
Обратите внимание, что в этом проекте используется напряжение 230-240 В переменного тока, поэтому рекомендуется соблюдать осторожность при использовании лампочки. Если у вас есть сомнения или предложения, прокомментируйте их ниже.