INHOUDSOPGAWE:

Haptiese fluitonderwyser: 10 stappe
Haptiese fluitonderwyser: 10 stappe

Video: Haptiese fluitonderwyser: 10 stappe

Video: Haptiese fluitonderwyser: 10 stappe
Video: TICWATCH PRO 5 Review: The BEST Wear OS Watch Yet?! // A Complete Guide 2024, November
Anonim
Image
Image
Deellys
Deellys

Is u al ooit moeg daarvoor om die vingers vir 'n hoë B -woonstel te vergeet en u in die verleentheid te stel voor u mede -orkeslede? Geen? Net ek? Om my te help om my fluitvingers te memoriseer (in plaas van te oefen), het ek 'n Haptic Flute Teacher gebou om my te help onthou hoe ek elke noot moet speel. Nadat ek hierdie artikel oor 'n haptiese klavieronderwyser gelees het, het ek probeer om een vir 'n fluit te maak. Ek het twee Arduino's, 'n paar gonsers en baie drade gebruik om hierdie ding lewendig te maak. Die Haptic Flute Teacher ken die vingers vir al die note op die fluit (insluitend flats en skerpe) en kan jou leer hoe om die chromatiese toonleer te speel! Om hierdie fluitonderwyser te gebruik, trek u die handskoene aan en kies dan die noot of liedjie op die LCD deur op 'n knoppie te druk. As die gewenste noot of liedjie vertoon word, druk die ander knoppie en die vingers wat u op die fluit sal druk, begin vibreer, wat u die vinger wys. Deur elke vinger te vibreer, is die idee dat die vinger vir die noot spiergeheue sou word. Hierdie projek is hoofsaaklik bedoel vir mense wat 'n bietjie weet hoe om fluit te speel en hulp nodig het om vingers vir notas en liedjies te memoriseer. Hierdie projek kan ook diegene help wat nie veel koördinasie of handbeserings het nie, waar hulle nie kan stilhou nie. Voordat u hierdie projek aanpak, moet u die basiese beginsels van Arduino en 'n paar stroombane ken. Met die intro uit die pad, kom ons by die bouproses!

Stap 1: Deellys

Deellys
Deellys
Deellys
Deellys

Nodig:

2 Arduino's

Broodplanke

LCD -skerm - om die noot/liedjie te vertoon

2 drukknoppies - om te kies watter noot/liedjie jy wil speel

Drade

10 vibrerende motors - om aan die handskoene vas te plak

'N Paar handskoene - om die motors te monteer

2 330 ohm weerstande

1 10k potensiometer

3 L293D -skyfies

Opsioneel:

1 Passiewe gonser

'N Boks om die elektronika te huisves terwyl u oefen

Gereedskap:

Warm gom geweer

Soldeerbout

Band

Draadstroppers

Jou brein (die belangrikste)

Stap 2: I2C -protokol

I2C -protokol
I2C -protokol

Aangesien ons met tien motors te doen het en die Arduino slegs die snelheid van die motors met PWM -penne kan beheer, benodig ons meer as een Ardunio om al tien motors te beheer. Elke Arduino het ongeveer 6 PWM -penne, dus as ons twee Arduino's verbind, het ons 'n totaal van 12 PWM -penne. Om die twee Arduinos te verbind, gebruik ons die I2C -protokol. Eenvoudig gestel, dit is 'n manier om 'n "meester" Arduino te laat beheer oor die ander "slaaf" Arduinos deur data deur die drade te stuur. Kyk na my fritzing -diagram om die I2C -protokol op te stel. Koppel A4, A5 en GND van die twee Arduino's. In die kode stuur die meester Arduino 'n waarde deur die drade en die slaaf Arduino ontvang dit. Afhangende van wat die waarde is, voer die slaaf Arduino 'n ander taak uit. As ek byvoorbeeld 'n lae C op my fluit wil speel, stuur die meester Arduino die waarde vir lae C deur die drade (terwyl ek ook vertel watter vingers aan die regterhand moet vibreer) om die slaaf Arduino te vertel om die vingers te laat gons vir lae C. Hier is meer inligting oor I2C -protokol.

Stap 3: Berei u motors voor

Berei u motors voor
Berei u motors voor
Berei u motors voor
Berei u motors voor

Hierdie motors is goedkoop en redelik sleg. Die drade val maklik uit die motor en maak dit nutteloos. Om 'n stuk warm gom te plaas, moet die draad met die motor verbind word. Trek dan die dun drade van die motor versigtig af en soldeer beter drade aan die motordrade. Dit is goed as een gebrekkig is, of as u een breek, want as u op die fluit speel, is daar geen sleutel vir u regterduim nie, dus benodig u slegs 9 motors.

Stap 4: Monteer motors op die handskoene

Montering van motors op die handskoene
Montering van motors op die handskoene
Montering van motors op die handskoene
Montering van motors op die handskoene

Trek eers die handskoene aan en maak seker dat hulle pas. Hou dit aan en gryp u motors. Vind 'n plek waar die vibrerende motors gemaklik pas en die ente sonder hindernis draai. Gryp dan 'n bietjie warm gom en terwyl die handskoen op u hand is (of nie as u nie die hitte kan hanteer nie), plak die motors op die gewenste plek op u vinger vas. Neem dan die goeie drade waarop u gesoldeer het en plak dit op die lengte van die handskoen sodat hulle nie verstrengel raak nie. Neem dan 'n paar langer drade wat uiteindelik met die Arduino verbind kan word (maak seker dat hulle lank genoeg is sodat u vrylik kan rondbeweeg as hulle aan die Arduino gekoppel is (waarskynlik om die armlengte)) en soldeer hulle aan die drade wat aan die motor gekoppel is.. Draai die twee drade van elke motor saam sodat jy weet watter drade elke motor beheer. Noudat u die motors en handskoene opgestel het, sal ons die stuurhub vir die motors op die broodbord opstel.

Stap 5: Koppel die LCD aan

Koppel LCD aan
Koppel LCD aan
Koppel LCD aan
Koppel LCD aan
Koppel LCD aan
Koppel LCD aan

Daar is verskillende stap-vir-stap gidse wat u wys hoe u 'n LCD aan 'n Arduino kan koppel. Hier is 'n skakel na die Arduino -webwerf wat u vertel hoe u dit kan aansluit. Die probleem met die Arduino -webwerf is dat die handleiding die PWM -penne gebruik vir die LCD wat ons nodig het om die motors te beheer. Ek het dus verander na watter penne die LCD koppel, sodat ek die PWM -penne vir die motors kan losmaak. Kyk na my diagram vir wat ek gedoen het. Hier is spesifiek wat ek verander het: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13. Jy gebruik die 10k -pot vir die LCD -skerm. Maak seker dat u die LCD aan die meester Arduino koppel, nie aan die slaaf Arduino nie.

Stap 6: Opstelling L293D

L293D Opstelling
L293D Opstelling
L293D Opstelling
L293D Opstelling
L293D Opstelling
L293D Opstelling

Ok, hierdie skyfies is motorbestuurders. Elke bestuurder kan 2 motors bestuur, met die vermoë om die motor se rigting in die kode om te keer. Vir my doeleindes het ek baie motors en nie veel ruimte nie. Aangesien dit nie saak maak in watter rigting die motor draai nie (dit gons, ongeag die manier waarop dit draai), het ek die een kant van elke motor aan die grond gekoppel en die ander aan die uitsetpen van die motorbestuurder, sodat die chip 4 motors in plaas daarvan kon beheer van 2. Kontroleer my bedradingsdiagram hierbo hoe ek dit kan opdra. Ek het ook die datablad bygevoeg vir meer inligting oor wat elke pen op die L239D -chip doen. Laat die invoerpenne vir eers leeg, want ek behandel dit in die volgende stap.

Stap 7: Verbind u Arduino met die opstelling van L293D

Bedek u Arduino na die L293D-opstelling
Bedek u Arduino na die L293D-opstelling
Bedek u Arduino na die L293D-opstelling
Bedek u Arduino na die L293D-opstelling

Neem nou u drie komponente (die handskoen met motors, die L293D-opstelling en die LCD-skerm met 2 Arduino's) en koppel dit aan mekaar. Die meester Arduino beheer die motors aan u regterhand en die slaaf Arduino beheer die motors aan u linkerhand. Op die master Arduino verbind: Rpointer -motor na pen 3; Middel = 10; Rring = 9; Rpinky = 6. Vir die slaaf Arduino verbind: Lpointer = pen 11; Middel = 10; Lring = 9; Lpinky = 6; Lthumb = 5. Die drade van die Arduino verbind met die pen van die L293D langs die pen waarmee die motor gekoppel is. Kyk na my presisie vir die presiese plekke. U moet ook u knoppies hier opstel. Dit moet vinnig opgestel word, volg my fritzing. Ek het 330 ohm weerstande vir die knoppies gebruik. Koppel die een aan pen 2 en die ander aan pen 4, beide op die master Arduino. Die een wat met pen 2 gekoppel is, kies die noot en die een wat met pen 4 gekoppel is, laat die motors tril vir die noot wat op die LCD vertoon word.

Stap 8: Kode vir beide Arduinos

Kode vir beide Arduinos
Kode vir beide Arduinos

Ons benodig twee afsonderlike stelle kode vir elke Arduino. Ek het dit na my GitHub opgelaai. Hulle het elkeen die name van die Arduino waarop hulle veronderstel is om opgelaai te word. Maak seker dat u deur my kode kyk. As u vrae het, moet hulle daar beantwoord word.

Stap 9: Skakel dit aan

Dit dryf
Dit dryf

Aangesien die motors baie krag gebruik, het ek 2 9V -batterye gebruik om dit aan te dryf. Dit is waarskynlik nie die beste nie, maar dit het vir my gewerk. Koppel die vin van beide Arduino aan die kragrails van die broodborde en verbind die grond van die meester met die relings van die broodborde. En nou is u gereed om u fluit te oefen!

Stap 10: 'n paar bykomstighede

'N Paar ekstras
'N Paar ekstras
'N Paar ekstras
'N Paar ekstras
'N Paar ekstras
'N Paar ekstras

In my kode het u moontlik opgemerk dat ek 'n paar reëls kommentaar gelewer het. Hierdie reëls is om die fluitonderwyser saam met u deur 'n passiewe zoemer te laat speel. Ek het nie 'n gonser nie, so ek het die funksie net bygevoeg net as iets cools. Los my kode eenvoudig op en voeg 'n zoemer by 'n oop pen op die Arduino. Nou het jy 'n speel saam juffrou!

Plaas die elektronika in 'n boks of sak om u fluitonderwyser draagbaar te maak!

U kan meer liedjies programmeer! Aangesien ek elke noot as 'n metode het, kan u eenvoudig 'n ander voorwaarde in my skakelstelsel byvoeg en die volgorde van die note van die liedjie wat u wil speel, plaas. Om die tydsberekening te verander, verander die vertraging tussen elke noot.

Laat weet my as u vrae of kommer het in die kommentaar hieronder. Gelukkige fluitspel!

Aanbeveel: