Inhoudsopgave:

Haptische fluitleraar: 10 stappen
Haptische fluitleraar: 10 stappen

Video: Haptische fluitleraar: 10 stappen

Video: Haptische fluitleraar: 10 stappen
Video: 3000 Abonnenten 30 Fragen |#verasblockflötenkanal 2024, November
Anonim
Image
Image
Onderdelen lijst
Onderdelen lijst

Ben je het ooit zat om de vingerzetting voor een hoge Bes te vergeten en jezelf in verlegenheid te brengen in het bijzijn van je mede-bandleden? Nee? Alleen ik? Om me te helpen mijn fluitvingerzettingen te onthouden (in plaats van te oefenen), heb ik een haptische fluitleraar gebouwd om me te helpen herinneren hoe ik elke noot moet spelen. Na het lezen van dit artikel over een haptische pianoleraar, probeerde ik er een te maken voor een fluit. Ik heb twee Arduino's, een paar zoemers en een heleboel draden gebruikt om dit ding tot leven te laten komen. De Haptic Flute Teacher kent de vingerzettingen van alle noten op de fluit (inclusief flats en kruizen) en kan je leren hoe je de chromatische toonladder speelt! Om deze fluitleraar te gebruiken, trek je de handschoenen aan en selecteer je vervolgens de noot of het nummer op het LCD-scherm door op een knop te drukken. Wanneer de gewenste noot of het gewenste nummer wordt weergegeven, drukt u op de andere knop en de vingers die u op de fluit zou indrukken, beginnen te trillen en laten u de vingerzetting zien. Door elke vinger te laten trillen, is het de bedoeling dat de vingerzetting voor de noot spiergeheugen wordt. Dit project is vooral bedoeld voor mensen die enigszins weten hoe ze fluit moeten spelen en hulp nodig hebben bij het onthouden van vingerzettingen voor noten en liedjes. Dit project kan ook mensen helpen die niet veel coördinatie- of handblessures hebben waarbij ze dingen niet stil kunnen houden. Voordat u dit project probeert, moet u ervoor zorgen dat u de basis van Arduino en een aantal circuits kent. Nu de intro uit de weg is, gaan we naar het bouwproces!

Stap 1: Onderdelenlijst

Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst

Vereist:

2 Arduino's

Breadboards

LCD-scherm - om de noot/het nummer weer te geven

2 drukknoppen - om te kiezen welke noot/liedje je wilt spelen

Draden

10 vibrerende motoren - om aan de handschoenen te lijmen

Een paar handschoenen - om de motoren te monteren

2 330 ohm Weerstanden

1 10k Potentiometer

3 L293D-chips

Optioneel:

1 passieve zoemer

Een doos om de elektronica in te huisvesten terwijl je oefent

Gereedschap:

Heet lijmpistool

Soldeerbout

Plakband

Draadstrippers

Je hersenen (de belangrijkste)

Stap 2: I2C-protocol

I2C-protocol
I2C-protocol

Aangezien we te maken hebben met tien motoren en de Arduino alleen de snelheid van de motoren kan regelen met PWM-pinnen, hebben we meer dan één Ardunio nodig om alle tien motoren te besturen. Elke Arduino heeft ongeveer 6 PWM-pinnen, dus als we twee Arduino's aansluiten, hebben we een totaal van 12 PWM-pinnen. Om de twee Arduino's met elkaar te verbinden gebruiken we het I2C-protocol. Simpel gezegd, dit is een manier om één "master" Arduino andere "slave" Arduino's te laten besturen door gegevens door de draden te sturen. Kijk naar mijn fritzing-diagram om het I2C-protocol in te stellen. Sluit A4, A5 en GND van de twee Arduino's aan. In de code stuurt de master Arduino een waarde door de draden en de slave Arduino ontvangt deze. Afhankelijk van wat de waarde is, voert de slave Arduino een andere taak uit. Als ik bijvoorbeeld een lage C op mijn fluit wil spelen, stuurt de master Arduino de waarde voor lage C door de draden (terwijl hij ook vertelt welke vingers van de rechterhand moeten trillen) om de slave Arduino te vertellen dat de vingers zoemen voor lage C. Hier is meer informatie over het I2C-protocol.

Stap 3: Bereid uw motoren voor

Bereid je motoren voor
Bereid je motoren voor
Bereid je motoren voor
Bereid je motoren voor

Deze motoren zijn goedkoop en behoorlijk slecht. De draden zullen gemakkelijk uit de motor vallen en ze onbruikbaar maken. U wilt een klodder hete lijm aanbrengen op de plaats waar de draad op de motor is aangesloten om ze vast te zetten. Strip vervolgens voorzichtig de dunne draden van de motor en soldeer betere draden aan de motordraden. Het is oké als er een defect is of als je er een breekt, want als je op de fluit speelt, is er geen sleutel voor je rechterduim, dus je hebt maar 9 motoren nodig.

Stap 4: Montage van motoren op de handschoenen

Motoren op de handschoenen monteren
Motoren op de handschoenen monteren
Motoren op de handschoenen monteren
Motoren op de handschoenen monteren

Trek eerst de handschoenen aan en zorg dat ze passen. Houd ze aan en pak je motoren. Zoek een plek waar de vibrerende motoren comfortabel passen en de uiteinden ongehinderd kunnen ronddraaien. Pak dan wat hete lijm en terwijl de handschoen aan je hand zit (of niet als je de hitte niet aankan) lijm je de motoren op de gewenste plek op je vinger. Neem vervolgens de goede draden die je hebt gesoldeerd en lijm deze op de lengte van de handschoen zodat ze niet in de knoop raken. Neem dan wat langere draden die uiteindelijk op de Arduino zullen worden aangesloten (zorg ervoor dat ze lang genoeg zijn zodat je vrij kunt bewegen wanneer ze op de Arduino zijn aangesloten (waarschijnlijk op armlengte)) en soldeer die aan de draden die op de motor zijn aangesloten. Draai de twee draden van elke motor samen zodat u weet welke draden elke motor aansturen. Nu je de motoren en handschoen hebt ingesteld, gaan we de besturingshub voor de motoren op het breadboard instellen.

Stap 5: Sluit het LCD-scherm aan

LCD aansluiten
LCD aansluiten
LCD aansluiten
LCD aansluiten
LCD aansluiten
LCD aansluiten

Er zijn verschillende stapsgewijze handleidingen die u laten zien hoe u een LCD-scherm aansluit op een Arduino. Hier is een link naar de Arduino-website die je vertelt hoe je het moet aansluiten. Het probleem met de Arduino-website is dat de tutorial de PWM-pinnen gebruikt voor het LCD-scherm die we nodig hebben om de motoren te besturen. Dus veranderde ik op welke pinnen het LCD-scherm is aangesloten, zodat ik de PWM-pinnen voor de motoren kon vrijmaken. Controleer mijn diagram voor wat ik deed. Specifiek, hier is wat ik heb gewijzigd: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13. Je gebruikt de 10k-pot voor het LCD-scherm. Zorg ervoor dat u het LCD-scherm aansluit op de master Arduino en niet op de slave Arduino.

Stap 6: L293D instellen

L293D-configuratie
L293D-configuratie
L293D-configuratie
L293D-configuratie
L293D-configuratie
L293D-configuratie

Ok, dus deze chips zijn motordrivers. Elke bestuurder kan 2 motoren besturen, met de mogelijkheid om de richting van de motor in de code om te keren. Voor mijn doeleinden heb ik veel motoren en niet veel ruimte. Omdat het niet uitmaakt op welke manier de motor draait (hij zoemt ongeacht de manier waarop hij draait), heb ik het ene uiteinde van elke motor op aarde aangesloten en het andere op de uitgangspen van de motordriver, waardoor de chip in plaats daarvan 4 motoren kan besturen van 2. Bekijk mijn bedradingsschema hierboven hoe je ze moet aansluiten. Ik heb ook de datasheet toegevoegd voor meer informatie over wat elke pin doet op de L239D-chip. Laat de invoerpinnen voorlopig leeg, want dat zal ik in de volgende stap behandelen.

Stap 7: Uw Arduino aansluiten op L293D Set-Up

Uw Arduino aansluiten op L293D-set-up
Uw Arduino aansluiten op L293D-set-up
Uw Arduino aansluiten op L293D-set-up
Uw Arduino aansluiten op L293D-set-up

Neem nu je drie componenten (de handschoen met motoren, L293D-opstelling en LCD-scherm met 2 Arduino's) en verbind ze met elkaar. De master Arduino bestuurt de motoren aan je rechterhand en de slave Arduino bestuurt de motoren aan je linkerhand. Sluit op de master Arduino aan: Rpointer-motor op pin 3; Rmidden = 10; Ring = 9; Rpinky = 6. Voor de slave Arduino connect: Lpointer = pin 11; Lmidden = 10; Lring = 9; Pinky = 6; Lthumb = 5. De draden van de Arduino worden aangesloten op de pin van de L293D naast de pin waarop de motor is aangesloten. Check mijn fritzing voor de exacte plekjes. Ook moet u hier uw knoppen hebben ingesteld. Deze zouden snel moeten worden opgezet, volg gewoon mijn fritzing. Ik gebruikte 330 ohm weerstanden voor de knoppen. Sluit de ene aan op pin 2 en de andere op pin 4, beide op de master Arduino. Degene die op pin 2 is aangesloten, kiest de noot en degene die op pin 4 is aangesloten, laat de motoren trillen voor de noot die op het LCD-scherm wordt weergegeven.

Stap 8: code voor beide Arduino's

Code voor beide Arduino's
Code voor beide Arduino's

We hebben twee afzonderlijke sets code nodig voor elke Arduino. Ik heb ze geüpload naar mijn GitHub. Ze hebben elk de namen van de Arduino waarnaar ze zouden moeten worden geüpload. Kijk zeker eens door mijn code. Als je vragen hebt, moeten ze daar worden beantwoord.

Stap 9: aanzetten

Het aandrijven
Het aandrijven

Omdat de motoren veel stroom verbruiken, heb ik 2 9V-batterijen gebruikt om hem van stroom te voorzien. Het is waarschijnlijk niet de beste, maar het werkte voor mij. Sluit de vin van beide Arduino aan op de powerrails van de breadboards en verbind de aarde van de master met de rails van de breadboards. En nu ben je klaar om je fluit te oefenen!

Stap 10: enkele extra's

Enkele extra's
Enkele extra's
Enkele extra's
Enkele extra's
Enkele extra's
Enkele extra's

In mijn code is het je misschien opgevallen dat ik een paar regels heb becommentarieerd. Die regels zijn bedoeld om de fluitleraar met je mee te laten spelen door middel van een passieve zoemer. Ik had geen zoemer, dus ik heb de functie gewoon toegevoegd als iets cools. Maak gewoon een opmerking over mijn code en voeg een zoemer toe aan een open pin op de Arduino. Nu heb je een meespeelleraar!

Plaats de elektronica in een doos of tas om je fluitleraar draagbaar te maken!

U kunt meer nummers programmeren! Omdat ik elke noot als methode heb, kun je gewoon een andere voorwaarde toevoegen aan mijn switch-statement en de volgorde van de noten van het nummer dat je wilt spelen. Om de timing te wijzigen, wijzigt u de vertraging tussen elke noot.

Laat het me weten als je vragen of opmerkingen hebt in de reacties hieronder. Gelukkig fluitspel!

Aanbevolen: