Оглавление:
- Шаг 1: Компоненты, необходимые для настройки двигателя от кнопки до вибрации
- Шаг 2: Схема настройки от кнопки до вибрационного двигателя
- Шаг 3: Настройка кнопки для настройки вибрационного двигателя
- Шаг 4: Код
- Шаг 5: Видео настройки вибрационного двигателя кнопки
- Шаг 6: прототип перчаток расширяемой
- Шаг 7: Код для нескольких кнопок с уникальным выходом вибрации
Видео: Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
В этом уроке мы сначала покажем вам, как использовать Arduino Uno для управления вибромотором с помощью расширенной кнопки. В большинстве учебных пособий по кнопкам используется кнопка на физической макетной плате, тогда как в этом руководстве кнопка была изменена для подключения к макетной плате с помощью соединительных кабелей. Эта кнопка позволит вам контролировать силу и характер вибрации двигателя. После этого мы покажем возможный прототип носимой техники, использующий эту установку. Этот носимый предмет представляет собой перчатку с выдвижными кончиками пальцев с кнопками, прикрепленными к концу, запрограммированными на передачу уникальной вибрационной обратной связи владельцу в зависимости от нажатия конкретной кнопки.
Шаг 1: Компоненты, необходимые для настройки двигателя от кнопки до вибрации
- Ардуино Уно
- Макетная плата
- Вибрационный двигатель для монет
- Роща Баттон
- Провода-перемычки между мужчинами (x10)
- Перемычка 4-контактный
- Драйвер тактильного мотора
- Концевой соединитель между мужчинами и женщинами
- Паяльник
Шаг 2: Схема настройки от кнопки до вибрационного двигателя
Предыдущая диаграмма была создана с помощью Fritzing.org.
Шаг 3: Настройка кнопки для настройки вибрационного двигателя
Шаг 1: Припаяйте краевой разъем к приводу вибромотора. Припаяйте провода монетного вибратора к клеммам привода вибромотора.
Шаг 2: Подключите 4-контактный соединительный кабель к разъему кнопки.
Шаг 3: Используя одну из перемычек, соедините контакт GRD на Arduino с рядом на макетной плате.
Шаг 4: Используя другую перемычку, подключите контакт Volt 3.3 на Arduino к другому ряду на макетной плате.
Шаг 5: Теперь мы подключим драйвер вибромотора к Arduino. Используя третью перемычку, подключите контакт GND на драйвере вибромотора к тому же ряду на макетной плате, что и контакт GRD от Arduino. Сделайте то же самое с другим проводом для VCC (вольт) на драйвере вибромотора, к ряду вольт на макетной плате.
Шаг 6: Используйте еще один провод для соединения вывода SDA на драйвере вибрационного двигателя с выводом SDA непосредственно на Arduino. Опять же, проделайте то же самое с контактами SCL на обоих. В качестве альтернативы, выполните аналогичный подход к шагу 5 и подключите выводы SDA и SCL на Arduino к их собственным рядам на макетной плате с помощью перемычек. Затем проложите провод от ряда, в котором контакт SDA соединен на макетной плате с контактом SDA на драйвере двигателя. Сделайте то же самое для ряда SCL на макетной плате до контакта SCL на драйвере двигателя.
Шаг 7: Теперь мы закончим, подключив кнопку к драйверу вибромотора и Arduino. Используйте другую перемычку, чтобы подключить GRD от 4-контактной перемычки, подключенной к разъему кнопки, к тому же ряду, что и другие провода GRD на макетной плате. Сделайте то же самое с вольт еще раз (VCC).
Шаг 8: Подключите последнюю запись от SIG на выходе кнопки к контакту на Arduino (для целей нашего кода мы использовали контакт 7).
Шаг 9: Подключите Arduino, загрузите код и посмотрите, как он работает!
Шаг 4: Код
Кнопка-Вибрация-Motor.c
/ * Код адаптирован из https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 * / |
#включают |
#включают |
SFE_HMD_DRV2605L HMD; // Создание тактильного объекта драйвера двигателя |
int button = 7; // выбираем входной контакт 7 для кнопки |
int button_val = 0; // переменная для чтения статуса пина |
voidsetup () |
{ |
/ * Инициализировать объект драйвера тактильного двигателя * / |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Режим ввода внутреннего триггера - для запуска воспроизведения необходимо использовать функцию GO (). |
HMD. MotorSelect (0x36); // Двигатель ERM, 4-кратное торможение, среднее усиление контура, 1,365-кратное усиление обратной ЭДС |
HMD. Library (2); // 1-5 и 7 для двигателей ERM, 6 для двигателей LRA |
} |
voidloop () |
{ |
/ * Запускаем вибромотор * / |
HMD.go (); |
button_val = digitalRead (кнопка); |
if (button_val == HIGH) { |
/ * Это выводит в журнал, что кнопка была нажата, используйте для отладки * / |
Serial.println («Кнопка нажата.»); |
/ * В библиотеке форм волны есть 0-122 различных типа волн * / |
HMD. Waveform (0, 69);} |
еще{ |
/ * Если кнопка не нажата, остановите вибромотор * / |
HMD.stop (); |
} |
} |
просмотреть rawButton-Vibration-Motor.c, размещенный на ❤ на GitHub
Шаг 5: Видео настройки вибрационного двигателя кнопки
Шаг 6: прототип перчаток расширяемой
Одним из возможных применений кнопки к вибромотору является перчатка, показанная выше. Мы модифицировали дешевые доступные материалы, такие как шприцы, чтобы сделать выдвижные «кончики пальцев». Мы прикрепили кнопки-углубления к концам модифицированных шприцев с помощью липучки, вырезали отверстия в кончиках пальцев перчатки и пропустили каждый шприц через отверстия. 4-контактные перемычки кнопок продеты через шприцы и достаточно длинные, чтобы вы могли выдвинуть шприцы на всю их длину. Arduino и макетная плата прикреплены на липучке к верхней части перчатки, что позволяет легко подключать провода кнопок через небольшую прорезь в основании каждого кончика пальца. Привод мотора прикреплен к нижней стороне перчатки через отверстие, чтобы прикрепить вибромотор к внутренней части перчатки. Когда пользователь носит перчатку, вибромотор находится на нижней стороне запястья пользователя. Когда пользователь касается поверхности и нажимает одну из кнопок, двигатель передает уникальную вибрацию обратной связи.
Мыслительный процесс, лежащий в основе такой перчатки, будет заключаться в том, чтобы позволить кому-то, носящему ее, «прикасаться» к вещам, выходящим за пределы досягаемости их обычных кончиков пальцев, и получать обратную связь о том, что они прикасаются к этим поверхностям. Вибрационная обратная связь изменяется в зависимости от того, какой палец касается поверхности, так что пользователь может определить, какой палец касается поверхности, на основе шаблона вибрации.
Есть много способов развить прототип, например, сделать пальцы более гибкими или изменить обратную связь в зависимости от типа поверхности, к которой прикасаются. В идеале выдвижные пальцы можно было бы создать с помощью 3D-печати, чтобы улучшить возможности телескопирования. Вместо кнопок можно использовать датчик температуры, чтобы обеспечить обратную связь о том, насколько горячая поверхность, к которой прикасается пользователь, или датчик влажности для аналогичных целей. Можно реализовать способ определения того, насколько далеко растянут «палец», чтобы позволить пользователю узнать, как далеко находится объект, которого он касается. Это лишь несколько возможных вариантов дальнейшего развития этого прототипа.
Эта перчатка может быть изготовлена из обычных материалов - это простой способ расширить ваши чувства и создать обратную связь, которую пользователь может почувствовать и понять.
Шаг 7: Код для нескольких кнопок с уникальным выходом вибрации
mutliple_buttons_to_vibmotor.ino
/ * Код адаптирован из SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide * / |
#включают |
#включают |
SFE_HMD_DRV2605L HMD; // Создание тактильного объекта драйвера двигателя |
int button_middle = 7; |
int button_index = 5; // выбираем входной контакт для кнопки |
int button_ring = 9; |
int button_pinky = 3; |
voidsetup () |
{ |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Режим ввода внутреннего триггера - для запуска воспроизведения необходимо использовать функцию GO (). |
HMD. MotorSelect (0x36); // Двигатель ERM, 4-кратное торможение, среднее усиление контура, 1,365-кратное усиление обратной ЭДС |
HMD. Library (2); // 1-5 и 7 для двигателей ERM, 6 для двигателей LRA |
} |
voidloop () |
{ |
HMD.go (); // запускаем вибромотор |
/ * Проверяем, какая кнопка нажата, и выводим сигнал 0-122 * / |
if (digitalRead (button_middle) == HIGH) { |
Serial.println («Кнопка нажата.»); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Waveform (0, 20); |
} |
elseif (digitalRead (button_ring) == ВЫСОКИЙ) { |
HMD. Waveform (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Waveform (0, 100); |
} |
/ * Если кнопка не нажата, остановимся * / |
еще{ |
HMD.stop (); |
} |
} |
просмотреть rawmutliple_buttons_to_vibmotor.ino, размещенный на ❤ на GitHub
Рекомендуемые:
Система капельного орошения с подключением к Интернету (ESP32 и Blynk), управляемая с обратной связью по влажности почвы: 5 шагов
Система капельного орошения, управляемая с обратной связью по влажности почвы (ESP32 и Blynk): беспокойтесь о своем саду или растениях, когда вы уезжаете в отпуск, или забывайте ежедневно поливать растение. Что ж, вот решение. Это система капельного орошения с контролируемой влажностью почвы и глобально подключенная система, управляемая ESP32 на программном уровне i
Устройство открывания гаражных ворот с обратной связью с использованием Esp8266 в качестве веб-сервера: 6 шагов
Устройство открывания гаражных ворот с обратной связью с использованием Esp8266 в качестве веб-сервера: Привет, я покажу вам, как сделать простой способ открытия ворот гаража. ESP8266 закодирован как веб-сервер, дверь может быть открыта повсюду в мире. обратная связь, вы будете знать, открыта или закрыта дверь в режиме реального времени - Просто, всего один ярлык, чтобы я
ЗАМЕНА ЗАДНЕЙ КНОПКИ ЗАДНЕЙ КНОПКИ ЗАДНЕЙ КНОПКИ RENAULT SCENIC / MEGANE: 3 шага
ЗАМЕНА ЗАДНЕЙ КНОПКИ ЗАДНЕЙ КНОПКИ RENAULT SCENIC / MEGANE BOOT BOOT TILGATE LOCK: Плохое уплотнительное кольцо, удерживающее кнопку багажника на месте, изнашивается, что приводит к потере кнопки багажника на вашем автомобиле. Единственное решение Renaults - это полная замена механизма блокировки загрузки, которая выйдет из строя снова и будет стоить
Solderdoodle Plus: паяльник с сенсорным управлением, светодиодной обратной связью, корпус с 3D-печатью и USB-аккумулятор: 5 шагов (с изображениями)
Solderdoodle Plus: паяльник с сенсорным управлением, светодиодной обратной связью, корпус с 3D-печатью и аккумуляторная батарея USB: нажмите ниже, чтобы перейти на страницу проекта на Kickstarter, посвященную Solderdoodle Plus, беспроводному многофункциональному инструменту с аккумуляторной USB-батареей и сделать предварительный заказ серийной модели! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
Простой дисплей эргометра на базе Arduino с дифференциальной обратной связью: 7 шагов (с изображениями)
Простой дисплей эргометра на базе Arduino с дифференциальной обратной связью: кардиотренировки утомительны, особенно при занятиях в помещении. Несколько существующих проектов пытаются облегчить это, делая крутые вещи, такие как соединение эргометра с игровой консолью или даже имитируя настоящую поездку на велосипеде в VR. Интересно, как