Tartalomjegyzék:

Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel: 7 lépés (képekkel)
Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel: 7 lépés (képekkel)

Videó: Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel: 7 lépés (képekkel)

Videó: Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel: 7 lépés (képekkel)
Videó: 278-2023 1/5..rész ISTENI NYELVEK HASZNÁLATA -ws kézikönyve 2024, November
Anonim
Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel
Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel
Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel
Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel

Ebben az oktatóanyagban először megmutatjuk, hogyan használhatja az Arduino Uno -t egy rezgőmotor vezérléséhez egy kiterjesztett gombbal. A nyomógombokkal kapcsolatos oktatóanyagok többsége magában foglalja a fizikai kenyértáblán lévő gombot, míg ebben az oktatóanyagban a gombot úgy módosították, hogy helyette áthidaló kábelekkel csatlakoztassák a kenyértáblához. Ezzel a gombbal szabályozhatja a motor erősségét és rezgésmintáját. Ezt követően bemutatjuk a hordozható technológia lehetséges prototípusát, amely ezt a rendszert használja. Ez a hordható kesztyű meghosszabbítható ujjhegyekkel, gombokkal a végén, és úgy van programozva, hogy egyedi vibrációs visszajelzést adjon viselőjének a megnyomott gomb alapján.

1. lépés: A gomb vibrációs motor beállításához szükséges alkatrészek

A motor vibrációs gombjának beállításához szükséges alkatrészek
A motor vibrációs gombjának beállításához szükséges alkatrészek
  • Arduino Uno
  • Kenyeretábla
  • Érme vibrátor vibrációs motor
  • Grove Button
  • Férfi-férfi áthidaló vezetékek (x10)
  • Jumper vezeték 4 érintkezős
  • Haptic Motor Driver
  • Férfi-nő szegélycsatlakozó
  • Forrasztópáka

2. lépés: A gomb-rezgés motor beállításának vázlata

A gomb-rezgés motor beállításának vázlata
A gomb-rezgés motor beállításának vázlata

Az előző diagram a Fritzing.org segítségével készült.

3. lépés: A gomb beállítása a vibrációs motor beállításához

Lépés: Forgassa az élcsatlakozót a vibrációs motor meghajtójához. Forrasztja be az érme vibrátor vezetékeit a vibrációs motor meghajtó csatlakozóiba.

2. lépés: Csatlakoztassa a 4 érintkezős áthidaló kábelt a gombnyomáshoz.

3. lépés: Az egyik jumper vezeték használatával csatlakoztassa az Arduino GRD csapját a kenyértáblán lévő sorhoz.

4. lépés: Egy másik jumperhuzal segítségével csatlakoztassa az Arduino Volt 3.3 -as érintkezőjét a kenyértábla másik sorához.

5. lépés: Most összekapcsoljuk a vibrációs motor meghajtóját az Arduino -val. Egy harmadik áthidaló huzal segítségével csatlakoztassa a rezgőmotor meghajtóján található GND tüskét a kenyértábla ugyanazon sorához, mint az Arduino GRD csapja. Ugyanezt tegye a rezgőmotor -meghajtó VCC (volt) másik vezetékével, a kenyértábla voltos sorával.

6. lépés: Egy másik vezetékkel csatlakoztassa a rezgőmotor -meghajtó SDA -csapját közvetlenül az Arduino SDA -tűjéhez. Ismét tegye meg ugyanezt az SCL csapokkal mindkét oldalon. Alternatív megoldásként kövesse az 5. lépéshez hasonló megközelítést, és csatlakoztassa az Arduino SDA és SCL csapjait az áthidaló vezetékeken keresztül a kenyértábla saját soraihoz. Ezután futtasson egy vezetéket abból a sorból, ahol az SDA csap csatlakozik a kenyértáblán, és a motor meghajtó SDA csapjához. Ugyanezt tegye a kenyértábla SCL sorával a motorvezérlőn lévő SCL csaphoz.

7. lépés: Most befejezzük, ha a gombot csatlakoztatjuk a vibrációs motor meghajtójához és az Arduino -hoz. Egy másik áthidaló huzal segítségével csatlakoztassa a GRD -t a 4 -tűs áthidaló vezetékről, amely a gomb letöréséhez van csatlakoztatva, ugyanabba a sorba, mint a többi GRD vezeték a kenyértáblán. Végezze el ugyanezt a feszültséggel még egyszer (VCC).

8. lépés: Csatlakoztassa a SIG -ből származó utolsó írást a gomb kitörésénél az Arduino csapjához (kódunk szempontjából a 7 -es tűt használtuk).

9. lépés: Csatlakoztassa az Arduino -t, és töltse fel a kódot, és nézze meg, hogyan működik!

4. lépés: A kód

Gomb-rezgés-motor.c

/ * A kód módosítva a https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#befoglalni// SparkFun Haptic Motor Driver Library
#befoglalni// I2C könyvtár
SFE_HMD_DRV2605L HMD; // Hptikus motor meghajtó objektum létrehozása
int gomb = 7; // válassza ki a 7 bemeneti csapot a nyomógombhoz
int gomb_val = 0; // változó a pin állapotának leolvasásához
voidsetup ()
{
/ * Inicializálja a Haptic Motor Driver objektumot */
HMD.begin ();
Sorozat.kezdet (9600);
HMD. Mód (0); // Belső trigger beviteli mód - A GO () funkciót kell használni a lejátszás elindításához.
HMD. MotorSelect (0x36); // ERM motor, 4x fékezés, közepes hurok erősítés, 1,365x vissza EMF erősítés
HMD. Könyvtár (2); // 1-5 és 7 ERM motorokhoz, 6 LRA motorokhoz
}
voidloop ()
{
/ * Indítsa el a vibrációs motort */
HMD.go ();
button_val = digitalRead (gomb);
if (button_val == HIGH) {
/* Ez a kimenet a gomb megnyomásának naplózására szolgál, használja a hibakereséshez*/
Serial.println ("Gomb lenyomva.");
/ * A hullámforma könyvtár 0-122 különböző típusú hullámot tartalmaz */
HMD. Hullámforma (0, 69);}
más{
/ * Ha a gombot nem nyomja meg, akkor állítsa le a vibrációs motort */
HMD.stop ();
}
}

Tekintse meg a rawButton-Vibration-Motor.c webhelyet, amelyet a GitHub ❤ üzemeltet

5. lépés: Videó a gomb vibrációs motor beállításáról

Image
Image

6. lépés: A kesztyű kiterjeszthető prototípusa

A Kesztyű kiterjeszthető prototípusa
A Kesztyű kiterjeszthető prototípusa
A kesztyű kiterjeszthető prototípusa
A kesztyű kiterjeszthető prototípusa

A gomb egyik lehetséges alkalmazása a vibrációs motorra a fent látható kesztyű. Módosítottuk az olcsó, hozzáférhető anyagokat, például fecskendőket, hogy kiterjeszthető "ujjhegyeket" hozzunk létre. A liget gombjait tépőzárral rögzítettük a módosított fecskendők végéhez, lyukakat vágtunk a kesztyű ujjbegyébe, és mindegyik fecskendőt áthelyeztük a lyukakon. A gombok 4 tűs áthidaló vezetékei a fecskendőkön keresztül vannak befűzve, és elég hosszúak ahhoz, hogy a fecskendőket teljes hosszukban ki tudják húzni. Az Arduino és a kenyértábla tépőzárral van rögzítve a kesztyű tetejére, ami lehetővé teszi a gombok vezetékeinek egyszerű csatlakoztatását egy kis résen keresztül minden ujjhegy alján. A motorvezérlőt a nyíláson keresztül a kesztyű alsó oldalához kell rögzíteni, hogy a vibrációs motort a kesztyű belsejéhez lehessen ragasztani. Amikor viselője felveszi a kesztyűt, a vibrációs motor a csuklója alsó részén ül. Amikor viselője megérint egy felületet, és lenyomja az egyik gombot, a motoron keresztül egyedi visszacsatolási rezgés jön létre.

Az ilyen kesztyű mögött meghúzódó gondolatmenet az lenne, ha valaki, aki azt viseli, „hozzáérhet” a szokásos ujjbegyén kívül eső dolgokhoz, és visszajelzést kaphat arról, hogy megérinti ezeket a felületeket. A rezgés visszacsatolása attól függően változik, hogy melyik ujj érinti a felületet, így a felhasználó a rezgésminta alapján meg tudja mondani, melyik ujja érinti a felületet.

A prototípus továbbvitelének számos módja van, például az ujjak nyújthatóbbá tétele vagy a visszacsatolás megváltoztatása az érintett felület típusa alapján. Ideális esetben a kihúzható ujjak 3D nyomtatással jönnek létre, a jobb távcsöves lehetőségek érdekében. A gombok helyett hőmérséklet -érzékelőt lehet használni, hogy visszajelzést adhassunk arról, hogy a felhasználó milyen meleg felületet érint, vagy nedvességérzékelőt hasonló célokra. Megvalósítható az „ujj” nyújtásának mértékének érzékelésére szolgáló módszer, amely lehetővé teszi a felhasználó számára, hogy tudja, milyen messze van az érintett tárgytól. Ez csak néhány lehetséges lehetőség a prototípus továbbvitelére.

Ez a kesztyű közönséges anyagokból készülhet, így könnyen kibővítheti érzékeit, és olyan visszajelzést hozhat létre, amelyet a felhasználó érezhet és megérthet.

7. lépés: Több gomb kódja egyedi rezgéskimenettel

mutliple_buttons_to_vibmotor.ino

/ * A kód a SparkFun-ból módosítva https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#befoglalni// SparkFun Haptic Motor Driver Library
#befoglalni// I2C könyvtár
SFE_HMD_DRV2605L HMD; // Hptikus motor meghajtó objektum létrehozása
int gomb_közép = 7;
int gomb_index = 5; // válassza ki a nyomógomb bemeneti csapját
int gomb_gyűrű = 9;
int gomb_pinky = 3;
voidsetup ()
{
HMD.begin ();
Sorozat.kezdet (9600);
HMD. Mód (0); // Belső trigger beviteli mód - A GO () funkciót kell használni a lejátszás elindításához.
HMD. MotorSelect (0x36); // ERM motor, 4x fékezés, közepes hurok erősítés, 1,365x vissza EMF erősítés
HMD. Könyvtár (2); // 1-5 és 7 ERM motorokhoz, 6 LRA motorokhoz
}
voidloop ()
{
HMD.go (); // indítsa el a vibrációs motort
/ * Ellenőrizze, hogy melyik gombot nyomja meg, és adja ki a 0-122 hullámformát */
if (digitalRead (button_middle) == HIGH) {
Serial.println ("Gomb lenyomva.");
HMD. Hullámforma (0, 112);}
elseif (digitalRead (button_index) == HIGH) {
HMD. Hullámforma (0, 20);
}
elseif (digitalRead (button_ring) == HIGH) {
HMD. Hullámforma (0, 80);
}
elseif (digitalRead (button_pinky) == HIGH) {
HMD. Hullámforma (0, 100);
}
/ * Ha egyetlen gombot sem nyom meg, akkor állítsa le */
más{
HMD.stop ();
}
}

Tekintse meg a rawmutliple_buttons_to_vibmotor.ino webhelyet, amelyet a GitHub ❤ üzemeltet

Ajánlott: