INHOUDSOPGAWE:
- Stap 1: Die rekenaarstowwe
- Stap 2: Die klavier
- Stap 3: Montering
- Stap 4: Tegniese uitdagings en toekomstige oorwegings
Video: Klavier vir Synesthesia Player: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Hierdie klavier speel musiek met 'n kleurwiel en 'n kamera! Beelde word deur die kamera geneem, verwerk en geïnterpreteer as musieknote. Op die oomblik is dit geprogrammeer om rympies te speel wat verander kan word deur 'n nuwe arduino -skets op te laai wat spesifiseer watter note gespeel moet word (watter kleure moet aan die kamera gewys word).
Die ingeboude Linux -rekenaar begin 'n diens tydens opstart wat 'n foto met 'n kamera neem, 'n funksie van die RGB -waardes in die prent bereken en 'n geluid lewer wat gebaseer is op die opbrengswaarde van die funksie. Voordat die klank gespeel word, stuur dit 'n sein wat 'n Arduino sê om 'n servo te draai, met die kleur wat ooreenstem met die volgende noot wat gespeel moet word. Dan begin die lus weer, word 'n foto geneem, die kleurwiel word gedraai en 'n klank word oneindig gespeel.
Hierdie projek is 'n prettige manier om musiek, moderne Linux-stelselsprogrammering, mikro-kontroleerderprogrammering, inkscape-doodling, lasersnyding en herformulering van rommel kartondose te integreer.
Al die kode en inkscape SVG's is beskikbaar op github by:
github.com/melvyniandrag/pyMusic
Gebruikte materiaal:
- Leë wit etikette
- Kartondoos
- Webkamera
- Kryte
- Arduino
- Beagleboard-xM
- Drade
- Seriële kabel
- Basiese kennis van beeldverwerking en musiek
Stap 1: Die rekenaarstowwe
Aan boord benodig u 'n klein Linux-rekenaar, soos 'n Raspberry Pi. Ek het 'n ou BeagleBoard-xM gebruik, want ek het dit toevallig gelê en ek het reeds 'n bedryfstelsel op die SD-kaart gehad. U kan alles gebruik, solank dit 'n webcam kan hanteer, OpenCV kan hardloop (die rekenaarvisie -biblioteek wat gebruik word om beelde van die kleurwiel te neem en te verwerk) en 'n klankuitgang het.
Ek het die bedryfstelsel opgestel om die python -kode te gebruik wat beelde by opstart neem na 'n systemd -tutoriaal. Om die script te laat loop, moet u sudo apt-get installeer python-pyaudio python-opencv om die aangeduide biblioteke te kry. U moet ook numpy pyserial installeer om die biblioteke te kry. pyaudio word gebruik om klanke te speel, opencv word gebruik vir die neem en verwerking van foto's, numpy word ook gebruik vir beeldverwerking en pyseriaal is nodig om met die Arduino te kommunikeer.
Die Arduino word gebruik om die servomotor waarop die kleurwiel gemonteer is, te draai. As u 'n Raspberry Pi gehad het, kan u die GPIO -penne daar gebruik en die Arduino weglaat, maar u moet die Python -kode verander.
Op die beelde kan u die tegnologiese ingewande van die operasie en 'n paar kodefragmente sien.
Stap 2: Die klavier
Ek het die klavier uit karton gemaak uit 'n paar ou bokse wat ek gehad het. Ek het die geluk om naby 'n vervaardigersruimte met 'n lasersnyer te woon. Ek wonder al 'n hele jaar lank waarvoor 'n mens 'n lasersnyer wil hê, en dit blyk dat ek uiteindelik 'n nut daarvoor gevind het.
Ek het die rekenaar, arduino en servo gemeet, sodat ek geweet het hoeveel ruimte ek nodig het, die dele van die klavier in inkcape geteken en dit op die lasersnyer uitgesny. (Redigering: ek het die karton opgehard om die rekenaar en die arduino in die omhulsel te hou, en ek het dit nie ingesit nie. Dit is aan die buitekant van die omhulsel. Maak nie saak nie, ek kon êrens anders 'n boks gekry het, maar dit het nie maak op die ou end nie saak nie.)
Die stukke is met epoksie saamgevoeg.
Stap 3: Montering
Hier is 'n paar beelde van die klavier wat saamgestel en gekleur word. Daar was geen ink in die drukker nie, en ek kon nie die kleure op die wit etikette druk soos ek beplan het nie. Ek het dus my dogter se kryte gebruik. En ek kon nie 'n xacto -mes kry om die etiket in die vorm van die karton te sny nie, so ek het net 'n steakmes gebruik en iets beskermend op die kombuistoonbank gesit. Gebruik wat jy gekry het!
Stap 4: Tegniese uitdagings en toekomstige oorwegings
'N Uitdagende deel van hierdie projek was om die regte RGB -waardes deur die kamera te lees. Die webkamera wat ek het, het ongelooflike helder LED's, wat ek nie weet hoe om uit te skakel in Linux nie. Ek dink daar is 'n Windows -bestuurder waarmee u dit kan aan- en afskakel. Ek het geëksperimenteer om die LED's met elektriese band vas te plak en dit aan te laat. Ek het die sagteware ook getoets op robuustheid deur nie net gekleurde papier te wys nie, maar ook 'n webwerf te skryf wat kleure toon.
Die geluide wat deur die rekenaar geproduseer word, het soms knars en gekraak, en dit kom van die feit dat ek baie min ervaring in Linux -klankprogrammering het. Die pyaudio -biblioteek spoeg 'n hele klomp klagtes uit dat JACK nie op die rekenaar geïnstalleer is nie, maar standaard wil JACK nie koploos werk nie (sonder 'n GUI -lessenaar en 'n monitor). Dit was 'n programmeertaak wat ek gedink het 'n verfyning was, maar dit was nie nodig om die essensie van die klavier wat ek in gedagte gehad het, uit te druk nie.
Ek het dit oorweeg om 'n handkruk te gebruik om die kleure te verander, en miskien om dit op 'n deegroller te hê, maar dit lei tot sy eie komplikasies. Die servo is 'n bietjie raserig, maar werk vir eers goed.
Die klavier van die speler is tans slegs geprogrammeer om 4 note te speel. Dit is omdat die servo slegs 180 grade beweeg, die meeste rympies kan met slegs 3-4 note gespeel word, en ek wou nie hê dat die kleurwiel met kleurstreke deurmekaar sou raak nie, moontlik die kamera verwar. Dus, deur 'n kombinasie van musikale geluk en tegniese beperkings, is 4 note goed.
Aanbeveel:
Arduino Piezo Buzzer Klavier: 5 stappe
Arduino Piezo Buzzer Piano: Hier maak ons 'n Arduino -klavier wat 'n piezo -gonser as luidspreker gebruik. Hierdie projek is maklik skaalbaar en kan met min of meer notas werk, afhangende van u! Ons bou dit met slegs vier knoppies/sleutels vir die eenvoud. Dit is 'n prettige en maklike projek
Eenvoudige Arduino -klavier: 8 stappe
Eenvoudige Arduino-klavier: Vandag gaan ons 'n eenvoudige een-oktaaf Arduino-klavier skep, wat 'n uitstekende beginpunt kan wees vir ander projekte. Hierdie projek sal basiese Arduino -komponente en programmering op hoërskoolvlak bekendstel. Alhoewel die kode voorafgemaakte individue is
Arduino -klavier met handleiding en 7 vooraf ingestelde liedjies: 7 stappe
Arduino -klavier met handleiding en 7 vooraf ingestelde liedjies: Arduino -klavierklavier wat met die LCD gekoppel is, het 2 -modusse.Die handmatige modus en amp; Die vooraf ingestelde modus. Ek het 7 drukknoppies gebruik vir 'n eenvoudige klavier met 7 sleutels en 1 knoppie vir die instellingsmodus om oor te skakel na 7 vooraf ingestelde liedjies
Arduino meganiese klavier: 5 stappe (met foto's)
Arduino meganiese klavier: ek het 'n penblok nodig vir 'n ander projek, so ek het besluit om 'n klavier te maak met dele wat ek by die huis gehad het
Arduino -sakrekenaar met 4X4 -klavier: 4 stappe (met foto's)
Arduino -sakrekenaar met 4X4 -sleutelbord: in hierdie tutoriaal bou ons ons eie sakrekenaar met Arduino. Die waardes kan via 'n klavier (4 × 4 klavier) gestuur word, en die resultaat kan op 'n LCD -skerm besigtig word. Hierdie sakrekenaar kan eenvoudige bewerkings uitvoer, soos optel, aftrek, vermenigvuldig