Innholdsfortegnelse:

Rask fruktpiano med MIDI: 6 trinn (med bilder)
Rask fruktpiano med MIDI: 6 trinn (med bilder)

Video: Rask fruktpiano med MIDI: 6 trinn (med bilder)

Video: Rask fruktpiano med MIDI: 6 trinn (med bilder)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Image
Image
Rask fruktpiano med MIDI
Rask fruktpiano med MIDI

Dette er et veldig enkelt piano med kapasitiv berøring. Trykk på frukt, bokser med brus, flasker med vann, strimler av aluminiumsfolie, etc., så får du polyfonisk pianomusikk fra datamaskinen. Nå som programvaren er skrevet, bør prosjektet ikke ta mer enn 10 minutter å sette sammen med Arduino -versjonen.

Du trenger:

  • en Arduino (Mega for 8 nøkler, Uno for 6 nøkler) eller en svart pille STM32F103C8-plate ($ 2 på Aliexpress) pluss en UART-til-USB-omformer (f.eks. en Arduino eller en CH340)
  • USB-kabel
  • litt aluminiumsfolie
  • test klipp ideelt sett, men hoppere og binders vil gjøre (ide for det herfra)
  • frukt, eller lekdeig, eller stykker papir med områder farget med blyant
  • datamaskin.

Ingen ytterligere komponenter er nødvendig, da denne bruker kode fra martin2250s strålende ADCTouch -bibliotek og Arduino sender MIDI -kommandoer over seriell til datamaskinen. Arduino's lydavspilling er enten via et inkludert python-script på datamaskinen eller hårløs-midiserial.

Hvis du bruker utviklingsbordet STM32F103C8, er det enda hyggeligere: pianoet blir en ekte USB MIDI-kontroller, uten behov for hårløs-midiserial.

Merk: For å forhindre skade på Arduino/STM32F1 fra statisk elektrisitet, spesielt på en tørr dag eller på et teppe, foreslår jeg at du ikke berører aluminiumsfolien eller testklipsene når enheten er i bruk. Berør i stedet frukten, lekdeigen osv., Hvis motstand skal gi noe ESD -beskyttelse

Trinn 1: Arduino Libraries

Arduino biblioteker
Arduino biblioteker

I Arduino IDE, velg Sketch | Inkluder bibliotek | Biblioteksjef. Søk etter min ADCTouchSensor. Installer biblioteket.

Velg deretter File | Eksempler | ADCTouchSensor | Kapasitivt piano.

Hvis du har en Arduino, kobler du Arduino til datamaskinens USB -port og laster opp CapacitivePiano -skissen til Uno eller Mega. Skissen vil sende data til datamaskinen via USB -serien om hvilken av de 8 (Mega) eller 6 (Uno) kapasitive sensorene som ble utløst.

Hvis du har en STM32F103C8, må du først installere bootloaderen og sette opp Arduino IDE for den (med min gren av addMidiHID -grenen) ved å følge de tre første trinnene her. Gå deretter tilbake til Library Manager, og søk etter USBHID_stm32f1 -biblioteket mitt. Installer den.

Trinn 2: Fest elektroder til pianotaster

Fest elektroder til pianotaster
Fest elektroder til pianotaster
Fest elektroder til pianotaster
Fest elektroder til pianotaster

Kjør ledninger fra A0-A7 (A0-A5 på Uno) pinner på Arduino eller STM32F103C8 til det du vil fungere som pianotaster. For eksempel brukte jeg gensere med krokodilleklipp eller testklipp som gikk til biter av aluminiumsfolie, på hver av dem la jeg enten en brus eller en appelsin som nøkkel. Aluminiumsfolien kan brukes som en nøkkel direkte. Eller man kan stikke en ledning inn i et stykke frukt eller grønnsaker eller lekdeig.

Trinn 3: Installer programvare: Alternativ A: Arduino og Hairless MIDI to Serial Bridge

Du kan laste ned og installere Hairless MIDI til Serial Bridge (Win/OSX/Linux) for å koble Arduinos USB-serielle utgang til datamaskinens synthesizer-programvare.

Hvis du har Windows 7 eller nyere, kan du bruke den innebygde Microsoft Wavetable GS Synth, så alt du trenger å installere er Hairless. Noen andre avspillingsprogrammer krever loopMIDI.

På andre systemer kan du trenge en MIDI -synthesizer som VirtualMidiSynth eller Garageband. Du kan også bruke VirtualMidiSynth på Windows hvis du vil.

Trinn 4: Installer programvare: Alternativ B: Arduino og Python

Installer programvare: Alternativ B: Arduino og Python
Installer programvare: Alternativ B: Arduino og Python

Du kan også bare bruke et enkelt inkludert Python -skript som spiller av MIDI -notater.

Sørg for at du har Python installert på datamaskinen. Enten 2.7 eller 3.x vil gjøre.

Sørg for at du har Pygame Python -pakken installert. Hvis ikke, kjør dette fra kommandolinjen:

python -m pip installer pygame

Finn ut hvilken adresse Arduinos serielle port er. Arduino IDE vil ha de serielle portene oppført under Verktøy | Havn.

I CapacitivePiano -pakken som du lastet ned, finner du scriptet music.py som er PC -siden av prosjektet.

Trinn 5: Installer programvare: Alternativ C: STM32F103C og MIDI Synthesizer Software

Installer programvare: Alternativ C: STM32F103C og MIDI Synthesizer Software
Installer programvare: Alternativ C: STM32F103C og MIDI Synthesizer Software

Hvis du har STM32F103C, kan du bruke hvilken som helst programvare som fungerer med en MIDI -tastaturkontroller.

På en datamaskin bruker jeg Virtual MIDI Piano Keyboard (VMPK). Med STM32F103C koblet til, velger du Rediger | MIDI -tilkoblinger | Skriv inn MIDI -tilkobling, og velg deretter Maple MIDI eller Diro Synth.

På en Android -enhet har jeg brukt (med en USB OTG -kabel) Common Analog Synthesizer og Synth DX7 Piano.

Trinn 6: Spill

Spille!
Spille!
Spille!
Spille!
Spille!
Spille!

Koble Arduino med CapacitivePiano -skissen til datamaskinen. Ikke berør noen av "knappene" før bare strøm -LED -en kjøres, slik at de kapasitive knappene kan kalibreres.

For Hairless -alternativet, kjør Hairless MIDI -broen, velg seriell port fra rullegardinlisten. Velg deretter en synthesizer. På Windows, hvis du velger Microsoft Wavetable GS Synth, skal alt bare fungere.

Hvis du vil bruke Python -skriptet i stedet, må du kontrollere at du er i katalogen der du har piano.py, og kjøre:

python piano.py seriellport

hvor serieport er serieporten fra Arduino IDE (f.eks. COMx på Windows).

Hvis du bruker STM32F103C8, bruker du din favoritt MIDI -synthesizer -programvare på en datamaskin eller mobil enhet.

Trykk nå på "knappene" og ha det gøy!

Utdanningsideer for barn å eksperimentere med:

  • Eksperimenter med forskjellige ting på aluminiumsfolien og se hvilke som fungerer og hvilke som ikke fungerer-og snakk deretter om hvorfor disse fungerer og andre ikke.
  • Playdeig fungerer veldig bra (og da trenger du ikke engang folie og klipp-du kan bare stikke ledninger inn i lekdeigen, selv om det riktignok ser ut som en bombe!).
  • Du kan til og med ta et stykke papir og skygge på områder med blyant (det trenger ikke å være supermørkt, men kryss-klekking er bra) og klippe det inn.
  • Du kan feste en krokodilleklips til en virkelig stor metallgjenstand, for eksempel kanten på tavlen, og lage gigantiske nøkler.
  • Et eksperiment å prøve er å få en mindre person til å holde en krokodilleklips festet til en av ledningene, og deretter få en større person til å håndhilse med eller høy-fem den mindre personen, og se om det registrerer seg. Prøv deretter igjen med en større person som holder den og en mindre som berører dem.

Bare sørg for at etter hver endring av det som er koblet til Arduino, tilbakestiller du Arduino, enten ved å trykke på "reset" -knappen eller ved å koble til USB-tilkoblingen (og deretter kjøre pythonkoden på nytt, da den sannsynligvis vil krasje), for å kalibrere sensorene på nytt.

Man kan diskutere elektrisk kapasitet og kapasitiv sansing.

Anbefalt: