Innholdsfortegnelse:

Haptic Flute Teacher: 10 trinn
Haptic Flute Teacher: 10 trinn

Video: Haptic Flute Teacher: 10 trinn

Video: Haptic Flute Teacher: 10 trinn
Video: Flute Teacher 2024, November
Anonim
Image
Image
Deleliste
Deleliste

Har du noen gang blitt lei av å glemme fingeren for en høy B -flat og gjøre deg flau foran dine andre bandmedlemmer? Nei? Bare meg? Vel, for å hjelpe meg med å huske mine fløytefingre (i stedet for å øve), bygde jeg en Haptic Flute Teacher for å hjelpe meg med å huske hvordan jeg skulle spille hver tone. Etter å ha lest denne artikkelen om en haptisk pianolærer, prøvde jeg meg på å lage en for fløyte. Jeg brukte to Arduinos, et par summer og mange ledninger for å få denne tingen til å leve. Haptic Flute Teacher kjenner fingeringene for alle notene på fløyten (inkludert flat og sharps) og kan lære deg hvordan du spiller den kromatiske skalaen! For å bruke denne fløytelæreren tar du på deg hanskene og deretter velger du noten eller sangen på LCD -skjermen ved å trykke på en knapp. Når ønsket tone eller sang vises, trykker du på den andre knappen og fingrene du vil trykke ned på fløyten begynner å vibrere, og viser deg fingeren. Ved å vibrere hver finger, er tanken at fingering for noten skulle bli muskelminne. Dette prosjektet er hovedsakelig for folk som litt vet hvordan de skal spille fløyte og trenger hjelp til å huske fingeringer for noter og sanger. Dette prosjektet kan også hjelpe de som ikke har mye koordinering eller håndskader der de ikke klarer å holde ting i ro. Sørg for at du kjenner det grunnleggende om Arduino og noen kretser før du prøver dette prosjektet. Med introen ute av veien, la oss komme til byggeprosessen!

Trinn 1: Delliste

Deleliste
Deleliste
Deleliste
Deleliste

Nødvendig:

2 Arduinos

Brødbrett

LCD -display - for å vise noten/sangen

2 Trykknapper - for å velge hvilken tone/sang du vil spille

Ledninger

10 vibrerende motorer - for å lime på hanskene

Et par hansker - for å montere motorene

2 330 ohm motstander

1 10k potensiometer

3 L293D -chips

Valgfri:

1 Passiv summer

En eske for å huse elektronikken mens du øver

Verktøy:

Varm limpistol

Loddejern

Teip

Wire strippere

Hjernen din (den viktigste)

Trinn 2: I2C -protokoll

I2C -protokoll
I2C -protokoll

Siden vi har å gjøre med ti motorer og Arduino bare kan kontrollere hastigheten på motorene med PWM -pinner, trenger vi mer enn én Ardunio for å kontrollere alle de ti motorene. Hver Arduino har omtrent 6 PWM -pinner, så når vi kobler til to Arduino -er har vi totalt 12 PWM -pinner. For å koble de to Arduinoene bruker vi I2C -protokollen. Enkelt sagt, dette er en måte å få en "mester" Arduino til å kontrollere andre "slave" Arduinos ved å sende data gjennom ledningene. Se på mitt fritzing -diagram for å sette opp I2C -protokollen. Koble til A4, A5 og GND for de to Arduinoene. I koden sender master Arduino en verdi gjennom ledningene og slaven Arduino mottar den. Avhengig av hva verdien er, utfører slaven Arduino en annen oppgave. For eksempel, hvis jeg vil spille en lav C på fløyten min, sender master Arduino verdien for lav C gjennom ledningene (samtidig som jeg forteller hvilke fingre på høyre hånd som skal vibrere) for å be slaven Arduino om å få fingrene til å surre for lav C. Her er mer informasjon om I2C -protokollen.

Trinn 3: Forbered motorene dine

Forbered motorene dine
Forbered motorene dine
Forbered motorene dine
Forbered motorene dine

Disse motorene er billige og ganske dårlige. Ledningene faller lett ut av motoren og gjør dem ubrukelige. Du vil legge en klatt varmt lim der ledningen kobles til motoren for å sikre dem. Fjern deretter forsiktig de tynne ledningene til motoren og lodde bedre ledninger til motortrådene. Det er ok hvis en er defekt eller du ender med å bryte en fordi når du spiller fløyte er det ingen nøkkel for høyre tommel, så du trenger bare 9 motorer.

Trinn 4: Montering av motorer på hanskene

Monteringsmotorer på hanskene
Monteringsmotorer på hanskene
Monteringsmotorer på hanskene
Monteringsmotorer på hanskene

Ta først på hanskene og sørg for at de passer. Hold dem på og ta tak i motorene dine. Finn et sted hvor de vibrerende motorene passer godt og endene snurrer uten hindringer. Ta deretter litt varmt lim, og mens hansken er på hånden din (eller ikke hvis du ikke klarer varmen), lim motorene på ønsket sted på fingeren. Ta deretter de gode ledningene du loddet på, og lim dem på hanskens lengde slik at de ikke blir flokete. Ta deretter noen lengre ledninger som til slutt vil koble seg til Arduino (sørg for at de er lange nok til at du fritt kan bevege deg rundt når de er koblet til Arduino (sannsynligvis rundt armlengde)) og lodde dem til ledningene som er koblet til motoren. Vri de to ledningene til hver motor sammen, slik at du vet hvilke ledninger som styrer hver motor. Nå som du har satt opp motorer og hansker, setter vi opp kontrollnavet for motorene på brødbrettet.

Trinn 5: Koble til LCD

Koble til LCD
Koble til LCD
Koble til LCD
Koble til LCD
Koble til LCD
Koble til LCD

Det er flere forskjellige trinnvise guider som viser deg hvordan du kobler en LCD til en Arduino. Her er en lenke til Arduino -nettstedet som forteller deg hvordan du kobler den til. Problemet med Arduino -nettstedet er at opplæringen bruker PWM -pinnene for LCD -en som vi trenger for å kontrollere motorene. Så jeg endret hvilke pinner LCD -en kobler til, slik at jeg kunne frigjøre PWM -pinnene til motorene. Sjekk diagrammet mitt for hva jeg gjorde. Spesielt, her er det jeg endret: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13. Du bruker 10k potten til LCD -skjermen. Sørg for å koble LCD -skjermen til master Arduino, ikke til slaven Arduino.

Trinn 6: L293D-oppsett

L293D Oppsett
L293D Oppsett
L293D-oppsett
L293D-oppsett
L293D-oppsett
L293D-oppsett

Ok, så disse brikkene er motordrivere. Hver sjåfør kan styre 2 motorer, med muligheten til å snu motorens retning i koden. For mine formål har jeg mange motorer og ikke mye plass. Siden det ikke spiller noen rolle hvilken vei motoren svinger (den surrer uavhengig av hvordan den svinger), koblet jeg den ene enden av hver motor til bakken og den andre til utgangsstiften til motordriveren, slik at brikken kunne styre 4 motorer i stedet av 2. Sjekk mitt koblingsskjema over hvordan du kobler dem opp. Jeg la også til databladet for mer informasjon om hva hver pin gjør på L239D -brikken. La foreløpig inndatapinnene stå tomme, da jeg dekker det i neste trinn.

Trinn 7: Tilkobling av Arduino til L293D-oppsett

Tilkobling av Arduino til L293D-oppsett
Tilkobling av Arduino til L293D-oppsett
Tilkobling av Arduino til L293D-oppsett
Tilkobling av Arduino til L293D-oppsett

Ta nå de tre komponentene dine (hansken med motorer, L293D-oppsett og LCD-skjerm med 2 Arduinos) og koble dem sammen. Mesteren Arduino vil kontrollere motorene på høyre hånd og slaven Arduino vil kontrollere motorene på venstre hånd. På master Arduino koble: Rpointer motor til pin 3; Rmiddle = 10; Rring = 9; Rpinky = 6. For slaven Arduino koble til: Lpointer = pin 11; Middel = 10; Lring = 9; Lpinky = 6; Lthumb = 5. Ledningene fra Arduino kobles til pinnen på L293D ved siden av pinnen motoren den styrer er koblet til. Sjekk fritzingen min for de eksakte stedene. Du må også ha knappene satt opp her. Disse skal være raske å sette opp, bare følg min fritzing. Jeg brukte 330 ohm motstander til knappene. Koble den ene til pin 2 og den andre til pin 4 begge på master Arduino. Den som er koblet til pin 2 vil velge notatet og den som er koblet til pin 4 vil få motorene til å vibrere for notatet som vises på LCD -skjermen.

Trinn 8: Kode for begge Arduinos

Kode for begge Arduinos
Kode for begge Arduinos

Vi trenger to separate sett med kode for hver Arduino. Jeg lastet dem opp til min GitHub. De har hver navnene på Arduino som de skal lastes opp til. Sørg for å ta en titt gjennom koden min. Hvis du har spørsmål, bør de besvares der.

Trinn 9: Slå på strømmen

Drar den
Drar den

Siden motorene bruker mye strøm, brukte jeg 2 9V batterier for å drive den. Det er nok ikke det beste, men det fungerte for meg. Koble vin fra begge Arduino til strømskinnene på brødbrettene og koble bakken til master til skinnene på brødbrettene. Og nå er du klar til å øve på fløyten din!

Trinn 10: Noen tillegg

Noen tillegg
Noen tillegg
Noen tillegg
Noen tillegg
Noen tillegg
Noen tillegg

I koden min har du kanskje lagt merke til at jeg har kommentert noen få linjer. Disse linjene er for å få fløytelæreren til å spille sammen med deg gjennom en passiv summer. Jeg hadde ikke en summer, så jeg la bare til funksjonen som noe kult. Bare legg ut koden min og legg til en summer til en åpen pin på Arduino. Nå har du en lek sammen med læreren!

Legg elektronikken i en eske eller pose for å gjøre fløyte -læreren din bærbar!

Du kan programmere flere sanger! Siden jeg har hver tone som metode, kan du ganske enkelt legge til en annen betingelse i min switch -setning og sette rekkefølgen på notene til sangen du vil spille. For å endre timingen, endre forsinkelsen mellom hver note.

Gi meg beskjed hvis du har spørsmål eller bekymringer i kommentarene nedenfor. Glad fløytespill!

Anbefalt: