Daftar Isi:
- Perlengkapan
- Langkah 1: Elektronik
- Langkah 2: Kode
- Langkah 3: Kandang dan Perakitan
- Langkah 4: Pasang
Video: MQTT Mood Lights Dengan ESP32: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Saya telah tergoda untuk beberapa waktu untuk naik kereta musik LED, jadi saya berlari keluar dan mengambil strip LED untuk mainan. Saya akhirnya membuat lampu suasana hati ini. Mereka dapat dikontrol dengan MQTT, memungkinkan untuk menambahkan segala macam kecerdasan.
Ini adalah proyek akhir pekan yang bagus jika Anda tidak sedang melakukan apa-apa, dan ingin mengotori tangan Anda dengan membuat sesuatu.
Perhatikan bahwa tujuan dari Instructable ini adalah untuk mendokumentasikan proyek saya dan berbagi ide dengan orang lain, dan tidak harus memberikan instruksi dan metode yang solid. Dengan itu, baca terus!
Perlengkapan
Elektronik:
- 1x papan pengembangan ESP32
- 1x 0.96" layar OLED I2C
- 1x Buzzer
- 1x Barel jack
- Catu daya 1x 12V (arus tergantung pada panjang strip Anda)
- 1x LM2596 konverter uang
- 1x Strip LED RGB anoda umum
- 3x MOSFET IRFZ44N
- 3x BC547 transistor
- 3x 10kΩ resistor
- 4x 100Ω resistor
- 1x papan prototipe
- 4x terminal sekrup
- Header pria dan wanita
- Kawat (saya menggunakan untai tunggal)
Perangkat keras dan alat lainnya:
- Bahan yang Anda inginkan untuk enklosur (saya menggunakan MDF)
- Bahan datar dan konduktif untuk kontak sentuh (saya menggunakan lembaran aluminium tipis)
- Gergaji, bor, amplas, dll.
- Solder besi dan teman-teman
- Lem panas
Saya sangat menyarankan untuk tidak menggunakan ESP32 dengan layar OLED built-in, karena menjadi sangat sulit untuk membuat potongan yang selaras di enklosur Anda untuk itu.
Langkah 1: Elektronik
Skema terlampir menunjukkan semua koneksi yang diperlukan, kecuali untuk input sentuh. Ada juga diagram papan tempat memotong roti yang relatif samar yang menunjukkan cara memasang satu MOSFET, jika skema tidak memadai.
Kekuasaan
Konverter uang LM2596 menurunkan 12V dari catu daya ke 5V untuk VIN ESP. Pastikan catu daya Anda dinilai dengan benar untuk panjang strip LED yang Anda gunakan. Strip panjang 2 meter saya menarik sedikit lebih dari 2 amp.
Pin dan periferal
Empat pin sentuh digunakan untuk input sentuh. Papan ESP32 saya dilengkapi dengan layar OLED yang terpasang, yang pin I2C-nya sudah terpasang. Ini menggunakan empat pin PWM, satu untuk setiap komponen warna (merah, hijau, dan biru), dan satu untuk buzzer.
kekacauan MOSFET
MOSFET dipilih untuk menangani waktu switching yang cepat untuk PWM dan arus yang relatif tinggi. Ada satu MOSFET untuk setiap komponen warna. Saya menggunakan NPN BJT (BC547) terpisah bersama dengan resistor pull-up untuk menggerakkan IRFZ44Ns, karena sinyal digital 3.3V dari ESP32 mungkin tidak cukup bagi MOSFET untuk mengalirkan arus sebanyak yang diperlukan. MOSFET tingkat logika seperti IRLZ44N ada, tetapi saya mengetahuinya hanya setelah saya selesai menyolder semuanya. Either way, strip saya yang menarik ~ 2A berfungsi dengan baik.
Pematerian
Terminal sekrup digunakan untuk menghubungkan ke strip LED, dan header perempuan untuk menyambungkan ESP32, jika saya ingin mengganti salah satu dari mereka tanpa pematrian barang. Solder memakan waktu sekitar dua jam, dan sangat mudah. Saya juga memberi strip LED saya beberapa kabel yang lebih panjang.
Mengapa saya memilih ESP32
Ini memiliki WiFi dan Bluetooth di papan (meskipun saya hanya menggunakan WiFi sekarang), dan saya punya satu tergeletak di sekitar yang saya gatal untuk digunakan. Input sentuh juga berguna untuk antarmuka pada pengontrol, karena hanya membutuhkan satu kabel untuk masuk ke kontak. Namun, jika Anda mau, ESP32 dapat dengan mudah diganti dengan mikrokontroler seperti ESP8266.
Langkah 2: Kode
Saya menggunakan toolset Arduino (sebenarnya ekstensi Arduino untuk VS Code:)) untuk memprogram ini. Ada tutorial bagus seperti ini tentang cara memulai dengan ESP32 dan Arduino IDE, jika Anda belum melakukannya.
Ada empat mode berbeda untuk ditangani: warna statis, warna acak, Peringatan Merah, dan Peringatan Biru. Ada empat input sentuh untuk up, down, next, dan Red Alert. Sentuhan menggunakan interupsi.
Saya menambahkan MQTT ke karya juga, sehingga saya bisa mengontrolnya melalui WiFi. Saya mencoba untuk merasakan tiga besar aplikasi web (HTML, CSS, JS), jadi saya merancang halaman web bertema Star Trek (tapi agak jelek) yang berkomunikasi dengan broker MQTT untuk mengontrol lampu suasana hati.
Semua kode saya dapat ditemukan terlampir, bersama dengan lembar referensi cepat, yang nama filenya mungkin ingin Anda ubah untuk menjadikannya penurunan harga. Pindahkan semua file ke folder dengan nama "ESP32MQTTMoodLighting" sebelum dibuka dengan Arduino.
Perhatikan bahwa kode saya berfungsi, tetapi mungkin bukan yang terbaik. Tapi itu tidak masalah, karena Anda akan tetap menulis sendiri, bukan?:)
Langkah 3: Kandang dan Perakitan
Selama penguncian, satu-satunya bahan yang bisa saya dapatkan adalah selembar MDF 5mm. Saya membuat potongan besar dengan gergaji besi biasa, dan memberikan pasir yang bagus untuk semuanya. Lapisan ganda cat enamel menyelesaikan persiapan utama.
Panel belakang
Saya ingin kotak saya mudah dibuka, jadi saya memasang semua elektronik saya ke panel belakang dengan empat M2 PCB standoffs. Perfboard saya sudah memiliki lubang M2 yang dibor ke dalamnya. Kebuntuan saya memiliki rintisan berulir kecil di bagian bawah, yang saya maksudkan untuk diperbaiki ke MDF. Tapi, saya tidak punya mata bor M2. Jadi, menandai posisi setiap lubang, saya menggunakan obeng pipih kecil untuk mencungkil lubang secara manual. Kasar tapi efektif. Diameter lubang hanya sedikit lebih kecil dari bagian berulir dari kebuntuan. Saya memutar kebuntuan masuk dan keluar dari lubang beberapa kali, yang melebar dan hampir memasangnya.
Akhirnya, kebuntuan duduk dengan kuat di lubang mereka dan menahan papan perf di tempatnya. Karena MDF saya sangat tebal, tidak ada yang tembus ke sisi lain.
Saya mengebor lubang untuk colokan listrik, dan membuat slot untuk dilewati kabel strip LED, tepat di bawah tempat terminal sekrup saya berada.
Panel depan
Potongan Layar OLED
Saya memulai potongan saya untuk OLED dengan beberapa lubang starter, dan menyusunnya sesuai ukuran. Itu akhirnya menjadi sangat miring dan tidak selaras. Tidak memeriksa ulang pengukuran mungkin berperan dalam hal itu, tetapi selamatkan diri Anda dari masalah dengan tidak menggunakan papan pengembangan dengan OLED bawaan. Jauh lebih mudah untuk hanya memasang layar ke lubang Anda.
Penyambung
Saya membuat konektor dari beberapa header pria dan wanita. Salah satu ujungnya terpasang ke kabel yang terhubung ke kontak sentuh di panel depan, sementara sisi lainnya memiliki kabel yang terhubung ke input sentuh ESP. Ini agar panel depan dapat dilepas seluruhnya dari belakang jika perlu, tanpa mengganggu sambungan solder. Jika Anda memasang apa pun ke panel depan Anda, Anda mungkin ingin membuat konektor untuk itu juga.
Bantalan Sentuh
Kontak sentuh terbuat dari beberapa lembaran aluminium. Saya memotongnya untuk mendapatkan empat bantalan yang dibutuhkan, dan memverifikasi bahwa tidak ada tepi yang bergerigi. Saya kemudian mengebor lubang ke panel depan, cukup besar untuk kawat. Untuk membiarkan solder menempel pada bantalan, saya menggosok sebagian kecil dari satu sisi dengan amplas untuk menghilangkan lapisan yang teroksidasi, dan kemudian menyekanya dengan cepat untuk menghilangkan partikel apa pun. Menjalankan setiap kawat melalui lubang yang sesuai di panel depan, saya menyolder masing-masing ke padnya. Pastikan solder Anda tidak membuat tonjolan yang terlalu besar di bagian belakang, karena ini tidak akan membuat bantalan menempel rata dengan panel.
Terakhir, tambahkan lem panas ke bagian belakang setiap bantalan dan dorong ke panel depan. Menambahkan terlalu banyak akan membuat bantalan terangkat dari panel. Bersihkan lem berlebih yang mungkin terdorong keluar dari bawah bantalan.
Sisanya
Panel samping cukup sederhana. Lubang akses cepat ke terminal sekrup lebih merepotkan daripada nilainya. Saya menempelkan panel samping ke panel depan dengan panas.
Velcro di dua sisi menahan bagian depan ke panel belakang. Kesenjangan memungkinkan suara bel untuk melarikan diri. Jika Anda melakukan pekerjaan yang lebih baik dari saya, Anda tidak harus berakhir dengan sesuatu yang terlihat seperti kerajinan prasekolah berusia 5 tahun:)
Strip LED saya memiliki bagian belakang yang lengket (saya yakin milik Anda juga). Saya memasang milik saya sedemikian rupa sehingga cahaya berdifusi dari dinding.
Langkah 4: Pasang
Anda sekarang harus memiliki lampu suasana hati yang dikendalikan MQTT lengkap. Saya telah memasang milik saya ke meja saya, di mana itu menambahkan percikan warna pada pekerjaan yang terkadang monoton. Malam adalah waktu yang ideal untuk membuat orang terkesan dengannya.
Saya harap Anda menikmati membaca Instructable ini, dan mendapat beberapa ide untuk proyek Anda sendiri. Seperti yang saya sebutkan sebelumnya, saya seorang pemula, dan ini adalah Instructable pertama saya. Saya akan menghargai setiap tips dan komentar.
Direkomendasikan:
NeckLight V2: Kalung Glow-In-The-Dark Dengan Bentuk, Warna dan LIGHTS: 10 Langkah (dengan Gambar)
NeckLight V2: Kalung Glow-In-The-Dark Dengan Bentuk, Warna, dan LIGHTS: Hai semuanya,Setelah Instruksi pertama: NeckLight yang saya posting yang merupakan kesuksesan besar bagi saya, saya memilih untuk membuat V2-nya.Ide di balik ini V2 adalah untuk memperbaiki beberapa kesalahan dari V1 dan memiliki lebih banyak opsi visual. Dalam Instruksi ini saya akan menjelaskan
Nesting Hive Lights: 7 Langkah (dengan Gambar)
Nesting Hive Lights: Saya ingin membuat tampilan cahaya interaktif yang memungkinkan individu menggambar gambar cahaya dalam mode seperti piksel. Tumbuh dengan Lite-Brite, saya menggunakan ini sebagai titik awal ide. Ukuran lampu yang lebih besar berarti
Ikea Kids Kitchen Lights Mod: 11 Langkah (dengan Gambar)
Ikea Kids Kitchen Lights Mod: Untuk ulang tahun kedua putri saya, kami memutuskan untuk membelikannya satu set dapur. Tapi saya benar-benar ingin membuat apa yang kami buat khusus untuknya dan setelah terinspirasi oleh apa yang telah dilakukan oleh beberapa pembuat hebat dengan Dapur Ikea Duktig, kami memutuskan untuk mendapatkannya dan membuat
Wifi Controlled Interior Lights (mobil): 5 Langkah (dengan Gambar)
Lampu Interior Terkendali Wifi (mobil): Halo Semuanya! Dalam instruksi ini, kami akan memasang Strip LED RGB yang dikendalikan Wifi untuk interior mobil Anda. Dalam proyek ini, saya akan menggunakan mobil saya sendiri (Mitsubishi Lancer GTS 2010) tetapi pengaturannya harus bekerja untuk sebagian besar kendaraan. Di sana
Kursi Roda Underglow Lights: 9 Langkah (dengan Gambar)
Kursi Roda Underglow Lights: Pertama, saya telah memasukkan Instruksi ini ke dalam beberapa kontes. Saya akan menghargai suara jika Anda merasa layak mendapatkan satu atau dua. Melanjutkan acara: Jadi, saya sedang duduk di pesta Natal keluarga dan saya bertanya kepada keponakan saya (yang merupakan penggemar berat BYU) mengapa