Բովանդակություն:
- Պարագաներ
- Քայլ 1: Քայլ 1: Softwareրագրակազմ
- Քայլ 2: Քայլ 2: Սարքաշար
- Քայլ 3: Քայլ 3: Կոդ
- Քայլ 4: Քայլ 4. Կցեք և փորձարկեք այն:
Video: Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր:
Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ի և արձագանքում է ջերմաստիճանին, անձրևին և լույսի ուժգնությանը:
Մի ակնկալեք, որ այն կանի ամբողջական երգեր կամ ակորդային առաջընթաց: Դա ավելի շատ նման է Generative Music- ի, որը երբեմն մարդիկ ստեղծում են Modular Synthesizers- ով: Բայց դա մի փոքր ավելի քիչ պատահական է, քան դա, այն, օրինակ, մնում է որոշակի կշեռքների վրա:
Պարագաներ
ESP8266 (Ես օգտագործում եմ Adafruit- ի Feather Huzzah ESP8266- ը)
BME280 ջերմաստիճանի, խոնավության և բարոմետրիկ ճնշման ցուցիչ (I2C տարբերակ)
Arduino անձրևի ցուցիչ
25K LDR (լույսից կախված դիմադրություն)
Որոշ դիմադրողներ (երկու 47, մեկը 100, մեկը 220 և մեկը 1k Ohm)
Իգական Midi միակցիչ (5 Pin Din), հարմար PCB- ի տեղադրման համար
Jumper լարերը
Հացատախտակ կամ մի տեսակ Նախատիպերի տախտակ
Համակարգիչ, ես կօգտագործեմ Windows 8.1 -ով աշխատող մեկը, բայց այն պետք է աշխատի ցանկացած OS- ով, որքանով որ ես գիտեմ:
Լրացուցիչ ՝ 1250 mAh LiPo մարտկոց ՝ Adafruit– ի JST միակցիչով (համատեղելի է միայն որոշ ESP– ների հետ)
Քայլ 1: Քայլ 1: Softwareրագրակազմ
Առաջին հերթին ձեզ հարկավոր է Arduino IDE:
Այնուհետև ձեզ հարկավոր է SiLabs CP2104 վարորդը և ESP8266 խորհրդի փաթեթը:
Սա թույլ է տալիս ձեր համակարգչին ծրագրավորել ESP- ը `ներկառուցված UART- ի միջոցով, և թույլ է տալիս Arduino IDE- ին ծրագրավորել ESP- ը:
IDE, Driver and Board Package- ի վերաբերյալ բոլոր տեղեկությունները կարող եք գտնել այս էջում Adafruit կայքում:
Ձեզ նույնպես պետք կլինի Arduino Midi գրադարանը, որպեսզի կարողանաք ուղարկել Midi- ի տվյալները: Դա կարելի է անել առանց, բայց դա պարզապես ամեն ինչ շատ ավելի հեշտ է դարձնում:
BME280- ի հետ շփվելու համար ես օգտագործեցի այս BME280-I2C-ESP32 գրադարանը: (Սա BME280- ի I2C տարբերակի համար է)
Եվ այդ գրադարանը իր հերթին պահանջում է Adafruit Unified Sensor Driver: Սա առաջին անգամը չէ, երբ ինձ անհրաժեշտ է այս գրադարանը `առանց որևէ այլ գրադարան օգտագործելու, այնպես որ ես միշտ ունեմ այս գրադարանը ինչ -որ տեղ էջանշված:
Քայլ 2: Քայլ 2: Սարքաշար
Rightիշտ է, մենք վերջապես հասնում ենք լավ իրերի, սարքավորումների:
Ինչպես նշվեց, ես օգտագործեցի այս Adafruit ESP- ը, բայց այն պետք է պարզապես լավ աշխատի NodeMCU- ի հետ: Ես խորհուրդ եմ տալիս V2 տարբերակը, քանի որ կարծում եմ, որ այն շատ ավելի լավ է տեղավորվում տախտակի վրա, և դրանք կարող եք շատ էժան ձեռք բերել eBay- ից կամ AliExpress- ից: Ինձ դուր է գալիս այն փաստը, որ Adafruit ESP- ն ունի ավելի արագ պրոցեսոր, գալիս է LiPo- ի և լիցքավորման սխեմայի իգական JST միակցիչով: Նաև մի փոքր ավելի հեշտ է պարզել, թե ինչ Pin եք օգտագործում: Ես հավատում եմ, որ NodeMCU- ում P1 մակնշված քորոցը իրականում, օրինակ, GPIO5 է, այնպես որ ձեզ միշտ անհրաժեշտ է ունենալ Pinout գծապատկեր: Ամենևին էլ մեծ խնդիր չէ, բայց պարզապես հարմար նորեկների համար նրանք այդքան հստակ պիտակավորեցին Adafruit- ը:
Նախ եկեք միացնենք BME280- ը, քանի որ այս մոդելի որոշ տատանումներ կան: Ինչպես երևում է նկարներից, իմը ունի մեկ մեծ անցք, բայց կան նաև մի քանիսը `2 անցքով: Դուք կարող եք տեսնել, որ այն ունի 4 մուտք և ելք, 1 էներգիայի համար, մեկը գետնի համար և SCL և SDA: Սա նշանակում է, որ այն հաղորդակցվում է I2C- ի միջոցով: Կարծում եմ, որ այլ մոդելներ շփվում են SPI- ի միջոցով: Իսկ ոմանց դեպքում կարող եք ընտրել կամ SPI կամ I2C: SPI- ն կարող է պահանջել այլ գրադարան կամ առնվազն այլ ծածկագիր և տարբեր էլեկտրագծեր: Ես նաև հավատում եմ, որ SPI- ում S- ը նշանակում է Serial, և չեմ կարող ասել, արդյոք դա կխանգարի այս նախագծի Midi հատվածին, քանի որ այն նույնպես աշխատում է սերիական կապի միջոցով:
Այս BME- ն միացնելը բավականին ուղիղ է: ESP8266- ում կարող եք տեսնել 4 -րդ և 5 -րդ կապերը, որոնք համապատասխանաբար պիտակավորված են SDA և SCL: Պարզապես այդ կապումներն ուղղակիորեն միացրեք BME- ի SDA և SCL կապին: Անշուշտ, նաև VIN- ը միացրեք Breadboard- ի դրական երկաթգծին, իսկ GND- ը `բացասական երկաթգծին: Դրանք իր հերթին միացված են ESP- ի 3V3 և GND կապին:
Հաջորդը մենք կկապենք LDR- ը: Fritzing- ի օրինակում դուք կարող եք տեսնել 3.3 վոլտ, որն անցնում է ռեզիստորի միջով, այնուհետև այն բաժանվում է LDR- ի և մեկ այլ դիմադրության: Հետո LDR- ից հետո այն նորից բաժանվում է դիմադրության և ADC- ի:
Սա ESP- ը չափազանց բարձր լարման ստանալուց պաշտպանելու համար և համոզվելու համար, որ այն ընթեռնելի արժեքներ է ստանում: ADC- ն կարող է գործարկել 0-1 վոլտ, բայց 3V3- ը ապահովում է 3.3 վոլտ: Հավանաբար, այն չի պայթեցնի 1 վոլտից բարձր լինելու դեպքում, բայց դա լավ չի աշխատի:
Այսպիսով, առաջին հերթին մենք օգտագործում ենք լարման բաժանարար ՝ օգտագործելով 220 և 100 օմ դիմադրիչներ ՝ լարումը իջեցնելու համար 3.3 -ից մինչև 1.031 վոլտ: Հետո 25k ohm LDR- ն և 1k ohm ռեզիստորը կազմում են մեկ այլ Voltage Devider, որը իջեցնում է լարումը որևէ տեղից 1.031 և 0 վոլտերի միջև ՝ կախված LDR- ի լույսի չափից:
Հետո մենք ունենք Անձրևի տվիչ: Մի մասում գրված է FC-37, մյուս մասում `HW-103: Ես հենց նոր գնեցի Ebay- ում գտած առաջինը, որտեղ ասվում էր, որ այն կարող է աշխատել 3.3 և 5 վոլտ: (Կարծում եմ, որ նրանք բոլորը կարող են):
Սա բավականին ուղիղ է, մենք կարող ենք օգտագործել անալոգային ելք, բայց մենք կարող ենք պարզապես շրջել փոքրիկ Trimpot- ը, որպեսզի սենսորը լինի այնքան զգայուն, որքան ուզում ենք (և մենք արդեն օգտագործել էինք մեր մեկ անալոգային քորոցը ESP- ում): Ինչպես մյուս սենսորների դեպքում, մենք պետք է էներգիա մատակարարենք դրական երկաթուղուց և այն միացնենք ցամաքային երկաթուղուն: Երբեմն քորոցների կարգը տարբերվում է: Իմ մոտ դա VCC, Ground, Digital, Analog է, բայց Fritzing նկարի վրա այլ է: Բայց եթե դուք պարզապես ուշադրություն դարձնեք, ապա դա պետք է հեշտ լինի ճիշտ ուղղել:
Եվ վերջապես, Միդի Jackեքը: Իմ Breadboard- ի վրա այն չի կարող նստել հացահատիկի եզրին, քանի որ բոլոր կապումներն իրար չեն համընկնում: Եթե դա ձեզ անհանգստացնում է, ես կփորձեի հացաթուղթ ձեռք բերել ֆիզիկական խանութում: Կամ նկարները շատ լավ զննեք:
Ինչպես կարող եք տեսնել սխեմատիկայից, դրական լարման և սերիական ազդանշանի երկուսն էլ անցնում են 47 օմ դիմադրության միջով:
Եթե դուք այս նախագիծը կատարում եք Arduino Uno- ի հետ, համոզվեք, որ օգտագործեք 220 օհմ դիմադրություններ: Այս ESP- ն աշխատում է 3.3 Վ տրամաբանության վրա, սակայն Arduino- ի մեծ մասը օգտագործում է 5.0 Վ, այնպես որ դուք պետք է ավելի սահմանափակեք Midi մալուխի միջով անցնող հոսանքը:
Եվ վերջապես միացրեք միջին քորոցը Ground երկաթուղուն: 5 Pin Din- ից մնացած 2 կապում չեն օգտագործվում:
Քայլ 3: Քայլ 3: Կոդ
Եվ վերջապես մենք ունենք ծածկագիրը:
Այս Zip ֆայլում ես տեղադրել եմ 2 ուրվագիծ: «LightRainTemp» - ը պարզապես փորձարկում է բոլոր տվիչները և հետ ուղարկում դրանց արժեքները: (Համոզվեք, որ բացում եք տերմինալի պատուհանը):
Եվ, իհարկե, մենք ունենք LRTGenerativeMidi (LRT նշանակում է Light, Rain, Temperature) ուրվագիծը:
Ներսում դուք կարող եք գտնել մի շարք բացատրություններ մեկնաբանություններում, թե ինչ է կատարվում: Ես չեմ մտնելու, թե ինչպես եմ գրել ամբողջը, դա ժամեր կպահանջի: Եթե ցանկանում եք իմանալ, թե որտեղից սկսել նման բանով, ես մտքում ունեմ այլ նախագծեր: Մի փոքր Random Riff գեներատոր `մի քանի կոճակներով և Sequencer- ով մի շարք հնարավորություններով, որոնք ես չեմ կարող գտնել այլ մոդելների վրա:
Բայց նրանք, ում առաջինը պետք է ավարտեմ նախագծումն ու կոդավորումը: Տեղեկացրեք ինձ, եթե ցանկանում եք արդի լինել այլ նախագծերի վերաբերյալ: Չեմ կողմնորոշվել ՝ պատրաստելու՞ եմ ավելի շատ ուսանելի նյութեր, թե տեսանկարահանելու եմ:
Քայլ 4: Քայլ 4. Կցեք և փորձարկեք այն:
Եվ հիմա ժամանակն է փորձարկել այն:
Պարզապես միացրեք Midi մալուխը, համոզվեք, որ ձեր Synth/Keyboard- ը սահմանել է 1 -ին ալիքին արձագանքելու կամ Arduino կոդի մեջ ալիքը փոխելու համար և տեսեք, արդյոք այն աշխատում է:
Ես իսկապես հետաքրքիր եմ տեսնել և լսել, թե ինչ եք անում դրա հետ: Եթե փոփոխություններ, թարմացումներ, փոփոխություններ կատարեք (ինչպես Լույսի ցուցիչի և peratերմաստիճանի արժեքները: Դրսում այն կարող է ավելի լավ կամ ավելի վատ աշխատել, քան ներսում) որևէ բան:
Ինձ նաև հետաքրքիր է տեսնել, թե արդյոք այն լավ է աշխատում բոլոր սինթեզատորների հետ: Իմ Volca Bass- ի վրա այն հիանալի է աշխատում, բայց իմ Նեյտրոնի վրա LFO- ն խրվում է, երբ ուղարկում եմ Midi Note: Լավ է, երբ այն վերագործարկում եմ, բայց տարօրինակ է: Ես վստահ չեմ, որ Midi Library- ում կամ իմ ծածկագրում ինչ -որ բան կա, գուցե ես շուտով դա անեմ առանց Գրադարանի և տեսնեմ, որ այն ավելի լավը կդառնա:
Շնորհակալություն կարդալու և դիտելու համար և հաջողություն !!
Խորհուրդ ենք տալիս:
IOT- ի վրա հիմնված եղանակի և քամու արագության մոնիտորինգի խելացի համակարգ. 8 քայլ
IOT- ի վրա հիմնված եղանակի և քամու արագության մոնիտորինգի խելացի համակարգ. Մշակողը ՝ Նիկիլ Չուդասմա, Դհանաշրի Մուդլիար և Աշիտա Ռաջ Ներածություն Եղանակի մոնիտորինգի կարևորությունը գոյություն ունի շատ առումներով: Եղանակի պարամետրերը պետք է վերահսկվեն գյուղատնտեսության, ջերմոցային տնտեսության զարգացումը պահպանելու համար
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով - Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11: 6 քայլով
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով | Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11- ով: Ողջույն, տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես միացնել DHT11 ջերմաստիճանի տվիչը m5stick-C- ի հետ (զարգացման տախտակ m5stack- ով) և ցուցադրել այն m5stick-C- ի ցուցադրման վրա: Այսպիսով, այս ձեռնարկում մենք կկարդանք ջերմաստիճանը, խոնավությունը & շոգ եմ
SIM900 GSM եղանակի վրա հիմնված ծանուցում. 3 քայլ (նկարներով)
SIM900 GSM- ի վրա հիմնված եղանակի ծանուցում. Մենք միշտ բջջային հեռախոսի եղանակի թարմացումների կարիք ունենք: Այն կարող է լինել առցանց հավելվածից կամ ինտերնետից օգտվող համակարգի ծրագրից: Բայց այստեղ ես ձեզ ցույց կտամ մեր բջջային հեռախոսների վրա Տեքստային հաղորդագրությունների գործառույթը օգտագործելու եղանակը ՝ peratերմաստիճանի և խոնավության թարմացումները ստանալու համար, կարող եք երկարացնել
Երաժշտության վրա հիմնված լազերային ցուցիչ Lightshow: 7 քայլ (նկարներով)
Երաժշտության վրա հիմնված լազերային ցուցիչ Lightshow. Ի տարբերություն ենթավուֆերի հնարքի հայելու, այս DIY- ը ձեզ ցույց է տալիս, թե ինչպես ստեղծել շատ էժան, երաժշտությամբ պայմանավորված լուսային շոու, որն իրականում պատկերում է ձայնը:
Ինչպես միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. 3 քայլ (նկարներով)
Ինչպե՞ս միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. Այդ գծից ամենաճկուն և էժան սարքերից են Sonoff Basic- ը և Sonoff Dual- ը: Սրանք Wi-Fi- ով միացված անջատիչներ են ՝ հիմնված հիանալի չիպի ՝ ESP8266- ի վրա: Մինչդեռ