Tartalomjegyzék:
- 1. lépés: A gomb vibrációs motor beállításához szükséges alkatrészek
- 2. lépés: A gomb-rezgés motor beállításának vázlata
- 3. lépés: A gomb beállítása a vibrációs motor beállításához
- 4. lépés: A kód
- 5. lépés: Videó a gomb vibrációs motor beállításáról
- 6. lépés: A kesztyű kiterjeszthető prototípusa
- 7. lépés: Több gomb kódja egyedi rezgéskimenettel
Videó: Egy kiterjeszthető gomb alkalmazása vibrációs visszajelzéssel: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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
- 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
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 |
#befoglalni |
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
6. lépés: 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 |
#befoglalni |
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:
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: 4 lépés (képekkel)
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: Hogyan készítsük el a viselhető tevékenységkövető órát? Ez egy hordható eszköz, amelyet rezgésre terveztek, amikor stagnálást észlel. A legtöbb időt a számítógépen tölti, mint én? Órákig ül, anélkül, hogy észrevenné? Akkor ez a készülék f
Másolás a vágólapra gomb elhelyezése egy weboldalon: 5 lépés (képekkel)
Másolás a vágólapra gomb elhelyezése egy weboldalon: Ez egyszerűnek tűnhet, és hülyén nézhetek ki, ha az Instructables -re teszem, de a valóságban ez nem olyan egyszerű. Van CSS, Jquery, HTML, néhány divatos javascript, és hát, tudod
NFC -zár - ha egy NYÁK is a gomb, az antenna és egyebek : 7 lépés (képekkel)
NFC -zár - Ha egy NYÁK is a gomb, az antenna és egyebek …: A két dolog közül egyet vehet át ebből az utasításból. Követheti, és létrehozhatja saját kombinációját egy numerikus billentyűzetről és egy NFC -olvasóról. A vázlat itt található. A NYÁK elrendezés itt található. Talál egy anyagjegyzéket a rendeléshez
Solderdoodle Plus: Forrasztópáka érintőképernyős vezérléssel, LED visszajelzéssel, 3D nyomtatott tokkal és újratölthető USB -vel: 5 lépés (képekkel)
Solderdoodle Plus: Forrasztópáka érintőképernyős vezérléssel, LED visszajelzéssel, 3D nyomtatott tokkal és újratölthető USB-vel: Kattintson az alábbi linkre, hogy meglátogassa a Kickstarter projektoldalunkat a Solderdoodle Plus, egy vezeték nélküli USB újratölthető forró multifunkciós szerszámhoz, és előrendelje a gyártási modellt! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: 7 lépés (képekkel)
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: A kardió edzés unalmas, különösen, ha beltéren gyakorol. Számos meglévő projekt próbálja ezt enyhíteni azzal, hogy menő dolgokat csinál, például az ergométert egy játékkonzolhoz csatlakoztatja, vagy akár egy valódi kerékpártúrát szimulál a VR -ban. Izgalmas, mint ezek