Мазмуну:
- 1 -кадам: Компьютердик материалдар
- 2 -кадам: Пианино
- 3 -кадам: Ассамблея
- 4 -кадам: Техникалык кыйынчылыктар жана келечектеги ойлор
Video: Synesthesia Player Piano: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бул оюнчу пианино түстүү дөңгөлөктү жана камераны колдонуп музыканы ойнойт! Сүрөттөр камерага тартылып, иштетилет жана музыкалык ноталар катары чечмеленет. Учурда ал питомниктердин рифмдерин ойнотуу үчүн программаланган, аны жаңы ардуино эскизин жүктөө аркылуу өзгөртүүгө болот, анда кайсы ноталар ойнотулушу керектиги көрсөтүлгөн (камерага кайсы түстөр көрсөтүлүшү керек).
Борттогу Linux PC жүктөө учурунда кызматты баштайт, ал камера менен сүрөткө түшөт, сүрөттөгү RGB маанилеринин функциясын эсептейт жана функциянын кайтарымдуулугунун негизинде үн чыгарат. Үндү ойнотуудан мурун, ал Arduinoго сервону айлантууну айтат жана кийинки нотага туура келген түстү көрсөтөт. Андан кийин цикл кайра башталат, сүрөт тартылат, түстүү дөңгөлөк айланат жана үн чексиз ойнотулат.
Бул долбоор музыканы, заманбап Linux системаларын программалоону, микро контроллер программалоону, inkscape doodlingди, лазердик кесүүнү жана кээ бир керексиз картон кутучаларды кайра пландаштыруунун кызыктуу жолу.
Бардык коддор жана inkscape SVGлери githubда жеткиликтүү:
github.com/melvyniandrag/pyMusic
Колдонулган материалдар:
- Бош ак этикеткалар
- Картон куту
- Веб -камера
- Карандаштар
- Arduino
- Beagleboard-xM
- Зымдар
- Сериялык кабель
- Сүрөт иштетүү жана музыка боюнча негизги билим
1 -кадам: Компьютердик материалдар
Бортто сизге Raspberry Pi сыяктуу кичинекей Linux жөндөмдүү компьютер керек болот. Мен эски BeagleBoard-xM колдондум, анткени ал кокусунан тегеренип калыптыр, менде SD картта операциялык система бар болчу. Сиз каалаган нерсени колдоно аласыз, ал веб -камераны башкара алат, OpenCV (түстүү дөңгөлөктүн сүрөттөрүн тартуу жана иштетүү үчүн колдонулган компьютердин көрүү китепканасы) иштей алат жана аудио чыгуучу уячасы бар.
Мен операциялык тутумду системанын үйрөткүчүнөн кийин жүктөө учурунда сүрөттөрдү тартып турган python кодун иштетүү үчүн орноттум. Сценарийди иштетүү үчүн көрсөтүлгөн китепканаларды алуу үчүн sudo apt-get install python-pyaudio python-opencv керек болот. Ошол китепканаларды алуу үчүн numpy pyserialди орнотууңуз керек болот. pyaudio үндөрдү ойнотуу үчүн колдонулат, opencv сүрөт тартуу жана иштетүү үчүн колдонулат, numpy сүрөт иштетүү үчүн дагы колдонулат жана pyserial Arduino менен байланышуу үчүн керек.
Arduino түстүү дөңгөлөк орнотулган servo моторду айлантуу үчүн колдонулат. Эгерде сизде Raspberry Pi бар болсо, анда GPIO казыктарын колдонуп, Arduino'yү таштап койсоңуз болот, бирок Python кодун өзгөртүү керек болот.
Сүрөттөрдө сиз операциянын технологиялык түйшүгүн жана бир -эки код үзүндүнү көрө аласыз.
2 -кадам: Пианино
Мен пианинону картонду колумдагы эски кутулардан жасадым. Мен лазер кескичке ээ болгон мейкиндиктин жанында жашоо бактысына ээ болдум. Бир жыл бою мен лазердик кескичтин эмне кереги бар деп ойлонуп жүрдүм, акыры мен аны колдонууну таптым.
Мен компьютерди, ардуино менен сервону ченеп көрдүм, ошон үчүн мага канча орун керектигин билдим, фортепианонун бөлүктөрүн inkscapeте чийип, лазердик кескичке кесип салдым. (Түзөтүү: Мен корпусту компьютер менен arduino кармап туруу үчүн картонум түгөндү, ошондуктан мен аларды киргизген жокмун. Алар иштин сыртында. Мааниси жок, бир жерден башка куту алмакмын, бирок андай болгон жок аягында мааниси жок.)
Бөлүктөр эпоксид менен бириктирилген.
3 -кадам: Ассамблея
Бул жерде фортепианонун чогултулган жана түстүү болгон сүрөттөрү бар. Принтердин сыясы түгөнгөндүктөн, түстөрдү мен ойлогондой ак этикеткаларга басып чыгара алган жокмун. Ошентип кызымдын карандаштарын колдондум. Мен этикетканы картонго окшоштуруу үчүн xacto бычагын таба алган жокмун, ошондуктан мен стейк бычакты колдонуп, ашкананын үстөлүнө коргоочу нерсени койдум. Алган нерсеңизди колдонуңуз!
4 -кадам: Техникалык кыйынчылыктар жана келечектеги ойлор
Бул долбоордун татаал бөлүгү туура RGB баалуулуктарын камера окушу үчүн алган. Менде веб -камерада укмуштуудай жаркыраган светодиоддор бар, мен Linuxта кантип өчүрүүнү билбейм. Менин оюмча, аларды иштетүүгө жана өчүрүүгө мүмкүндүк берген Windows драйвери бар. Мен светодиоддорду лента менен жабыштырып, күйгүзүү боюнча эксперимент кылдым. Мен ошондой эле түстүү кагазды көрсөтүү менен эмес, түстөрдү көрсөткөн кичинекей веб -сайтты жазуу менен да программалык камсыздоонун бекемдигин сынап көрдүм.
Компьютер чыгарган үндөрдүн ичинде кээде поп -при жана чырылдап турат, бул менин Linux аудио программалоо боюнча тажрыйбамдын аздыгынан келип чыгат. Пяудио китепканасы JACKтын PCге орнотулбагандыгы боюнча бир топ арыздарды төгөт, бирок демейки боюнча JACK башсыз иштегиси келбейт (gui столу жана монитору жок). Бул программалоо тапшырмасы, мен аны өркүндөтүү деп ойлогом, бирок мен ойлогон пианинонун маңызын билдирүү үчүн зарыл болгон эмес.
Түстөрдү өзгөртүү үчүн кол манжаны колдонууну ойлодум, жана балким, аларды жылдыргыч сыяктуу нерсеге ээ кылууну ойлондум, бирок бул өзүнүн татаалдыктарын алып келет. Серво бир аз ызы -чуу, бирок азырынча жакшы иштейт.
Оюнчу пианино учурда 4 нотаны ойнотуу үчүн гана программаланган. Себеби, серво 180 градуска гана жылат, көпчүлүк питомниктерди 3-4 ноталар менен гана ойнотууга болот, мен түстүү дөңгөлөктүн түстүү аймактарга аралашып кетишин каалаган эмесмин, балким камераны чаташтырып алган. Ошентип, музыкалык ийгилик менен техникалык чектөөлөрдүн айкалышы аркылуу 4 нота жакшы.
Сунушталууда:
Arduino Piezo Buzzer Piano: 5 кадам
Arduino Piezo Buzzer Piano: Бул жерде биз спикер катары пьезо сигналын колдонгон Arduino пианиносун жасайбыз. Бул долбоор оңой масштабдуу жана сизге жараша аздыр -көптүр ноталар менен иштей алат! Биз аны жөнөкөйлүк үчүн төрт гана баскыч менен курабыз. Бул кызыктуу жана жеңил проект
Жөнөкөй Arduino Piano: 8 кадам
Жөнөкөй Arduino пианино: Бүгүн биз башка проектилер үчүн эң сонун башталыш боло турган жөнөкөй бир октавалуу Arduino пианиносун түзөбүз. Бул долбоор орто мектептин деңгээлинде негизги Arduino компоненттерин жана программалоону киргизет. Код алдын ала даярдалган адамдар болсо да
Mini Piano Arduino колдонуу: 4 кадам
Мини пианино Arduino колдонууда: Arduino үйрөткүчү: Arduino менен мини пианино Бул видеодо мен сизге Arduino менен мини пианино жасоону көрсөтөм
Arduino Piano: 3 кадам
Arduino Piano: Бул " Пианино " чыныгы пианинонун октавасын ойной алат. Баскычтарды басуу фортепианодогу баскычты басууну билдирет. Үн Piezo колонкасы аркылуу өткөрүлөт
Air Piano IR жакындык сенсорун жана Arduino Uno Atmega 328ди колдонот: 6 кадам (сүрөттөр менен)
Air Piano IR жакындык сенсорун жана Arduino Uno Atmega 328ди колдонот: Адатта пианино баскычты басуунун жөнөкөй механизми боюнча электрдик же механикалык иш болот. Бирок бул жерде бир бурулуш, биз кээ бир сенсорлорду колдонуу менен фортепианодогу баскычтардын муктаждыгын жок кыла алмакпыз. Ал эми инфра-кызыл жакындык сенсорлору себепке эң ылайыктуу, анткени