Съдържание:
- Стъпка 1: Компоненти, необходими за настройка на бутона за вибрация на двигателя
- Стъпка 2: Схеми за настройка на бутон към вибрационен двигател
- Стъпка 3: Настройката на бутона за настройка на вибрационния двигател
- Стъпка 4: Кодът
- Стъпка 5: Видеоклип на бутона за настройка на вибрационния двигател
- Стъпка 6: Прототип на разтегателна ръкавица
- Стъпка 7: Код за множество бутони с уникален изход за вибрации
Видео: Приложение на разтегателен бутон с вибрационна обратна връзка: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
В този урок първо ще ви покажем как да използвате 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 */ |
#включва |
#включва |
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: Видеоклип на бутона за настройка на вибрационния двигател
Стъпка 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 мотор, 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
Препоръчано:
Как да модифицирате серво, за да получите обратна връзка от затворен цикъл: 7 стъпки
Как да модифицираме серво, за да получим обратна връзка от затворен контур: ► Докато управлявате серво с микроконтролер (като Arduino), можете да му дадете само поръчки за целево местоположение (в PPM сигнал). С тази поръчка сервото ще се премести към тази цел местоположение. Но това не е мигновено! Не знаете точно кога
Обратна връзка за влажност на почвата Контролирана система за капково напояване, свързана с интернет (ESP32 и Blynk): 5 стъпки
Контролирана система за капково напояване, свързана с интернет (ESP32 и Blynk): Погрижете се за вашата градина или растения, когато отивате на дълги празници, или забравете да поливате растението си всеки ден. Е, тук е решението Неговата система за контрол на влажността на почвата и глобално свързана система за капково напояване, контролирана от ESP32 на софтуерната предна част
Solderdoodle Plus: Поялник със сензорен контрол, LED обратна връзка, 3D печатна кутия и USB презареждане: 5 стъпки (със снимки)
Solderdoodle Plus: Поялник със сензорен контрол, LED обратна връзка, 3D отпечатан калъф и USB акумулаторна батерия: Моля, щракнете по-долу, за да посетите страницата на нашия проект за Kickstarter за Solderdoodle Plus, акумулаторен USB акумулаторен горещ многофункционален инструмент и предварително поръчайте производствен модел! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
Прост дисплей с ергометър, базиран на Arduino, с диференциална обратна връзка: 7 стъпки (със снимки)
Прост дисплей с ергометър, базиран на Arduino, с диференциална обратна връзка: Кардио тренировката е скучна, особено при упражнения на закрито. Няколко съществуващи проекта се опитват да облекчат това, като правят готини неща, като например свързване на ергометъра към конзола за игра или дори симулиране на истинско колоездене в VR. Вълнуващо като това
Автономно управление на оборотите на двигателя чрез система за обратна връзка от инфрачервен тахометър: 5 стъпки (със снимки)
Автономно управление на оборотите на двигателя, използвайки система за обратна връзка от тахометър на базата на инфрачервени лъчи: Винаги има нужда от автоматизиране на процес, бил той прост/чудовищен. методи за напояване/напояване на нашето малко парче земя. Проблемът с липсата на текуща линия за захранване