Механические датчики для Arduino

Механические датчики для Arduino

Количество датчиков предназначенных для совместной работы с платформой Arduino поистине не поддается исчислению. При желании можно приобрести почти какой угодно готовый модуль от банальной кнопки до детектора радиации. Такие датчики можно приобрести как по отдельности, так и в наборах самого разнообразного размера. Один из таких сравнительно дешевых наборов можно приобрести на Али за 10 долларов. Набор поставляется в полиэтиленовом пакете, некоторые из датчиков, примерно треть были упакованы в отдельные пакеты. Вместе с датчиками в посылку вложен отдельный листок с перечнем комплектации.

Данный набор включает в себя 37 приборов, которые позволяют регистрировать разнообразные явления и процессы, а также небольшое количество простейших устройств вывода информации [1-3]. Покупка такого набора оправдана на начальном этапе, когда требуется изучить особенности работы большого количества различных устройств. Набор можно подключить к платам типа Arduino UNO или Arduino Nano без использования пайки, что является несомненным плюсом на первом этапе работы.

В первой части данного обзора речь пойдет о механических датчиках, реагирующих на нажатие, вибрацию, поворот и т.п. Большая часть описанных ниже датчиков подключаются, по сути, аналогично цифровой кнопке. Для примера в память микроконтроллера на плате Arduino UNO можно записать программу, которая по командам от датчика зажигает светодиод, подключенный к 13 цифровому порту, код взят из [4].

Модуль тактовой кнопки KY-004 [5]

Механические датчики для Arduino

Механические датчики для Arduino

Размер модуля 24 х 15 мм, масса 1,3 г. Помимо кнопки на плате установлен резистор, сопротивлением 10 кОм. Для подключения служит трех контактный разъем, общий вывод разъема обозначен знаком «-», центральный контакт служит для подачи напряжения питания +5В, информационный контакт обозначен «S»

Механические датчики для Arduino

В целом обычная цифровая кнопка. Применение такого модуля, пожалуй, оправдано только в схемах, где требуется подключить к микроконтроллеру 1-2 кнопки.

Датчик вибрации KY-002 [6]

Механические датчики для Arduino

Механические датчики для Arduino

Размер модуля 24 х 15 х 15 мм, масса 1,2 г. Конструктивно датчик представляет собой цилиндрическую металлическую пружину по оси, которой располагается проводник, который замыкается при резких ускорения, сообщаемых устройству [7]. Схема подключения, логика работы и маркировка контактов, аналогичны таковым у модуля тактовой кнопки KY-004

Механические датчики для Arduino

Следует иметь в виду, что этот датчик по-разному реагирует на ускорения в различных направлениях. Ускорения попрек оси датчика он воспринимает хорошо, а вот на ускорения вдоль оси датчика реагирует заметно хуже. Датчик припаян к плате маркировка контактов, на которой совпадает с таковой у двух предыдущих датчиков.

Датчик удара KY-031 [8]

Механические датчики для Arduino

Механические датчики для Arduino

Размер модуля 30 х 18 мм, масса 1,6 г. Датчик представляет собой пружинный контакт в прямоугольном пластиковом корпусе. Датчик чувствителен к ускорениям направленным поперек продольной оси датчика

Механические датчики для Arduino

Датчик поворота KY-020 [9]

Размер модуля 24 х 15 мм, масса 1,3 г. Датчик представляет собой металлический шарик, который замыкает контакты, в том случае, когда плата изменяет свое положение в пространстве примерно на 90 градусов.

Механические датчики для Arduino

Механические датчики для Arduino

Устройство подключается полностью идентично кнопке KY-004.

Механические датчики для Arduino

Следует иметь в виду, что датчик совершенно не подходит для определения малых поворотов. В целом, как и два предыдущих механических датчика данная конструкция иногда может срабатывать не очень надежно.

Механический датчик поворота

Механический датчик поворота (Валкодер или энкодер) KY-040 [10-15]. Валкодер представляет собой группу механических контактов по последовательности замыкания, которых можно судить о скорости и направлении вращения его штока. Непосредственно под штоком располагается кнопка, которую можно использовать нажимая на шток. К сожалению, в экземпляре, доставшемся автору, эта кнопка сильно залипает, так что о надежном срабатывании нет и речи.

Механические датчики для Arduino

Механические датчики для Arduino

Размер модуля 30 х 18 мм, высота 28 мм, масса 6,5 г. В плате имеется два крепежных отверстия, диаметром 3 мм, на расстоянии 14 мм друг от друга. Модуль имеет пять выводов:

  • “GND” – общий,
  • “+” – питание 5 В,
  • “SW” – вывод кнопки,
  • “DT” и “CLK” – выводы сигналов с валкодера.

Работа с кнопкой аналогична таковой для любой цифровой кнопки, например KY-004, или аналогичной. С выводов “DT” и “CLK” при вращении штока устройства можно считать последовательности сигналов высокого и низкого логического уровня, сдвинутые по фазе примерно на четверть периода. Определяя с помощью этих меандров скорость и направление вращения ручки валкодера можно например управлять яркостью светодиода [14]. Главное преимущество данного устройства перед переменным резистором, в том, что угол поворота штока валкодера ничем не ограничен.

Механические датчики для Arduino

Механические датчики для Arduino

Джойстик KY-040 [16-17]

Джойстик представляет собой комбинированный датчик из двух переменных резисторов и цифровой кнопки. Конструктивно модуль представляет собой печатную плату, на которой располагается модуль джойстика. Ручка джойстика механически связана с парой переменных резисторов, сопротивлением 10 кОм. Отклонение ручки вызывает изменение сопротивления резисторов. При нажатии на джойстик замыкается расположенная под ним кнопка. Впрочем, надежность срабатывания кнопки оставляет желать лучшего, особенно при больших углах отклонения ручки джойстика.

Механические датчики для Arduino

Механические датчики для Arduino

Размер модуля 40 х 26 мм, высота 28 мм, масса 9,8 г. В плате есть четыре крепежных отверстия, диаметром 3 мм, расположенных в вершинах прямоугольника со сторонами 20 и 26 мм. На плате имеется пять выводов:

  1. “GND” – общий,
  2. “+5V” питание,
  3. “VRx” выводы переменного резистора кодирующего перемещение по оси X,
  4. “VRy” выводы переменного резистора кодирующего перемещение по оси Y,
  5. “SW” вывод кнопки.

Механические датчики для Arduino

Механические датчики для Arduino

Можно написать простую программу, которая будет при помощи светодиода, подключенного к 13 цифровому порту отображать нажатие кнопки джойстика, а информацию о сопротивлении переменных резисторов выводить в терминал последовательного порта.

  • 1) https://arduino-kit.ru/catalog/id/37-v-1-nabor-datchikov
  • 2) https://arduinomaster.ru/arduino-kit/nabor-arduino-sensor-kit-37-v-1/
  • 3) https://mysku.ru/blog/china-stores/37299.html
  • 4) http://robocraft.ru/blog/arduino/57.html
  • 5) https://arduino-kit.ru/catalog/id/modul-taktovoy-knopki
  • 6) https://arduino-kit.ru/catalog/id/modul-datchika-vibratsii
  • 7) https://arduino-kit.ru/userfiles/image/SW-1801_a.jpg
  • 8) https://arduino-kit.ru/catalog/id/modul-datchika-udara
  • 9) https://arduino-kit.ru/catalog/id/modul-datchika-naklona_
  • 10) https://arduino-kit.ru/catalog/id/modul-datchika-vrascheniya-_valkoder_
  • 11) https://mysku.ru/blog/aliexpress/40668.html
  • 12) https://datagor.ru/microcontrollers/281-chto-est-valkoder.html
  • 13) http://www.zi-zi.ru/docs/modules/info_KY-040.pdf
  • 14) http://cxem.net/arduino/arduino8.php
  • 15) http://mypractic.ru/urok-55-rabota-s-inkrementalnym-enkoderom-v-arduino-biblioteka-encod_er-h.html
  • 16) http://soltau.ru/index.php/arduino/item/384-kak-podklyuchit-dzhojstik-k-arduino
  • 17) http://www.zi-zi.ru/module/module-ky023

Вторую часть обзора читайте здесь. Специально для 2 Схемы.ру Denev


1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Настройка смартфонов и гаджетов, оборудования и подключение Смарт ТВ, мобильные операторы
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: