Mundarija:
- Ta'minotlar
- 1 -qadam: 1 -qadam: dasturiy ta'minot
- 2 -qadam: 2 -qadam: Uskuna
- 3 -qadam: 3 -qadam: Kod
- 4 -qadam: 4 -qadam: O'rnatib oling va sinab ko'ring
Video: Ob -havoga asoslangan musiqa generatori (ESP8266 asosidagi Midi generatori): 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Salom, bugun men qanday qilib ob -havoga asoslangan musiqa generatorini o'zingiz yasashni tushuntiraman.
U ESP8266 ga asoslangan, u xuddi Arduino -ga o'xshaydi va u harorat, yomg'ir va yorug'lik intensivligiga javob beradi.
Bu butun qo'shiqlarni yoki akkordlarning rivojlanishini kutmang. Bu ko'proq "Generative Music" ga o'xshaydi, ba'zida odamlar modulli sintezatorlardan foydalanadilar. Ammo bu tasodifan bir oz kamroq, masalan, u ma'lum tarozilarga yopishadi.
Ta'minotlar
ESP8266 (Men Adafruit -dan Feather Huzzah ESP8266 dan foydalanaman)
BME280 Harorat, namlik va barometrik bosim sensori (I2C versiyasi)
Arduino yomg'ir sensori
25K LDR (nurga bog'liq qarshilik)
Ba'zi rezistorlar (ikkita 47, biri 100, biri 220 va bittasi 1k Ohm)
Ayol Midi ulagichi (5 pinli Din) PCB o'rnatish uchun mos
Jumper simlari
Non paneli yoki biron bir prototip taxtasi
Kompyuter, men Windows 8.1 bilan ishlayman, lekin men bilganimdek, u har qanday operatsion tizimda ishlashi kerak.
Majburiy emas: Adafruit -dan JST ulagichli 1250 mA / soat LiPo batareyasi (faqat ba'zi ESP bilan mos keladi)
1 -qadam: 1 -qadam: dasturiy ta'minot
Birinchidan, sizga Arduino IDE kerak.
Keyin sizga SiLabs CP2104 drayveri va ESP8266 karta to'plami kerak bo'ladi.
Bu sizning kompyuteringizga ESP -ni o'rnatilgan UART orqali dasturlash imkonini beradi va Arduino IDE -ga ESP -ni dasturlash imkonini beradi.
Adafruit veb -saytidagi IDE, Driver va Board to'plami haqidagi barcha ma'lumotlarni ushbu sahifada topishingiz mumkin.
Midi ma'lumotlarini yuborish uchun sizga Arduino Midi kutubxonasi ham kerak bo'ladi. Buni qilmasdan qilish mumkin, lekin bu hamma narsani ancha osonlashtiradi.
BME280 bilan bog'lanish uchun men BME280-I2C-ESP32 kutubxonasidan foydalandim. (Bu BME280 I2C versiyasi uchun)
Va bu kutubxona o'z navbatida Adafruit Unified Sensor Driver -ni talab qiladi. Bu kutubxonani muammosiz boshqa kutubxonadan foydalanishim uchun birinchi marta kerak emas, shuning uchun men har doim bu kutubxonani biror joyda belgilab qo'yganman.
2 -qadam: 2 -qadam: Uskuna
To'g'ri, biz nihoyat yaxshi narsalarga, uskunalarga o'tamiz.
Aytganimdek, men bu Adafruit ESP -dan foydalandim, lekin u NodeMCU bilan yaxshi ishlashi kerak. Men V2 versiyasini tavsiya qilaman, chunki menimcha, u non paneliga juda mos keladi va siz ularni eBay yoki AliExpress -dan juda arzon narxda sotib olishingiz mumkin. Menga Adafruit ESP tezroq protsessorga ega bo'lishi yoqadi, LiPo uchun ayol JST ulagichi va zaryad zanjiri. Qaysi Pinni ishlatayotganingizni aniqlash ham osonroq. Men ishonamanki, NodeMCU -da, etiketli D1 pin, aslida GPIO5, shuning uchun sizga har doim Pinout diagrammasi kerak bo'ladi. Bu unchalik katta muammo emas, lekin yangi boshlanuvchilar uchun qulay bo'lgani uchun, ular Adafruit -ni aniq belgilab qo'yishdi.
Birinchidan, BME280 -ni ulaymiz, chunki bu modelda ba'zi farqlar mavjud. Rasmlardan ko'rinib turibdiki, menda bitta katta teshik bor, lekin 2 teshiklilari ham bor. Siz ko'rishingiz mumkin, u 4 ta kirish va chiqish, 1 ta quvvat uchun, bittasi er uchun va SCL va SDA. Bu shuni anglatadiki, u I2C orqali muloqot qiladi. Menimcha, boshqa modellar SPI orqali muloqot qiladi. Ba'zilarida siz SPI yoki I2C ni tanlashingiz mumkin. SPI boshqa kutubxonani yoki hech bo'lmaganda boshqa kodni va boshqa simlarni talab qilishi mumkin. Menimcha, SPIdagi S seriyali degan ma'noni anglatadi va bu loyihaning Midi qismiga xalaqit beradimi yoki yo'qligini ayta olmayman, chunki u ham ketma -ket ulanish orqali ishlaydi.
Ushbu BME -ni ulash juda oson. ESP8266 -da siz mos ravishda SDA va SCL bilan belgilangan 4 va 5 -pinlarni ko'rishingiz mumkin. Bu pinlarni to'g'ridan -to'g'ri BME -dagi SDA va SCL pinlariga ulang. Albatta, VIN -ni Breadboard -ning ijobiy relsiga va GND -ni manfiy relsga ulang. Ular o'z navbatida ESPning 3V3 va GND pinlariga ulangan.
Keyingi safar biz LDR -ni ulaymiz. Fritzing misolida siz rezistor orqali o'tadigan 3,3 voltni ko'rishingiz mumkin, keyin u LDR va boshqa rezistorga bo'linadi. Keyin LDRdan keyin u yana rezistor va ADC ga bo'linadi.
Bu ESPni juda yuqori kuchlanishdan himoya qilish va o'qiladigan qiymatlarni olishiga ishonch hosil qilish uchun. ADC 0-1 voltni boshqarishi mumkin, lekin 3V3 3.3 voltni etkazib beradi. Ehtimol, agar siz 1 voltdan oshsangiz, u hech narsani portlatmaydi, lekin u yaxshi ishlamaydi.
Shunday qilib, avval biz 220 va 100 ohmli rezistorlar yordamida kuchlanishni taqsimlagichdan foydalanamiz va 3,3 dan 1,031 voltgacha kuchlanishni tushiramiz. Keyin 25k ohmli LDR va 1k ohmli qarshilik boshqa kuchlanish qurilmasini hosil qiladi, ular LDR keladigan yorug'lik miqdoriga qarab har qanday joydan 1,031 dan 0 voltgacha bo'lgan kuchlanishni pasaytiradi.
Keyin bizda yomg'ir sensori bor. Bir qismida FC-37, boshqa qismida HW-103 yozilgan. Men faqat Ebayda topilgan birinchi voltani sotib oldim, u 3,3 va 5 voltsli quvvatga ega ekanligini aytdi. (Menimcha, ularning hammasi mumkin).
Bu juda aniq, biz analog chiqishni ishlatishimiz mumkin edi, lekin biz sensorni xohlaganimizdek sezgir qilish uchun kichik Trimpot -ni burishimiz mumkin (va biz ESP -dagi bitta analog pinimizni ishlatganmiz). Boshqa datchiklar singari, biz ham ijobiy temirdan quvvat olishimiz va uni er osti temir yo'liga ulashimiz kerak. Ba'zida pimlarning tartibi o'zgaradi. Menda bu VCC, Ground, Digital, Analog, lekin Fritzing rasmida boshqacha. Ammo, agar siz diqqat bilan qarasangiz, uni tuzatish oson bo'lishi kerak.
Va nihoyat, Midi Jek. Mening Breadboard -da u non taxtasining chetida o'tira olmaydi, chunki pinlar bir -biriga mos kelmaydi. Agar bu sizni bezovta qilsa, men jismoniy do'konda non sotib olishga harakat qilardim. Yoki rasmlarni yaxshilab tekshirib ko'ring.
Sxemadan ko'rinib turibdiki, musbat kuchlanish ham, ketma -ket signal ham 47 ohmli rezistordan o'tadi.
Agar siz ushbu loyihani Arduino Uno bilan qilsangiz, 220 ohmli rezistorlardan foydalanganingizga ishonch hosil qiling. Bu ESP 3.3 V mantig'ida ishlaydi, lekin ko'pchilik Arduino 5.0 V dan foydalanadi, shuning uchun siz Midi kabeli orqali o'tadigan tokni ko'proq cheklashingiz kerak.
Va nihoyat, o'rta pinni Ground rayiga ulang. 5 pinli Din -dan qolgan 2 ta pin ishlatilmaydi.
3 -qadam: 3 -qadam: Kod
Va nihoyat bizda kod bor!
Ushbu Zip fayliga men 2 ta eskiz qo'ydim. "LightRainTemp" shunchaki barcha sensorlarni sinab ko'radi va ularning qiymatlarini qaytaradi. (Terminal oynasini ochganingizga ishonch hosil qiling!)
Va, albatta, bizda LRTGenerativeMidi (LRT - yorug'lik, yomg'ir, harorat) degan eskiz bor.
Ichkarida nima bo'layotgani haqida izohlarda ko'plab tushuntirishlarni topishingiz mumkin. Men hamma narsani qanday yozganimga bormayman, buning uchun bir necha soat kerak bo'ladi. Agar siz bunday ishni qaerdan boshlashni bilmoqchi bo'lsangiz, menda boshqa loyihalar bor. Bir nechta tugmachali kichik tasodifiy Riff generatori va boshqa modellarda topa olmaydigan xususiyatlarga ega Sequencer.
Lekin men birinchi bo'lib dizayn va kodlashni tugatishim kerak bo'ladi. Boshqa loyihalar haqida xabardor bo'lishni istasangiz, menga xabar bering. Men ko'proq ko'rsatma bera olamanmi yoki video seriyali qilamanmi, qaror qilmadim.
4 -qadam: 4 -qadam: O'rnatib oling va sinab ko'ring
Va endi buni sinab ko'rish vaqti keldi!
Faqat Midi kabelini ulang, Synth/Keyboard -ni 1 -kanalga javob beradigan qilib sozlang yoki Arduino kodidagi kanalni o'zgartiring va u ishlayaptimi -yo'qmi!
Men u bilan nima qilayotganingizni ko'rish va eshitishni juda qiziqtiraman. Agar siz biror narsani o'zgartirsangiz, yangilansangiz, o'zgartirsangiz (yorug'lik sensori va harorat qiymatlari kabi. Tashqarisi ichkaridan yaxshiroq yoki yomonroq ishlashi mumkin).
Bundan tashqari, u barcha sintezatorlar bilan yaxshi ishlashini bilishga qiziqaman. Mening Volca Bass -da u juda yaxshi ishlaydi, lekin men neytronda LFO Midi Note -ni yuborganimdayoq tiqilib qoladi. Qayta ishga tushirsam yaxshi, lekin g'alati. Midi kutubxonasida yoki mening kodimda biror narsa borligiga ishonchim komil emas, men buni tez orada kutubxonasiz bajarishga urinib ko'rsam yaxshi bo'larmidi.
O'qiganingiz va ko'rganingiz uchun tashakkur va omad tilaymiz !!
Tavsiya:
PIC16F1847 va AR1010 asosidagi FM radio musiqa qutisi: 5 qadam
PIC16F1847 va AR1010 asosidagi FM radio musiqa qutisi: Bu mening birinchi ko'rsatmali postim. Men Ebaydan sotib olgan AR1010 FM radio qabul qilish moduli va MICROCHIP -dan PIC16F1847 mikrokontrolderidan foydalanib, raqamli FM radio qutisini yasadim. Nima uchun PIC? Nega Arduino -dan foydalanmasligingiz kerak? Chunki menda ko'p narsalar bor
Musiqa assambleyasi: Sensorli blokli o'rnatilgan virtual musiqa asbobi: 4 qadam
Musiqa assambleyasi: Sensorli blokli o'rnatilgan virtual musiqa asbobi: Ko'pchilik musiqa asboblarini chalishni o'rganmoqchi. Afsuski, ularning ba'zilari asboblarning yuqori narxi tufayli ishga tushmaydilar. Bunga asoslanib, biz boshlang'ich byudjetini kamaytirish uchun birlashtirilgan virtual musiqa asboblari tizimini yaratishga qaror qildik
Papperlapapp Raspberry Pi asosidagi musiqa pleyeri: 4 qadam
Papperlapapp … Raspberry Pi asosidagi musiqa pleyeri: PAPPERLAPAPP - bu kimningdir so'zini kesish va unga bema'nilik gapirayotganini aytish uchun qo'pol nemischa atama. Pappe - bu nemis tilidagi karton atamasi. FB guruhida "to'g'ri yog'och" haqida munozarada. steampunk " bu so'z xayolimga keladi.;-) Va men
Musiqa bilan boshqariladigan lazer ko'rsatgichi: 7 qadam (rasmlar bilan)
Musiqa bilan boshqariladigan lazer ko'rsatgichli yorug'lik chiroqlari: Subwoofer hiylasidagi oynadan farqli o'laroq, bu DIY sizga qanday qilib ovozni vizual tarzda ko'rsatadigan juda arzon, musiqaga asoslangan chiroqlar yaratishni ko'rsatadi
Atari Punk konsoli bilan musiqa yaratish: 5 qadam (rasmlar bilan)
Atari Punk konsoli bilan musiqa yaratish: Ba'zi qadimiy analog sxemalar o'nlab yillar oldin joriy qilinganidek, bugungi kunda ham mashhur. Ko'pincha ular oddiy soddaligi jihatidan mikrosxemalar va boshqa raqamli elektron echimlarni osonlikcha engishadi. Forrest buni yana qildi … uning eng sevimli namunasi - Atari