Sisällysluettelo:
- Vaihe 1: Komponentit, joita tarvitaan painikkeen tärinämoottorin asennukseen
- Vaihe 2: Kaaviot painikkeesta värähtelevään moottoriin
- Vaihe 3: Painikkeen asetus tärinämoottorin asetuksiin
- Vaihe 4: Koodi
- Vaihe 5: Video painikkeesta tärinämoottorin käyttöönottoon
- Vaihe 6: Käsineen laajennettavan prototyyppi
- Vaihe 7: Koodi useille painikkeille, joilla on ainutlaatuinen tärinä
Video: Laajennettavan painikkeen käyttö tärinäpalautteella: 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä opetusohjelmassa näytämme ensin, kuinka voit käyttää Arduino Unoa tärinämoottorin ohjaamiseen laajennetun painikkeen avulla. Useimmat painikkeiden opetusohjelmat sisältävät fyysisen leipälevyn painikkeen, kun taas tässä opetusohjelmassa painiketta on muutettu liitettäväksi leipälevyyn hyppyjohtojen kautta. Tämän painikkeen avulla voit hallita moottorin voimaa ja tärinäkuviota. Tämän jälkeen näytämme mahdollisen prototyypin puettavasta tekniikasta, joka käyttää tätä kokoonpanoa. Tämä puettava on käsine, jossa on ulottuvat sormenpäät, joiden päissä on painikkeet ja jotka on ohjelmoitu antamaan käyttäjälle ainutlaatuista tärinäpalautetta painetun painikkeen perusteella.
Vaihe 1: Komponentit, joita tarvitaan painikkeen tärinämoottorin asennukseen
- Arduino Uno
- Leipälauta
- Kolikon tärinämoottori
- Grove -painike
- Uros-uros-hyppyjohdot (x10)
- Hyppyjohdin 4 -nastainen
- Haptic -moottorin kuljettaja
- Uros-naarasreunaliitin
- Juotin
Vaihe 2: Kaaviot painikkeesta värähtelevään moottoriin
Edellinen kaavio luotiin Fritzing.org -sivustolla.
Vaihe 3: Painikkeen asetus tärinämoottorin asetuksiin
Vaihe 1: Juotos reunaliitin tärinämoottorin ohjaimeen. Juotos kolikon täryttimen johdot tärinämoottorin ohjaimen liittimiin.
Vaihe 2: Kytke 4 -nastainen hyppyjohto painikkeeseen.
Vaihe 3: Yhdistä yksi hyppyjohdoista ja liitä Arduinon GRD -tappi rivilevyyn.
Vaihe 4: Kytke Arduinon Volt 3.3 -tappi toisella hyppyjohdolla toiselle leipälevyn riville.
Vaihe 5: Nyt liitämme tärinämoottorin ohjaimen Arduinoon. Liitä tärinämoottorin ohjaimen GND -nasta kolmannella hyppyjohdolla samaan leipälevyn riviin kuin Arduinon GRD -tappi. Tee sama toisella VCC (voltti) -johdolla tärymoottorin ohjaimessa, leipälevyn voltiriville.
Vaihe 6: Yhdistä toinen johto liittämällä tärinämoottorin ohjaimen SDA -nasta suoraan Arduinon SDA -nastaan. Toista sama kummankin SCL -nastoilla. Vaihtoehtoisesti voit noudattaa samanlaista lähestymistapaa kuin vaiheessa 5 ja liittää Arduinon SDA- ja SCL -nastat omille riveilleen leipälaudalla hyppyjohtojen kautta. Vedä sitten lanka riviltä, jossa SDA -nasta on kytketty leipälevylle, moottorin ohjaimen SDA -nastaan. Tee sama leipälevyn SCL -riville moottorin ohjaimen SCL -tapille.
Vaihe 7: Nyt lopetamme yhdistämällä painikkeen tärinämoottorin ohjaimeen ja Arduinoon. Kytke GRD toisella hyppyjohdolla kytkeäksesi GRD: n 4 -napaisesta hyppyjohdosta, joka on kytketty painikkeeseen, samaan riviin kuin muut leipälevyn GRD -johdot. Tee sama uudelleen voltilla (VCC).
Vaihe 8: Liitä lopullinen kirjoitus SIG: stä painikkeen hajoamiseen Arduino -nastaan (koodimme vuoksi käytimme tappia 7).
Vaihe 9: Liitä Arduino ja lataa koodi ja katso, miten se toimii!
Vaihe 4: Koodi
Painike-tärinä-moottori. C
/ * Koodi mukautettu osoitteesta https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */ |
#sisältää |
#sisältää |
SFE_HMD_DRV2605L HMD; // Luo haptinen moottoriajuriobjekti |
int -painike = 7; // valitse syöttönappi 7 painikkeelle |
int -painikkeen_valo = 0; // muuttuja pin -tilan lukemiseen |
voidsetup () |
{ |
/ * Alusta Haptic Motor Driver Object */ |
HMD.begin (); |
Sarja.alku (9600); |
HMD -tila (0); // Sisäinen laukaisimen syöttötila - Toiston käynnistämiseen on käytettävä GO () -toimintoa. |
HMD. MotorSelect (0x36); // ERM -moottori, 4x jarrutus, keskisilmukan vahvistus, 1,365x takaisin EMF -vahvistus |
HMD. Kirjasto (2); // 1-5 ja 7 ERM-moottoreille, 6 LRA-moottoreille |
} |
voidloop () |
{ |
/ * Käynnistä tärinämoottori */ |
HMD.go (); |
button_val = digitalRead (painike); |
jos (button_val == HIGH) { |
/* Tämä tulostaa kirjaamaan, että painiketta on painettu, käytä virheenkorjaukseen*/ |
Serial.println ("Painike painettu."); |
/ * Aaltomuotokirjastossa on 0-122 erityyppistä aaltoa */ |
HMD. Waveform (0, 69);} |
muu{ |
/ * Jos painiketta ei paineta, pysäytä tärinämoottori */ |
HMD.stop (); |
} |
} |
katso rawButton-Vibration-Motor.c, jota isännöi GitHub
Vaihe 5: Video painikkeesta tärinämoottorin käyttöönottoon
Vaihe 6: Käsineen laajennettavan prototyyppi
Yksi mahdollinen painikkeen käyttö tärinämoottorissa on yllä oleva käsine. Olemme muokanneet halpoja esteettömiä materiaaleja, kuten ruiskuja, tehdäksemme laajennettavia "sormenpäitä". Kiinnitämme grove -painikkeet muokattujen ruiskujen päähän tarranauhalla, leikkasimme reiät käsineen sormenpäihin ja asetimme jokaisen ruiskun reikien läpi. Painikkeiden 4 -napaiset hyppyjohdot on kierretty ruiskujen läpi ja ne ovat riittävän pitkiä, jotta voit pidentää ruiskuja koko pituudeltaan. Arduino ja leipälauta on kiinnitetty tarranauhalla käsineen yläosaan, jolloin painikkeiden johdot voidaan helposti yhdistää pienen raon kautta jokaisen sormenpään pohjassa. Moottorin ohjain on kiinnitetty käsineen alapuolelle aukon avulla tärinämoottorin kiinnittämiseksi käsineen sisäpuolelle. Kun käyttäjällä on käsine kädessä, tärinämoottori istuu käyttäjän ranteen alapuolella. Kun käyttäjä koskettaa pintaa ja painaa yhtä painiketta, moottorin läpi tulee ainutlaatuinen takaisinkytkentävärähtely.
Tällaisen käsineen takana oleva ajatusprosessi olisi antaa kenenkään, joka käyttää sitä, "koskettaa" tavallisilla sormenpäillä pidemmälle jääviä esineitä ja saada palautetta koskettavansa näitä pintoja. Tärinäpalaute muuttuu sen mukaan, mikä sormi koskettaa pintaa, jotta käyttäjä voi tärinäkuvion perusteella kertoa, mikä sormi koskettaa pintaa.
On monia tapoja viedä prototyyppi pidemmälle, kuten sormien laajentaminen tai palautteen muuttaminen kosketettavan pinnan tyypin perusteella. Ihannetapauksessa pidennettävät sormet luodaan 3D -tulostuksen avulla, jolloin teleskooppivaihtoehdot ovat parempia. Painikkeiden sijasta voitaisiin käyttää lämpötila -anturia, jotta voidaan antaa palautetta siitä, kuinka kuuma pinta koskettaa käyttäjää, tai kosteusanturia vastaaviin tarkoituksiin. Voitaisiin toteuttaa tapa tunnistaa, kuinka pitkälle "sormi" on ojennettu, jotta käyttäjä voi tietää, kuinka kaukana kohde, johon he koskettavat. Nämä ovat vain muutamia mahdollisia vaihtoehtoja tämän prototyypin viemiseksi eteenpäin.
Tämä käsine voidaan valmistaa tavallisista materiaaleista helpon tavan laajentaa aistejasi ja luoda palautetta, jonka käyttäjä voi tuntea ja ymmärtää.
Vaihe 7: Koodi useille painikkeille, joilla on ainutlaatuinen tärinä
mutliple_buttons_to_vibmotor.ino
/ * Koodi mukautettu SparkFunista https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#sisältää |
#sisältää |
SFE_HMD_DRV2605L HMD; // Luo haptinen moottoriajuriobjekti |
int -painike_väli = 7; |
int -painike_indeksi = 5; // valitse syöttönappi painikkeelle |
int napinrengas = 9; |
int -painike_vaaleanpunainen = 3; |
voidsetup () |
{ |
HMD.begin (); |
Sarja.alku (9600); |
HMD -tila (0); // Sisäinen laukaisimen syöttötila - Toiston käynnistämiseen on käytettävä GO () -toimintoa. |
HMD. MotorSelect (0x36); // ERM -moottori, 4x jarrutus, keskisilmukan vahvistus, 1,365x takaisin EMF -vahvistus |
HMD. Kirjasto (2); // 1-5 ja 7 ERM-moottoreille, 6 LRA-moottoreille |
} |
voidloop () |
{ |
HMD.go (); // käynnistä tärinämoottori |
/ * Tarkista, mitä painiketta painetaan, ja anna aaltomuoto 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Painike painettu."); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Aaltomuoto (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Aaltomuoto (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Aaltomuoto (0, 100); |
} |
/ * Jos mitään painiketta ei paineta, lopeta */ |
muu{ |
HMD.stop (); |
} |
} |
katso rawmutliple_buttons_to_vibmotor.ino, jota isännöi GitHub ❤
Suositeltava:
Seinäkiinnike IPadille kotiautomaation ohjauspaneelina, Servo -ohjatun magneetin käyttö näytön aktivoimiseksi: 4 vaihetta (kuvien kanssa)
Seinäkiinnike IPadille kotiautomaation ohjauspaneelina, Servo -ohjatun magneetin käyttö näytön aktivoimiseksi: Olen viime aikoina viettänyt melko paljon aikaa automatisoidakseni taloni ja sen ympärillä. Käytän Domoticzia kotiautomaatio -sovelluksena, katso lisätietoja osoitteesta www.domoticz.com. Etsiessäni kojelautasovellusta, joka näyttää kaikki Domoticzin tiedot yhteen
Keytar Hero (Wii -kitaraohjaimen käyttö syntetisaattorina): 7 vaihetta (kuvien kanssa)
Keytar Hero (Wii -kitaraohjaimen käyttäminen syntetisaattorina): Guitar Hero -pelit olivat raivoa tusinaa vuotta sitten, joten siellä on varmasti paljon vanhoja kitaraohjaimia, jotka makaavat pölyn keräämisessä. Niissä on paljon painikkeita, nuppeja ja vipuja, joten miksi et käytä niitä uudelleen? Kitaran ohjain
Visuino Painikkeen käyttö tulona LED -valojen hallintaan: 6 vaihetta
Visuino Kuinka käyttää painiketta painikkeena esimerkiksi LED -valojen ohjaamiseen: Tässä opetusohjelmassa opimme LED -valon sytyttämisen ja sammuttamisen yksinkertaisella painikkeella ja Visuinolla
Raspberry Pi -opetusohjelma: Painikkeen käyttö: 4 vaihetta
Raspberry Pi -opetusohjelma: Painikkeen käyttö: Tässä opetusohjelmassa opit kytkemään LED -valon päälle Raspberry Pi -laitteen painikkeella. Painikkeet tai kytkimet yhdistävät kaksi pistettä piirissä, kun niitä painetaan. Tämä opetusohjelma sytyttää yhden LED -valon, kun painiketta painetaan kerran, ja sammuttaa
AC: n käyttö LEDien kanssa (osa 4) - uudet tekniikat: 6 vaihetta (kuvien kanssa)
AC: n käyttö LEDien kanssa (osa 4) - uusi tekniikka: Jotkut esteistä, jotka yleisesti hyväksytään LED -valoja kotona, ovat olleet suhteellisen korkeat lumen -kustannukset ja monimutkaiset ja kömpelöt tehonmuunnosjärjestelmät. Viime kuukausina monet uudet tapahtumat lupaavat viedä meidät askeleen lähemmäksi