В сегодняшнем посте я хочу рассказать Вам о нескольких датчиках :)
Слева направо: датчик касания, температурный датчик lm35, ИК-датчик препятсвия, датчик наклона и фоторезистор(датчик света)
Чтобы проверить, как всё это работает, нам понадобятся эти датчики, ардуино, перемычки и/или соединительные провода, резистор на 10кОм, а также (я забыл сфотографировать) светодиод и резистор на 220Ом. Но вместо светодиода Вы можете использовать светодиод на 13 пине ардуино :)
Да, в примерах мы просто будем включать светодиод. Как использовать эти датчики будете Вы зависит только от Вашей фантазии и нужд :)
Датчик наклона.
Внутри этого черного цилиндра находится шарик, который замыкает или размыкает цепь при наклоне. Одну ножку подключаем к питанию, вторую через резистор в 10кОм к земле и к цифровому пину ардуино.
Пример работы:
Наклоняем, датчик размыкается, светодиод гаснет.
Фоторезистор.
Его сопротивление меняется в зависимости от интенсивности падающего на него света. Подключение аналогично датчику наклона, но вместо цифрового пина мы подключаем его к аналоговому.
При достижении заданного значения освещенности светодиод загорается.
ИК-датчик расстояния
Куплен на Алиэкспрессе за $ 0.44. Подстроечным резистором (синий куб) регулируется расстояние, на которое реагирует датчик. Возвращает логический ноль или единицу, выход OUT подключаем к цифровому пину, VСC-питание, GND-земля.
На плате есть собственный светодиод, так что работоспособность можно проверить и не подключая к ардуино.
Минусом конечно является его маленькая дальнобойность.
Подносим руку или любой предмет, светодиод загорается.
Датчик касания
Куплен был очень давно по 0.86$
Тут всё просто, касаемся пальцем кружочка, ардуино получает единицу :)
SIG подключаем к цифрому пину.
Комментарии думаю не нужны)
Температурный датчик lm35
Подключение его тоже простое, не перепутайте ножки :)
OUT к аналоговому пину.
Код, для более точного получения данных:
float tempC;
int reading;
int tempPin = 0;
void setup(){
analogReference(INTERNAL);//Мы включаем внутреннее опорное напряжение 1.1 , что позволяет повысить точность измерения температуры.
}
void loop(){
reading = analogRead(tempPin);
tempC = reading / 9.31;
}
Выводить информацию мы можем как в монитор порта, так и на любое другое устройство вывода, например LCD дисплей.
Спасибо за внимание, если есть вопросы постараюсь ответить :)
Прошу учесть, что я простой любитель, далекий от схемотехники и электроники.