


Привет! Новый обзор на датчики Ардуино. Сегодня рассмотрим датчик касания или датчик металла KY-036.
Содержание
Модуль KY-036 для Ардуино является цифроаналоговым датчиком прикосновения. Он также сработает, если прикоснуться к чувствительному контакту металлическим предметом. Поэтому его так же называют датчиком металла.
Давайте подключим этот датчик к Ардуино и напишем простой скетч, чтобы посмотреть на его работу.
Для того, чтобы выполнить этот урок нам понадобиться.
- Ардуино UNO
- Макетная плата
- Перемычки
- Датчик KY-036
- Кабель USB
Характеристики датчика касания KY-036
- Питание 5 В
- Составной транзистор Дарлингтона KSP13
- Компаратор LM393
- Подстроечный резистор
- Размеры 16 x 43 x 15 мм
Схема подключения
На плате датчика подписаны контакты подключения, что встречается не всегда. Поэтому подключить его достаточно просто. Но, на всякий случай, приведем схему.



- A0 — аналоговый выход
- G — земля
- + — питание +5В
- D0 — цифровой выход
Программа
Программа для такого датчика довольно проста. Когда питание и земля подключены, на цифровом порту датчика D0 мы можем считать логический 0 или 1. А на аналоговом значение от 0 до 1023. Как в потенциометре. Поэтому мы просто настроим два порта на считывание данных и выведем их в последовательный порт, как обычно.
Когда мы прикасаемся к датчику, на цифровом порту появляется логическая 1. А на аналоговом значение падает до нескольких сотен.
Соответственно, если датчик не трогать, то на порту D0 будет логический 0. А на аналоговом порту, будет значение близкое к 1023.
Также касание сработает, если прикоснуться к датчику металлическим предметом.
В случае необходимости на корпусе датчика есть подстроечный резистор. И, если, касание не считывается, нужно его настроить вручную.



Полный текст программы
const int digital = 2; // Цифровой пин 2
const int analog = A0; // Аналоговый пин A0
void setup(){
pinMode(digital, INPUT);
Serial.begin(9600);
}
void loop(){
Serial.print("Digital: ");
Serial.print(digitalRead(digital)); // Цифровой сигнал с датчика
Serial.print(", Analog: ");
Serial.println(analogRead(analog)); // Аналоговый сигнал с датчика
delay(500);
}
Заключение
Мы рассмотрели очередной датчик для Ардуино. Датчик касания или датчик металла KY-036. Он может работать в качестве сенсорной кнопки. Или сигнализировать о касании к устройству. Что если мы хотим использовать сенсорную кнопку, но удалить ее от Ардуино на большое расстояние. Сможем ли мы использовать такой датчик? И есть ли более удобные способы? Узнаем в следующих уроках.