Innehållsförteckning:

Snabb fruktpiano med MIDI: 6 steg (med bilder)
Snabb fruktpiano med MIDI: 6 steg (med bilder)

Video: Snabb fruktpiano med MIDI: 6 steg (med bilder)

Video: Snabb fruktpiano med MIDI: 6 steg (med bilder)
Video: Пребывание в отеле Library в Токио, Япония | Шиба Парк Отель 2024, November
Anonim
Image
Image
Snabbt fruktpiano med MIDI
Snabbt fruktpiano med MIDI

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

Arduino bibliotek
Arduino bibliotek

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

Fäst elektroder till pianotangenter
Fäst elektroder till pianotangenter
Fäst elektroder till pianotangenter
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

Installera programvara: Alternativ B: Arduino och Python
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

Installera programvara: Alternativ C: STM32F103C och MIDI Synthesizer Software
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

Spela!
Spela!
Spela!
Spela!
Spela!
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: