Inhoudsopgave:

Geautomatiseerde MIDI Xylofoon - Ajarnpa
Geautomatiseerde MIDI Xylofoon - Ajarnpa

Video: Geautomatiseerde MIDI Xylofoon - Ajarnpa

Video: Geautomatiseerde MIDI Xylofoon - Ajarnpa
Video: MIDI Solenoid Drummer #crickit #feather @adafruit #adafruit 2024, Juli-
Anonim
Image
Image

In deze instructable zullen we onderzoeken hoe solenoïdes worden afgevuurd met behulp van een Arduino Uno en MIDI-signalen. Een van de beste toepassingen hiervoor is het bouwen van een geautomatiseerde xylofoon. Hoewel dit slechts een richtlijn is, worden de Arduino-code en elektrische schema's verstrekt.

Voordat u dit project probeert aan te pakken, moet u het volgende hebben:

  • Basisvaardigheden voor houtbewerking
  • Soldeer vaardigheden
  • Een goed begrip van het Arduino-platform
  • Veel geduld.

Onderdelen en materialen zijn te vinden bij de leverancier van uw keuze, maar als u nieuw bent in de wereld van elektronica, wordt u aangeraden Adafruit te gebruiken om uw onderdelen te kopen.

Onderdelen lijst. (Opmerking: verschillende variaties in de xylofoon die u koopt, kunnen ertoe leiden dat er extra en/of andere onderdelen nodig zijn)

  • Xylofoon met 16 toetsen
  • MIDI-aansluiting
  • Arduino Uno R3
  • Arduino-ontwikkelaar Schild
  • MCP23017 I2C-uitbreiding
  • 6N136 Hoge snelheid optocoupler
  • Mini 12V-magneten - x16
  • 1N4007 Diode - x17
  • 470 ohm weerstand - x2
  • 1K ohm weerstand - x17
  • 10K ohm weerstand
  • C1815 NPN-transistor
  • C4811 Darlington-transistor of TIP120-transistor - x16
  • Koppennen en sockets
  • 12V - Voeding. (Solenoïden kunnen behoorlijk wat stroom verbruiken, ik raad een 10A-voeding aan)
  • LED (Kleurvoorkeur naar keuze)
  • 3/4 inch kast deuvel - 6ft
  • 3/4 inch multiplex of MDF
  • Perfboard
  • USB naar MIDI-interfacekabel (bij bediening vanaf pc)
  • 4 mm m2 schroeven - x32
  • m2 platte ringen - x32
  • Draad
  • Diverse houtschroeven

Gereedschapslijst (Opmerking: dit project vereist houtfabricage en extra houtbewerkingsgereedschap wordt geadviseerd.)

  • Soldeerbout
  • Draadstrippers
  • Schroevendraaiers.
  • Tang
  • Heet lijmpistool
  • Superlijm
  • Oefening.
  • Boren. (3/4 inch schoppenbit en bits voor geleidegaten)
  • Meetinstrument (ik gebruikte een richtliniaal.)
  • Potlood.
  • legpuzzel

Optionele hulpmiddelen

  • Desoldeergereedschap (als je nieuw bent bij het solderen)
  • Pincet

Stap 1: Bedrading van de Midi-controller

De Midi-controller bedraden
De Midi-controller bedraden
De Midi-controller bedraden
De Midi-controller bedraden
De Midi-controller bedraden
De Midi-controller bedraden

De eerste stap is het monteren van de MIDI-controller.

Hiervoor heb je nodig:

  • MIDI-aansluiting
  • Arduino-ontwikkelaar Schild
  • MCP23017 I2C-uitbreiding
  • 6N136 Hoge snelheid optocoupler
  • 1N4007 Diode - x1
  • 470 ohm weerstand - x2
  • 1K ohm weerstand - x1
  • 10K ohm weerstand
  • C1815 NPN-transistor
  • Koppennen en sockets
  • LED
  • Draad

Het MIDI-circuit kan intimiderend lijken voor beginners, maar is eigenlijk vrij eenvoudig. Als u het meegeleverde schema volgt, zou u geen problemen moeten hebben.

De plaatsing van de componenten zal van cruciaal belang zijn. Het is gemakkelijk om vrij snel geen ruimte meer te hebben, dus gebruik de meegeleverde afbeelding van de voltooide controller als richtlijn. Er zijn verschillende lay-outs die voor deze stap werken, dus als u met plaatsing speelt, vindt u misschien een manier die beter voor u werkt.

Alles zal een gemeenschappelijke basis hebben in dit project; wat belangrijk zal zijn in de volgende stap.

Omdat we werken met een 12 volt voeding, 12 volt solenoïdes en 12 volt binnen het acceptabele bereik is om een Arduino van stroom te voorzien, kunnen we voor alles dezelfde voeding gebruiken.

Als solderen nieuw voor je is, raad ik je ten zeerste aan om Adafruit's handleiding voor solderen te lezen en te oefenen op een perfboard voordat je verder gaat met dit project.

Evenzo, als je nieuw bent in het lezen van schema's, zou het nu een goed moment zijn om wat te lezen over symbolen en polariteit. All About Circuits is hiervoor een prachtige bron.

Stap 2: Bedrading van de magneetcircuits

De solenoïdecircuits bedraden
De solenoïdecircuits bedraden
De solenoïdecircuits bedraden
De solenoïdecircuits bedraden

Volgende We gaan verder met het solenoïde circuit.

Voor deze stap heb je nodig:

  • 1 1N4007 Diode - x16
  • 1K ohm weerstand - x16
  • Darlington-transistor of TIP120-transistor - x16
  • Koppennen en sockets
  • Draad

Het magneetcircuit is veel minder intimiderend. Omdat deze circuits vrij klein zullen zijn, is het een goed moment om wat stukjes perfboard te gebruiken als je ze hebt liggen. Je moet er 16 maken. In de voorbeeldfoto zijn 4 schakelingen per bord gemaakt en dat is perfect gelukt.

Vergeet niet om de aardingsdraden van uw solenoïdecircuits aan te sluiten op hetzelfde aardingsvlak als uw Arduino.

Alles in het voorbeeld is modulair, dus headers en sockets werden gebruikt om het testen gemakkelijker te maken. Als u echter een paar dollar wilt besparen, kunt u de draden rechtstreeks in de borden solderen.

De solenoïdes die in het voorbeeld werden gebruikt, werden af fabriek geleverd met 2-pins JST-connectoren. Hoewel er geen JST-poorten handig waren in mijn eigen gereedschapskist, koppelden sommige willekeurige haakse connectoren er mooi aan. Nog een goed gebruik van afvalmateriaal.

Stap 3: Het frame bouwen

Het frame bouwen
Het frame bouwen
Het frame bouwen
Het frame bouwen
Het frame bouwen
Het frame bouwen

De derde en grootste stap in het proces is het monteren van het frame.

Je zal nodig hebben:

  • 16 toets Xylofoon Mini 12V
  • 3/4 inch kast deuvel - 6ft
  • 3/4 inch multiplex of MDF
  • Diverse houtschroeven

Het frame is het eerste gebied waar u grotendeels alleen bent. De kans is groot dat je niet dezelfde xylofoon hebt die ik heb gebruikt en dat je maten anders zijn dan de mijne. Maar wees niet bang, ik zal zoveel mogelijk informatie geven over het ontwerpproces.

Eerst nam ik de 3 metingen van mijn xylofoon:

  • Hoogte
  • Lengte
  • Breedte lage octaafzijde (het breedste punt)

Ik sneed toen een rechthoek uit triplex; de lengte van je rechthoek moet overeenkomen met de breedte van je xylofoon. De hoogte zou u voldoende ruimte moeten geven om uw xylofoon enkele centimeters op te tillen van het oppervlak waarop u hem plaatst. Het zou je middenbalk ook voldoende ruimte moeten geven om de solenoïdes en transistorschakelingen te huisvesten.

Na het snijden van mijn rechthoeken knip ik een van de hoeken af om ze een mooie vorm te geven. Deze stap is optioneel, maar als u dezelfde markering wilt maken vanaf waar het begin van de hoek gelijk ligt met de toetsen van mijn xylofoon en naar het midden bovenaan snijdt. Beide zijden moeten identiek aan elkaar zijn.

Ik klemde twee kanten op elkaar en gebruikte een schoppenbit van 3/4 inch om gaten uit te boren waarmee ik mijn deuvel kon plaatsen.

Nadat dat klaar was sneed ik nog 2 stukken multiplex als steunen om de xylofoon vast te houden (vergelijkbaar met plankpinnen). De formule die ik heb gebruikt om de steunen te dimensioneren, wordt hieronder uitgelegd.

Ondersteuning Afmetingen:

  • Xylofoonsteun 1 (Hoogte = 1 inch, Lengte = Breedte van lage octaafzijde van xylofoon)
  • Xylofoonsteun 2 (Hoogte = 1 inch, Lengte = Breedte van hoge octaafzijde van xylofoon)

Ik lijmde en schroefde de steunen aan het frame en zorgde ervoor dat ze mijn xylofoon waterpas hielden. Ik sneed mijn kast deuvel doormidden en duwde de 2 stukken in hun gaten. Ik controleerde de basispasvorm van alles en lijmde het aan elkaar. Nadat de lijm was opgedroogd, knipte ik de extra stukken kastplug eraf en schuurde ze plat tegen de zijkanten.

De middelste balk is het lastigste en belangrijkste onderdeel. Het moet perfect recht zijn en je moet een bijna perfecte hoeveelheid ruimte tussen de middenbalk en de toetsen laten. Te veel ruimte en je solenoïdes maken geen contact, te weinig ruimte en je xylofoon klinkt niet goed.

Ik sneed de middenbalk om precies tussen de twee zijden van de xylofoon te passen. Ik heb deze stap geschuurd, gemeten en herhaald totdat mijn middenbalk zo recht was als ik hem kon maken. Ik plaatste toen een tijdschrift van 4 mm dik direct op de toetsen van mijn xylofoon en gebruikte het als een gids om de middenbalk precies daar te houden waar hij moest zijn. Ik gebruikte 2 schroeven aan elke kant om de middenbalk op zijn plaats te houden.

Gefeliciteerd, je bent klaar met het frame!

Stap 4: De solenoïden plaatsen

De elektromagneten plaatsen
De elektromagneten plaatsen
De elektromagneten plaatsen
De elektromagneten plaatsen
De elektromagneten plaatsen
De elektromagneten plaatsen

Stap 4 is het bevestigen van de solenoïdes aan de middenbalk.

Je zal nodig hebben:

  • Mini 12v-magneten - x16
  • 4 mm m2 schroeven - x32
  • m2 platte ringen - x32
  • Diverse houtschroeven
  • Knutselstokken

Hoe u uw solenoïden plaatst, hangt allemaal af van uw xylofoon. Ik legde een knutselstokje over zoveel toetsen dat het zou passen en markeerde gebieden waar mijn solenoïden op het midden van elke xylofoontoets zouden tikken. De afstand werd uiteindelijk 4 solenoïden per knutselstok.

De solenoïden die in het voorbeeld worden gebruikt, zijn vooraf getapt voor schroeven van M2-formaat. Een 4 mm M2-schroef met een M2-platte ring bevestigde de solenoïde perfect aan de knutselstok. Ik heb de gaten voor de schroeven voorgeboord en de solenoïden stevig aan de knutselstokken bevestigd.

Ik sneed toen nog een paar knutselstokjes en plakte ze aan de achterkant van mijn solenoïde-arrangement; dit deed twee dingen. Eerst plaatste het de solenoïde-opstelling ver genoeg van de middenbalk zodat de M2-schroefkoppen die aan de achterkant van de solenoïdes waren gemonteerd, niet tegen de middenbalk zouden zitten. Ten tweede gaf het de solenoïde-opstelling een stevigere verbinding door meer materiaal te leveren om in te schroeven.

Om de opstelling aan de middenbalk te bevestigen, heb ik de afstand vrijgemaakt door de solenoïde opstelling uit te lijnen naar waar ik dacht dat het zou moeten zijn; handmatig op mijn solenoïdeplunjers gedrukt om er zeker van te zijn dat ze allemaal de xylofoontoetsen gelijkmatig zouden raken; en vervolgens kleine houtschroeven gebruikt om het aan de middenbalk te bevestigen.

Stap 5: De Arduino coderen en MIDI begrijpen

Om de Arduino te programmeren, moet je de nieuwste Arduino IDE installeren en leren hoe je een aantal basisdingen kunt doen, zoals uploaden naar je Arduino en bibliotheken installeren. Er zijn veel handleidingen op internet over hoe dit te doen en het proces past niet in de reikwijdte van deze build.

Als je eenmaal vertrouwd bent met het gebruik van de Arduino IDE, heb je de volgende bibliotheken nodig.

  • Arduino MIDI-bibliotheek
  • Adafruit MCP23017 Bibliotheek

Nadat je die bibliotheken hebt geïnstalleerd, download je de code van deze instructable en kopieer en plak je deze in de Arduino IDE.

Upload de code naar de Arduino zonder het door u gemaakte MIDI-bord te bevestigen. Nadat de code is geüpload, sluit u alles aan, drukt u op de resetknop op de Arduino en test u of alles werkt zoals het hoort.

OPMERKING*

Verschillende xylofoons hebben verschillende notenarrangementen, dus de exacte code die ik heb geschreven, werkt mogelijk niet correct voor uw xylofoon. Maar dit is een gemakkelijke oplossing. Raadpleeg deze MIDI-notitietabel en verander het nootnummer in de Arduino-code om overeen te komen met de noten van uw xylofoon.

Ter referentie, de noten die ik vooraf heb ingesteld zijn als volgt:

  • 79 – G
  • 77 – F
  • 76 – E
  • 74 – D
  • 72 – C
  • 71 – B
  • 69 – A
  • 67 – G
  • 65 – F
  • 64 – E
  • 62 – D
  • 60 – C -- Midden C
  • 59 – B
  • 57 - A
  • 55 – G
  • 53 – F

Stap 6: Het muziekprogramma

Het muziekprogramma
Het muziekprogramma

Het programma dat je in de video ziet, is Guitar Pro 6. Het is niet erg duur, maar het is gemakkelijk te gebruiken en kan MIDI uitvoeren precies zoals ik het wil. Een andere leuke eigenschap van GP6 is dat je staccato aan een hele track kunt toevoegen, waardoor de xylofoon beter klinkt door de noten voortijdig los te laten.

Het volgende belangrijke detail is dat mijn xylofoon slechts 2 octaven aan natuurlijke noten bevat; wat betekent dat het geen kruizen of flats kan spelen.

Als je dit project hebt gebouwd, aarzel dan niet om het Tetris-thema te downloaden dat ik op deze pagina heb opgenomen.

Aanbevolen: