Мазмұны:

Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану: 7 қадам (суреттермен)
Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану: 7 қадам (суреттермен)

Бейне: Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану: 7 қадам (суреттермен)

Бейне: Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану: 7 қадам (суреттермен)
Бейне: Кері байланыс және рефлексия 2024, Қараша
Anonim
Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану
Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану
Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану
Вибрациялық кері байланысы бар кеңейтілетін түймені қолдану

Бұл оқулықта біз алдымен Arduino Uno -ны діріл қозғалтқышты кеңейтілген түйме арқылы басқару үшін қалай қолдану керектігін көрсетеміз. Басу түймелеріндегі оқулықтардың көпшілігінде физикалық тақтаның батырмасы бар, ал бұл оқулықта түйме нейфордқа кабельдер арқылы қосылу үшін өзгертілген. Бұл түйме қозғалтқыштың күші мен діріл үлгісін басқаруға мүмкіндік береді. Осыдан кейін біз осы қондырғыны қолданатын тозатын технологияның мүмкін прототипін көрсетеміз. Бұл киілетін аяқ - ұшына бекітілген саусақ ұштары бар қолғап, иеленушіге белгілі бір түймеге негізделген дірілмен бірегей кері байланыс беру үшін бағдарламаланған.

1-қадам: діріл қозғалтқышты орнату түймесі үшін қажет компоненттер

Дірілді қозғалтқышты реттеу түймешігі үшін қажетті компоненттер
Дірілді қозғалтқышты реттеу түймешігі үшін қажетті компоненттер
  • Ардуино Уно
  • Нан тақтасы
  • Монеталық вибраторлық діріл қозғалтқышы
  • Гроув батырмасы
  • Еркек-еркек сымдары (x10)
  • Өткізгіш сым 4 істікшелі
  • Гаптикалық мотор драйвері
  • Еркек-әйел жиегінің қосқышы
  • Пісіру темірі

2-қадам: діріл қозғалтқышты реттеу түймесінің схемасы

Діріл қозғалтқышты реттеу түймесінің схемасы
Діріл қозғалтқышты реттеу түймесінің схемасы

Алдыңғы диаграмма Fritzing.org көмегімен жасалды.

3-қадам: діріл қозғалтқышты реттеу түймесін орнату

1 -қадам: жиек коннекторын діріл қозғалтқышының драйверіне дәнекерлеңіз. Монета вибраторының сымдарын діріл қозғалтқышының ұштарына жалғаңыз.

2 -қадам: 4 істікшелі секіргіш кабелін түйменің үзілуіне қосыңыз.

3 -қадам: Өткізгіш сымдардың бірін қолдана отырып, Arduino -дағы GRD түйреуішін нан тақтасындағы қатарға қосыңыз.

4 -қадам: Басқа секіргіш сымды қолданып, Arduino -дегі Volt 3.3 түйреуішін тақтаның басқа жолына қосыңыз.

5 -қадам: Енді біз діріл қозғалтқышының драйверін Arduino -ға қосамыз. Үшінші секіргіш сымды қолданып, діріл қозғалтқышының драйверіндегі GND түйреуішін нан тақтасындағы Arduino GRD түйреуішімен бір қатарға қосыңыз. Діріл қозғалтқышының драйверіндегі ВКС (вольт) үшін басқа сыммен, тақтаның вольт қатарына дейін осылай жасаңыз.

6 -қадам: Діріл қозғалтқышының драйверіндегі SDA түйреуішін тікелей Arduino -дегі SDA түйреуішіне жалғау үшін басқа сымды қолданыңыз. Тағы да, екеуіндегі SCL түйреуіштерімен де солай жасаңыз. Немесе 5 -қадамға ұқсас тәсілді ұстаныңыз және Arduino -дегі SDA және SCL түйреуіштерін секіргіш сымдар арқылы нан тақтасындағы өз қатарларына қосыңыз. Содан кейін SDA түйреуіші тақтаға қосылған жолдан мотор драйверіндегі SDA түйреуішіне сымды жүргізіңіз. Мотор драйверіндегі SCL түйреуішіне дейінгі тақтадағы SCL қатары үшін де осылай жасаңыз.

7 -қадам: Енді біз түймені діріл қозғалтқышы мен Arduino -ға қосу арқылы аяқтаймыз. Түйменің үзілуіне қосылған 4 істікшелі өтпелі сымнан GRD -ді нан тақтасындағы басқа GRD сымдарымен бір қатарға қосу үшін басқа өтпелі сымды қолданыңыз. Вольтпен тағы да солай жасаңыз (VCC).

8 -қадам: SIG -тен түйме үзілісіндегі соңғы жазбаны Arduino -дегі түйреуішке қосыңыз (біздің код үшін 7 -штырды қолдандық).

9 -қадам: Arduino -ны қосыңыз, кодты жүктеңіз және оның жұмыс істеуін қадағалаңыз!

4 -қадам: Кодекс

Түйме-діріл-қозғалтқыш.c

/ * Келтірілген код https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#қосу// SparkFun Haptic мотор драйверлерінің кітапханасы
#қосу// I2C кітапханасы
SFE_HMD_DRV2605L HMD; // Гаптикалық қозғалтқыш драйверінің объектісін жасаңыз
int түймесі = 7; // түйме үшін кіріс түйреуішін 7 таңдаңыз
int button_val = 0; // түйреуіш күйін оқу үшін айнымалы
voidsetup ()
{
/ * Haptic мотор драйверінің объектісін инициализациялау */
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Ішкі триггер енгізу режимі - ойнатуды бастау үшін GO () функциясын қолдану керек.
HMD. MotorSelect (0x36); // ERM қозғалтқышы, 4x тежеу, орташа циклды күшейту, 1,365x артқы ЭҚК күшейту
HMD. Library (2); // ERM қозғалтқыштары үшін 1-5 & 7, LRA қозғалтқыштары үшін 6
}
voidloop ()
{
/ * Діріл қозғалтқышын іске қосыңыз */
HMD.go ();
button_val = digitalRead (түйме);
егер (button_val == HIGH) {
/* Бұл батырманың басылғанын тіркеу үшін шығарылады, debugginh үшін пайдаланыңыз*/
Serial.println («Түйме басылды.»);
/ * Толқын пішіні кітапханасында 0-122 түрлі толқындар бар */
HMD. Waveform (0, 69);}
басқа {
/ * Егер түйме басылмаса, діріл қозғалтқышты тоқтатыңыз */
HMD.stop ();
}
}

GitHub ұсынған ❤ бар rawButton-Vibration-Motor.c қарау

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 Haptic мотор драйверлерінің кітапханасы
#қосу// 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 артқы ЭҚК күшейту
HMD. Library (2); // ERM қозғалтқыштары үшін 1-5 & 7, LRA қозғалтқыштары үшін 6
}
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) == HIGH) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == HIGH) {
HMD. Waveform (0, 100);
}
/ * Егер ешқандай түйме басылмаса, тоқтаңыз */
басқа {
HMD.stop ();
}
}

rawmutliple_buttons_to_vibmotor.ino -ды GitHub ❤ ұйымдастырғанын қараңыз

Ұсынылған: