Оглавление:

Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)
Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)

Видео: Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)

Видео: Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)
Видео: Chevrolet Tahoe 2018 ОТЗЫВ ВЛАДЕЛЬЦА, ОБЗОР 2024, Ноябрь
Anonim
Применение выдвижной кнопки с вибрационной обратной связью
Применение выдвижной кнопки с вибрационной обратной связью
Применение выдвижной кнопки с вибрационной обратной связью
Применение выдвижной кнопки с вибрационной обратной связью

В этом уроке мы сначала покажем вам, как использовать 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 * /
#включают// Библиотека драйверов тактильных двигателей SparkFun
#включают// библиотека I2C
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: Видео настройки вибрационного двигателя кнопки

Image
Image

Шаг 6: прототип перчаток расширяемой

Прототип перчатки расширяемой
Прототип перчатки расширяемой
Прототип перчатки расширяемой
Прототип перчатки расширяемой

Одним из возможных применений кнопки к вибромотору является перчатка, показанная выше. Мы модифицировали дешевые доступные материалы, такие как шприцы, чтобы сделать выдвижные «кончики пальцев». Мы прикрепили кнопки-углубления к концам модифицированных шприцев с помощью липучки, вырезали отверстия в кончиках пальцев перчатки и пропустили каждый шприц через отверстия. 4-контактные перемычки кнопок продеты через шприцы и достаточно длинные, чтобы вы могли выдвинуть шприцы на всю их длину. Arduino и макетная плата прикреплены на липучке к верхней части перчатки, что позволяет легко подключать провода кнопок через небольшую прорезь в основании каждого кончика пальца. Привод мотора прикреплен к нижней стороне перчатки через отверстие, чтобы прикрепить вибромотор к внутренней части перчатки. Когда пользователь носит перчатку, вибромотор находится на нижней стороне запястья пользователя. Когда пользователь касается поверхности и нажимает одну из кнопок, двигатель передает уникальную вибрацию обратной связи.

Мыслительный процесс, лежащий в основе такой перчатки, будет заключаться в том, чтобы позволить кому-то, носящему ее, «прикасаться» к вещам, выходящим за пределы досягаемости их обычных кончиков пальцев, и получать обратную связь о том, что они прикасаются к этим поверхностям. Вибрационная обратная связь изменяется в зависимости от того, какой палец касается поверхности, так что пользователь может определить, какой палец касается поверхности, на основе шаблона вибрации.

Есть много способов развить прототип, например, сделать пальцы более гибкими или изменить обратную связь в зависимости от типа поверхности, к которой прикасаются. В идеале выдвижные пальцы можно было бы создать с помощью 3D-печати, чтобы улучшить возможности телескопирования. Вместо кнопок можно использовать датчик температуры, чтобы обеспечить обратную связь о том, насколько горячая поверхность, к которой прикасается пользователь, или датчик влажности для аналогичных целей. Можно реализовать способ определения того, насколько далеко растянут «палец», чтобы позволить пользователю узнать, как далеко находится объект, которого он касается. Это лишь несколько возможных вариантов дальнейшего развития этого прототипа.

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

Шаг 7: Код для нескольких кнопок с уникальным выходом вибрации

mutliple_buttons_to_vibmotor.ino

/ * Код адаптирован из SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide * /
#включают// Библиотека драйверов тактильных двигателей SparkFun
#включают// библиотека I2C
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

Рекомендуемые: