Съдържание:

Приложение на разтегателен бутон с вибрационна обратна връзка: 7 стъпки (със снимки)
Приложение на разтегателен бутон с вибрационна обратна връзка: 7 стъпки (със снимки)

Видео: Приложение на разтегателен бутон с вибрационна обратна връзка: 7 стъпки (със снимки)

Видео: Приложение на разтегателен бутон с вибрационна обратна връзка: 7 стъпки (със снимки)
Видео: Xiaomi Gateway 4 - Mihome автоматизации 2.0 2024, Юли
Anonim
Приложение на разтегателен бутон с вибрационна обратна връзка
Приложение на разтегателен бутон с вибрационна обратна връзка
Приложение на разтегателен бутон с вибрационна обратна връзка
Приложение на разтегателен бутон с вибрационна обратна връзка

В този урок първо ще ви покажем как да използвате Arduino Uno за управление на вибрационен двигател чрез разширен бутон. Повечето уроци по бутоните включват бутона на физическата дъска, докато в този урок бутонът е променен, за да бъде свързан към макета чрез джъмперни кабели. Този бутон ще ви позволи да контролирате силата и вибрациите на двигателя. След това ще покажем възможен прототип на носима технология, използваща тази настройка. Тази носеща се ръкавица с разтегателни върхове на пръстите с прикрепени към края бутони, програмирана да дава уникална вибрационна обратна връзка на потребителя въз основа на конкретно натиснатия бутон.

Стъпка 1: Компоненти, необходими за настройка на бутона за вибрация на двигателя

Компоненти, необходими за настройка на вибрационния двигател с бутон
Компоненти, необходими за настройка на вибрационния двигател с бутон
  • Arduino Uno
  • Платка
  • Моторен вибрационен мотор с монети
  • Бутон Гроув
  • Джъмперни проводници от мъж към мъж (x10)
  • Jumper Wire 4 Pin
  • Драйвер на тактилен двигател
  • Edge конектор от мъжки към женски
  • Поялник

Стъпка 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: Кодът

Button-Vibration-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 = 7; // изберете входния щифт 7 за бутон
int button_val = 0; // променлива за четене на състоянието на щифта
voidsetup ()
{
/ * Инициализиране на обект на хаптичен двигател *
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Входен режим на вътрешен тригер - Трябва да използвате функцията GO () за задействане на възпроизвеждането.
HMD. MotorSelect (0x36); // ERM мотор, 4x спиране, усилване на среден контур, 1,365x обратно усилване на EMF
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 мотор, 4x спиране, усилване на среден контур, 1,365x обратно усилване на EMF
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. Waform (0, 20);
}
elseif (digitalRead (button_ring) == HIGH) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == HIGH) {
HMD. Waveform (0, 100);
}
/ * Ако не е натиснат бутон, спрете */
иначе {
HMD.stop ();
}
}

вижте rawmutliple_buttons_to_vibmotor.ino хоствано с ❤ от GitHub

Препоръчано: