Innehållsförteckning:
- Steg 1: Arduino Libraries
- Steg 2: Fäst elektroder till pianotangenter
- Steg 3: Installera programvara: Alternativ A: Arduino och Hairless MIDI to Serial Bridge
- Steg 4: Installera programvara: Alternativ B: Arduino och Python
- Steg 5: Installera programvara: Alternativ C: STM32F103C och MIDI Synthesizer Software
- Steg 6: Spela
Video: Snabb fruktpiano med MIDI: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Detta är ett riktigt enkelt kapacitivt beröringspiano. Knacka på frukt, burkar med läsk, flaskor med vatten, remsor av aluminiumfolie, etc., så får du polyfonisk pianomusik från din dator. Nu när programvaran är skriven bör projektet inte ta mer än 10 minuter att sätta ihop med Arduino -versionen.
Du behöver:
- en Arduino (Mega för 8 nycklar, Uno för 6 nycklar) eller ett svart piller STM32F103C8-kort ($ 2 på Aliexpress) plus en UART-till-USB-omvandlare (t.ex. en Arduino eller en CH340)
- USB-kabel
- lite aluminiumfolie
- testklipp helst, men hoppare och gem kan göra (idé för det härifrån)
- frukt eller lekdeg eller pappersbitar med områden färgade med en penna
- dator.
Inga ytterligare komponenter behövs, eftersom den använder kod från martin2250: s lysande ADCTouch -bibliotek och Arduino skickar MIDI -kommandon över seriell till datorn. Arduinos ljuduppspelning sker antingen via ett medföljande pythonskript på datorn eller hårlöst-mellanserial.
Om du använder utvecklingsbordet STM32F103C8 är det ännu trevligare: pianot blir en riktig USB MIDI-kontroller, utan behov av hårlös-midiserial.
Obs! För att förhindra skador på Arduino/STM32F1 från statisk elektricitet, särskilt på en torr dag eller på en matta, föreslår jag att du inte vidrör aluminiumfolien eller testklämmorna när enheten används. Vidrör istället frukten, lekdeg etc., vars motstånd bör ge viss ESD -skydd
Steg 1: Arduino Libraries
Välj Sketch | i Arduino IDE Inkludera bibliotek | Bibliotekschef. Sök efter min ADCTouchSensor. Installera biblioteket.
Välj sedan Arkiv | Exempel | ADCTouchSensor | Kapacitivt piano.
Om du har en Arduino, anslut din Arduino till datorns USB -port och ladda upp CapacitivePiano -skissen till din Uno eller Mega. Skissen skickar data till datorn via USB -serien om vilken av de 8 (Mega) eller 6 (Uno) kapacitiva sensorerna som utlöstes.
Om du har en STM32F103C8, installera först bootloader och konfigurera Arduino IDE för den (med min gren av addMidiHID -grenen) genom att följa de tre första stegen här. Gå sedan tillbaka till Library Manager och sök efter mitt USBHID_stm32f1 -bibliotek. Installera det.
Steg 2: Fäst elektroder till pianotangenter
Kör ledningar från A0-A7 (A0-A5 på Uno) stiften på din Arduino eller STM32F103C8 till vad du vill fungera som pianotangenter. Till exempel använde jag hoppare med krokodilklämmor eller testklämmor som gick till bitar av aluminiumfolie på var och en av dem lägger jag antingen en burk läsk eller en apelsin som nyckel. Aluminiumfolien kan användas som nyckel direkt. Eller så kan man sticka in en tråd i en frukt- eller grönsaksbit eller lekdeg.
Steg 3: Installera programvara: Alternativ A: Arduino och Hairless MIDI to Serial Bridge
Du kan ladda ner och installera Hairless MIDI till Serial Bridge (Win/OSX/Linux) för att länka Arduinos USB-seriella utgång till din dators synthesizer-programvara.
Om du har Windows 7 eller senare kan du använda den inbyggda Microsoft Wavetable GS Synth, så allt du behöver installera är Hairless. Vissa andra uppspelningsprogram kräver loopMIDI.
På andra system kan du behöva en MIDI -synthesizer som VirtualMidiSynth eller Garageband. Du kan också använda VirtualMidiSynth på Windows om du vill.
Steg 4: Installera programvara: Alternativ B: Arduino och Python
Du kan också bara använda ett enkelt inkluderat Python -skript som spelar upp MIDI -anteckningar.
Se till att du har Python installerat på din dator. Antingen 2.7 eller 3.x kommer att göra.
Se till att du har pygame Python -paketet installerat. Om inte, kör detta från kommandoraden:
python -m pip installera pygame
Ta reda på vilken adress din Arduinos serieport är. Din Arduino IDE kommer att ha de seriella portarna listade under Verktyg | Hamn.
I CapacitivePiano -paketet som du laddade ner hittar du scriptet music.py som är PC -sidan av projektet.
Steg 5: Installera programvara: Alternativ C: STM32F103C och MIDI Synthesizer Software
Om du har STM32F103C kan du använda vilken programvara som helst som fungerar med en MIDI -tangentbordskontroller.
På en dator använder jag Virtual MIDI Piano Keyboard (VMPK). Med STM32F103C inkopplad väljer du Redigera | MIDI -anslutningar | Mata in MIDI -anslutning och välj sedan Maple MIDI eller Diro Synth.
På en Android -enhet har jag framgångsrikt använt (med en USB OTG -kabel) Common Analog Synthesizer och Synth DX7 Piano.
Steg 6: Spela
Anslut Arduino med CapacitivePiano -skissen till datorn. Rör inte vid någon av "knapparna" förrän endast strömindikatorn är igång för att kalibrera de kapacitiva knapparna.
För Hairless -alternativet, kör Hairless MIDI -bron, välj den seriella porten från rullgardinsmenyn. Välj sedan en synthesizer. I Windows, om du väljer Microsoft Wavetable GS Synth, ska allt bara fungera.
Om du vill använda Python -skriptet istället, se till att du finns i katalogen där du har piano.py och kör:
python piano.py serieport
där serieport är serieporten från Arduino IDE (t.ex. COMx på Windows).
Om du använder STM32F103C8, använd sedan din favorit MIDI -syntesprogramvara på en dator eller mobil enhet.
Tryck nu på dina "knappar" och ha kul!
Utbildningsidéer för barn att experimentera med:
- Experimentera med olika föremål på aluminiumfolien och se vilka som fungerar och vilka som inte fungerar-och prata sedan om varför dessa fungerar och andra inte.
- Playdough fungerar riktigt bra (och då behöver du inte ens folie och klipp-du kan bara sticka in trådar i playden, även om det visserligen ser ut som en bomb!).
- Du kan till och med ta ett papper och skugga i områden med en penna (det behöver inte vara supermörkt, men det är bra att korsa det) och klippa in dem.
- Du kan fästa en krokodilklämma på ett riktigt stort metallföremål, som whiteboardkanten, och göra gigantiska nycklar.
- Ett experiment att försöka är att få en mindre person att hålla en krokodilklämma fäst vid en av trådarna och sedan få en större person att skaka hand med eller höggra fem den mindre personen och se om det registreras. Försök sedan igen med en större person som håller den och en mindre vidrör dem.
Se bara till att efter varje ändring av det som är anslutet till Arduino, återställer du Arduino, antingen genom att trycka på "reset" -knappen eller genom att ansluta till USB-anslutningen (och sedan köra pythonkoden igen, eftersom den förmodligen kommer att krascha), för att kalibrera sensorerna igen.
Man kan diskutera elektrisk kapacitet och kapacitiv avkänning.
Rekommenderad:
Makey Makey fruktpiano: 13 steg
Makey Makey Fruit Piano: Lär dig grunderna i kodning genom att göra en enkel musiksynthesizer där varje "frukt" representerar en nyckel
Snabb och bra fotoredigering med Picasa: 10 steg (med bilder)
Snabb och bra fotoredigering med Picasa: Med en fantastisk digitalkamera följer ett stort ansvar för att hantera tusentals foton. Detta kan vara en smärta, särskilt om du vill använda dem för att dokumentera en process för Instructables. Jag känner till Photoshop, men jag vänder mig oftare till G
"The Unsettling Machine": en snabb skräpkonstskulptur för nybörjare: 8 steg (med bilder)
"The Unsettling Machine": en snabb skräpkonstskulptur för nybörjare: (Om du gillar det här instruerbart, vänligen rösta på det i "Trash to Treasure" -tävlingen. Men om du letar efter ett mindre störande projekt, kolla mitt sista ett: Hur man skapar en Lambada Walking Robot! Tack!) Låt oss anta att du har en skola
Snabb och smutsig återgivning av kretskort i Fusion 360: 6 steg (med bilder)
Snabb och smutsig kretskortreproduktion i Fusion 360: Detta är en snabb och smutsig metod som snabbt kan återge befintliga kretskort om en 3D-modell inte redan är tillgänglig. Det är särskilt användbart för att snabbt reproducera breakout-brädor för att göra komponentpassningskontroller, eller för fina renderingar i sista minuten
Snabb, snabb, billig, snygg LED -rumsbelysning (för alla): 5 steg (med bilder)
Snabb, snabb, billig, snygg LED-rumsbelysning (för alla): Välkommen alla :-) Detta är min första instruerbara så kommentarer är välkomna :-) Vad jag hoppas kunna visa dig är hur man gör snabb LED-belysning som är på en TINY buget.Vad du behöver: CableLEDsResistors (510Ohms for 12V) StapelsSolder IronCutters and other basi