Строительное энергосбережение

{title}
закрыть

Ардуино: ёмкостный датчик прикосновения

Опубликовано: 27.08.2018

видео Ардуино: ёмкостный датчик прикосновения

Сенсорные кнопки для Arduino и Iskra JS. Железки Амперки

Наверное уже никому в наше время не нужно объяснять, что такое тачпад? Этим удобным манипулятором снабжены все современные ноутбуки. Вместо джойстика или мышки, для перемещения курсора и кликов мы используем тачпад, или, по-научному, сенсорную панель.



В этом уроке мы будем работать с простым ёмкостным датчиком, который позволяет отследить всего одно касание (вот он, на рисунке справа). Наша задача, связать касание датчика пальцем с каким-нибудь действием, скажем, с излучением звука зуммером. Трогаем датчик — зуммер пищит. Не трогаем — молчит.


Датчик индуктивности – Подключение к Ардуино без написания кода

Для решения этой задачи нам понадобится соединить вместе контроллер Ардуино Уно, зуммер, и, собственно,  сам датчик. В качестве последнего будем использовать небольшую платку на базе сенсорного чипа TTP223. Для питания устройства годится напряжение в диапазоне от 2 до 5.5 Вольт.


Зачем Нужны БЕСКОНТАКТНЫЕ ДАТЧИКИ /Индуктивные, Ёмкостные, Оптические/

Данный датчик является цифровым, а значит он выдает только одно из двух возможных значений: истина или ложь. В электронике это соответствует высокому и низкому уровню напряжения, соответственно.

1. Подключение

Использованный нами в уроке ёмкостный датчик имеет три контакта:

VCC — питание +5В; GND — земля; OUT — сигнал.

Как и все прочие цифровые датчики, линию OUT мы подключаем к любому свободному цифровому входу Ардуино Уно. Традиционно, используем для работы с датчиком вход №2. Получившаяся схема будет иметь вид:

Внешний вид макета

2. Программа

Теперь попробуем оживить всё это. Все что нам потребуется — это считывать состояние вывода №2 на каждом такте программы, и в зависимости от полученного значения, включать или выключать зуммер. Вот что у нас получается:

int capPin = 2; int buzzPin = 11; void setup() { pinMode( capPin, INPUT ); pinMode( buzzPin, OUTPUT ); } void loop() { if( digitalRead( capPin ) ) digitalWrite( buzzPin, HIGH ); else digitalWrite( buzzPin, LOW ); }

Наконец, записываем программу на Ардуино Уно, и смотрим что получилось!

 

rss