Isi kandungan:
- Bekalan
- Langkah 1: Langkah 1: Perisian
- Langkah 2: Langkah 2: Perkakasan
- Langkah 3: Langkah 3: Kod
- Langkah 4: Langkah 4: Sambungkannya dan Uji
Video: Penjana Muzik Berasaskan Cuaca (Generator Midi Berasaskan ESP8266): 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Hai, hari ini saya akan menerangkan cara membuat penjana Muzik berasaskan Cuaca anda sendiri.
Ini berdasarkan ESP8266, yang seperti Arduino, dan ia bertindak balas terhadap suhu, hujan dan intensiti cahaya.
Jangan berharap untuk membuat keseluruhan lagu atau progres kord. Ia lebih mirip seperti Generasi Muzik yang kadang-kadang dibuat oleh Synthesizer Modular. Tetapi agak kurang rawak, misalnya, ia tetap berpegang pada Timbangan tertentu.
Bekalan
ESP8266 (Saya menggunakan Feather Huzzah ESP8266 dari Adafruit)
Sensor Suhu, Kelembapan dan Tekanan Barometrik BME280 (Versi I2C)
Sensor Hujan Arduino
25K LDR (Perintang Bergantung Cahaya)
Beberapa Perintang (dua 47, satu 100, satu 220 dan satu 1k Ohm)
Penyambung Midi Perempuan (5 Pin Din) sesuai untuk pemasangan PCB
Wayar Pelompat
Papan roti atau sejenis papan Prototaip
Komputer, saya akan menggunakan satu yang menjalankan Windows 8.1, tetapi ia harus berfungsi pada mana-mana OS sejauh yang saya tahu.
Pilihan: Baterai LiPo 1250 mAh dengan penyambung JST dari Adafruit (hanya serasi dengan beberapa ESP)
Langkah 1: Langkah 1: Perisian
Pertama sekali anda memerlukan Arduino IDE.
Maka anda memerlukan pemacu SiLabs CP2104 dan Pakej Papan ESP8266.
Ini membolehkan komputer anda memprogram ESP melalui UART bawaan dan membolehkan Arduino IDE memprogramkan ESP.
Anda boleh mendapatkan semua maklumat mengenai Pakej IDE, Driver dan Board di halaman ini di laman web Adafruit.
Anda juga memerlukan Perpustakaan Arduino Midi untuk dapat menghantar data Midi. Ia boleh dilakukan tanpa, tetapi ini menjadikan semuanya lebih mudah.
Untuk berkomunikasi dengan BME280 saya menggunakan perpustakaan BME280-I2C-ESP32 ini. (Ini untuk versi I2C dari BME280)
Perpustakaan itu seterusnya memerlukan Adafruit Unified Sensor Driver. Ini bukan kali pertama saya memerlukan perpustakaan ini untuk menggunakan perpustakaan yang berbeza tanpa masalah, jadi saya selalu menjadikan Perpustakaan ini ditanda buku di suatu tempat.
Langkah 2: Langkah 2: Perkakasan
Baiklah, akhirnya kami sampai pada barangan yang baik, perkakasan.
Seperti yang saya nyatakan, saya menggunakan Adafruit ESP ini, tetapi semestinya berfungsi dengan baik dengan NodeMCU. Saya mengesyorkan versi V2 kerana saya percaya ia lebih sesuai pada papan roti dan anda boleh mendapatkannya sangat murah dari eBay atau AliExpress. Saya suka kenyataan bahawa Adafruit ESP mempunyai CPU yang lebih pantas, dilengkapi dengan penyambung JST wanita untuk LiPo dan litar pengecasan. Juga lebih mudah untuk mengetahui Pin apa yang anda gunakan. Saya percaya pada NodeMCU pin Labeled D1 sebenarnya GPIO5 misalnya, jadi anda selalu memerlukan carta Pinout yang berguna. Bukan masalah besar sama sekali, tetapi hanya senang bagi pemula mereka melabel Adafruit dengan begitu jelas.
Pertama, mari sambungkan BME280, kerana terdapat beberapa variasi dalam model ini. Seperti yang anda lihat dari gambar saya mempunyai satu lubang besar, tetapi ada juga yang mempunyai 2 lubang. Anda dapat melihatnya mempunyai 4 In dan Output, 1 untuk kuasa, satu untuk ground dan SCL dan SDA. Ini bermaksud ia berkomunikasi melalui I2C. Saya percaya model lain berkomunikasi melalui SPI. Dan di beberapa anda boleh memilih SPI atau I2C. SPI mungkin memerlukan Perpustakaan yang berbeza atau sekurang-kurangnya kod yang berbeza dan pendawaian yang berbeza. Saya juga percaya S di SPI bermaksud Serial dan saya tidak dapat mengatakan apakah ini akan mengganggu bahagian Midi projek ini kerana ia juga berfungsi melalui sambungan Serial.
Menghubungkan BME ini agak lurus ke hadapan. Pada ESP8266 anda dapat melihat pin 4 dan 5 masing-masing dilabel SDA dan SCL. Sambungkan pin tersebut terus ke pin SDA dan SCL di BME. Sudah tentu juga menghubungkan VIN ke Rel Positif Breadboard dan GND ke Rel Negatif. Mereka seterusnya disambungkan ke pin 3V3 dan GND ESP.
Seterusnya kita akan menyambungkan LDR. Dalam contoh Fritzing, anda dapat melihat 3.3 volt melalui perintang, kemudian terpecah ke LDR dan perintang lain. Kemudian selepas LDR ia berpecah lagi menjadi perintang dan ADC.
Ini untuk melindungi ESP daripada mendapat voltan yang terlalu tinggi dan memastikannya mendapat nilai yang boleh dibaca. ADC dapat mengendalikan 0-1 Volt tetapi 3V3 memberikan 3.3 volt. Mungkin tidak akan meletupkan apa-apa jika anda melebihi 1 volt, tetapi ia tidak akan berfungsi dengan baik.
Oleh itu, pertama kita menggunakan Voltage Divider menggunakan perintang 220 dan 100 ohm untuk menurunkan voltan dari 3.3 hingga 1.031 volt. Kemudian LDR 25k ohm dan perintang 1k ohm membentuk Voltage Devider lain yang menurunkan voltan dari mana sahaja antara 1.031 dan 0 volt bergantung pada jumlah cahaya yang LDR dapat.
Kemudian kita mempunyai Sensor Hujan. Satu bahagian mengatakan FC-37, yang lain mengatakan HW-103. Saya baru sahaja membeli yang pertama yang saya dapati di Ebay yang mengatakan ia mampu mengatasi 3.3 dan 5 volt. (Saya rasa mereka semua boleh).
Ini cukup lurus ke depan, kita boleh menggunakan output Analog, tetapi kita hanya boleh mengubah Trimpot kecil untuk menjadikan sensor sensitif seperti yang kita mahukan (dan kita sudah menggunakan satu pin Analog kita pada ESP). Seperti sensor lain, kita harus membekalkan Daya dari Rel Positif dan menghubungkannya ke landasan Rel. Kadang kala urutan pin berbeza. Pada saya, VCC, Ground, Digital, Analog, tetapi pada gambar Fritzing berbeza. Tetapi jika anda hanya memperhatikan perkara ini semestinya mudah dilakukan.
Dan akhirnya, Jack Midi. Di Papan Roti saya, ia tidak boleh duduk di tepi papan roti, kerana pin tidak semuanya sejajar. Sekiranya ini mengganggu anda, saya akan cuba mendapatkan papan roti di kedai fizikal. Atau periksa gambar dengan baik.
Seperti yang anda lihat dari skema, voltan positif dan isyarat Serial melalui perintang 47 ohm.
Sekiranya anda melakukan projek ini dengan Arduino Uno misalnya, pastikan menggunakan perintang 220 ohm !! Ini berfungsi dengan logik 3.3 V, tetapi kebanyakan penggunaan Arduino 5.0 V, jadi anda harus menghadkan arus yang lebih banyak melalui kabel Midi.
Dan akhirnya sambungkan pin tengah ke landasan rel. 2 pin lain dari 5 Pin Din tidak digunakan.
Langkah 3: Langkah 3: Kod
Dan akhirnya kita mempunyai kod!
Dalam fail Zip ini saya meletakkan 2 lakaran. 'LightRainTemp' hanya menguji semua sensor dan menghantar kembali nilainya. (Pastikan untuk membuka Window Terminal!)
Dan tentu saja kita mempunyai lakaran LRTGenerativeMidi (LRT bermaksud Cahaya, Hujan, Suhu).
Di dalamnya anda boleh mendapatkan banyak penjelasan dalam komen mengenai apa yang berlaku. Saya tidak akan menerangkan bagaimana saya menulis keseluruhannya, yang akan memakan masa berjam-jam. Sekiranya anda ingin mengetahui di mana untuk memulakan dengan perkara seperti ini, saya mempunyai beberapa projek lain dalam fikiran. Penjana Random Riff kecil dengan beberapa butang dan Sequencer dengan sekumpulan ciri yang tidak dapat saya temui pada model lain.
Tetapi saya mesti menyelesaikan reka bentuk dan pengekodan terlebih dahulu. Beritahu saya jika anda ingin mengetahui mengenai projek lain. Saya belum memutuskan sama ada saya akan membuat lebih banyak arahan atau membuat siri video.
Langkah 4: Langkah 4: Sambungkannya dan Uji
Dan sekarang masanya untuk mengujinya!
Cukup sambungkan kabel Midi, pastikan untuk mengatur Synth / Keyboard anda untuk bertindak balas pada saluran 1 atau menukar saluran dalam kod Arduino dan melihat apakah ia berfungsi!
Saya sangat ingin melihat dan mendengar apa yang anda lakukan dengannya. Sekiranya anda membuat perubahan, peningkatan, penyesuaian (seperti nilai cahaya dan suhu Suhu. Di luar mungkin berfungsi lebih baik atau lebih buruk daripada di dalam) apa sahaja.
Saya juga ingin tahu sama ada ia berfungsi dengan baik dengan semua Synthesizer. Pada Volca Bass saya berfungsi dengan sempurna, tetapi pada Neutron saya LFO tersekat sebaik sahaja saya menghantar Midi Note. Tidak apa-apa ketika saya menghidupkannya semula, tetapi ia pelik. Saya tidak pasti sama ada terdapat sesuatu di Perpustakaan Midi atau dalam kod saya, saya mungkin akan segera melakukannya tanpa Perpustakaan dan melihat apakah ia bertambah baik.
Terima kasih kerana membaca dan menonton dan semoga berjaya !!
Disyorkan:
Pemasangan Siling Bintang Fiber Optik Muzik Muzik: 11 Langkah (dengan Gambar)
Pemasangan Muzik Reaktif Fiber Optic Star Ceiling: Mahukan sekeping galaksi di rumah anda? Ketahui bagaimana ia dibuat di bawah! Selama bertahun-tahun ia adalah projek impian saya dan akhirnya Ia selesai. Ia memerlukan sedikit masa untuk diselesaikan, tetapi hasil akhirnya begitu memuaskan sehingga saya yakin ia berbaloi. Sedikit
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar)
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: Setelah 1 tahun beroperasi di 2 lokasi yang berbeza, saya berkongsi rancangan projek stesen cuaca berkuasa solar saya dan menerangkan bagaimana ia berkembang menjadi sistem yang benar-benar dapat bertahan dalam jangka masa yang lama tempoh dari tenaga suria. Sekiranya anda mengikuti
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
Stesen Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stesen Cuaca yang Lain Sesuai): Semasa saya membeli stesen cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya semasa saya tiada. Semasa saya pulang dan menyiapkannya, saya menyedari bahawa saya mesti mempunyai paparan yang disambungkan ke komputer atau membeli hab pintar mereka
Muzik Reaktif Cahaya -- Cara Membuat Muzik Reaktif Cahaya Muzik Super Sederhana untuk Membuat Desktop Hebat .: 5 Langkah (dengan Gambar)
Muzik Reaktif Cahaya || Cara Membuat Muzik Reaktif Cahaya Muzik Super Sederhana untuk Membuat Desktop Yang Hebat: Hai apa lagi, Hari ini kita akan membina projek yang sangat menarik. Hari ini kita akan membina cahaya reaktif muzik. Led akan mengubah kecerahannya mengikut bass yang sebenarnya merupakan isyarat audio frekuensi rendah. Ia sangat mudah untuk dibina. Kami akan
Jam Rangkaian Berasaskan ESP8266 dan Monitor Cuaca: 3 Langkah (dengan Gambar)
Jam Rangkaian Berasaskan ESP8266 dan Monitor Cuaca: Projek Hujung Minggu Pendek dan Sederhana dengan ESP8266 dan Paparan OLED 128x64 0.96 ". Peranti ini adalah jam rangkaian iaitu mengambil masa dari pelayan ntp. Ia juga Memaparkan maklumat cuaca dengan ikon dari openweathermap.orgBahagian yang Diperlukan: 1. Modul ESP8266 (A