Isi kandungan:

Lampu Mood MQTT Dengan ESP32: 4 Langkah (dengan Gambar)
Lampu Mood MQTT Dengan ESP32: 4 Langkah (dengan Gambar)

Video: Lampu Mood MQTT Dengan ESP32: 4 Langkah (dengan Gambar)

Video: Lampu Mood MQTT Dengan ESP32: 4 Langkah (dengan Gambar)
Video: Rahasia ESP32 !! Kendali LED dengan WebServer dan Cara Menggunakan ESP32 dengan Arduino IDE 2024, November
Anonim
Lampu Mood MQTT Dengan ESP32
Lampu Mood MQTT Dengan ESP32

Saya tergoda untuk beberapa waktu untuk melompat ke kereta LED, jadi saya berlari keluar dan mengambil jalur LED untuk mainan. Saya akhirnya membuat lampu suasana ini. Mereka dapat dikendalikan dengan MQTT, memungkinkan untuk menambahkan segala jenis kecerdasan.

Ini adalah projek hujung minggu yang baik jika anda tidak mempunyai apa-apa lagi, dan mahu tangan anda kotor membuat sesuatu.

Perhatikan bahawa tujuan Instructable ini adalah untuk mendokumentasikan projek saya dan berkongsi idea dengan orang lain, dan tidak semestinya memberikan arahan dan kaedah yang kukuh. Dengan itu, baca terus!

Bekalan

Elektronik:

  • 1x papan pengembangan ESP32
  • Paparan 1x 0.96 "I2C OLED
  • Buzzer 1x
  • Jack 1x tong
  • Bekalan kuasa 1x 12V (arus bergantung pada panjang jalur anda)
  • Penukar 1x LM2596 buck
  • Jalur LED RGB Common-anode 1x
  • 3x MOSFET IRFZ44N
  • Transistor 3x BC547
  • Perintang 3x 10kΩ
  • Perintang 4x 100Ω
  • Papan prototaip 1x
  • Terminal skru 4x
  • Pengepala lelaki dan wanita
  • Kawat (saya menggunakan helai tunggal)

Perkakasan dan alat lain:

  • Bahan yang anda mahukan untuk kandang (saya menggunakan MDF)
  • Bahan rata dan konduktif untuk sentuhan sentuhan (saya menggunakan kepingan aluminium nipis)
  • Gergaji, gerudi, kertas pasir, dll.
  • Pateri dan rakan
  • Gam panas

Saya sangat mengesyorkan agar tidak menggunakan ESP32 dengan paparan OLED bawaan, kerana menjadi sangat sukar untuk membuat potongan yang selaras dengan baik di kandang anda.

Langkah 1: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik

Skema yang dilampirkan menunjukkan semua sambungan yang diperlukan, kecuali input sentuhan. Terdapat juga gambarajah papan roti yang agak kabur yang menunjukkan cara memasang satu MOSFET, sekiranya skema tidak mencukupi.

Kuasa

Penukar buck LM2596 turun 12V dari bekalan kuasa ke 5V untuk VIN ESP. Pastikan bekalan kuasa anda dinilai dengan betul untuk panjang jalur LED yang anda gunakan. Jalur sepanjang 2 meter saya menarik lebih daripada 2 amp.

Pin dan periferal

Empat pin sentuh digunakan untuk input sentuhan. Papan ESP32 saya disertakan dengan paparan OLED yang terpasang, pin I2C yang dipasang di dalamnya. Ini menggunakan empat pin PWM, satu untuk setiap komponen warna (merah, hijau, dan biru), dan satu untuk bel.

MOSFET bercelaru

MOSFET dipilih untuk menangani masa beralih cepat untuk PWM dan arus yang agak tinggi. Terdapat satu MOSFET untuk setiap komponen warna. Saya menggunakan NPN BJTs berasingan (BC547) bersama dengan pull-up resistor untuk menggerakkan IRFZ44Ns, kerana isyarat digital 3.3V dari ESP32 mungkin tidak mencukupi untuk MOSFET melakukan arus sebanyak yang diperlukan. MOSFET peringkat logik seperti IRLZ44N ada, tetapi saya mendapat tahu hanya selepas saya menyelesaikan semuanya. Walau apa pun, jalur saya yang menarik ~ 2A berfungsi dengan baik.

Pematerian

Terminal skru digunakan untuk menyambung ke jalur LED, dan header wanita untuk memasangkan ESP32, sekiranya saya mahu mengganti salah satu daripadanya tanpa benda yang tidak dipatahkan. Soldering mengambil masa kira-kira dua jam, dan sangat mudah. Saya juga memberikan wayar LED yang lebih panjang.

Mengapa saya memilih ESP32

Ia mempunyai WiFi dan Bluetooth di atas kapal (walaupun saya hanya menggunakan WiFi sekarang), dan saya mempunyai satu yang terletak di mana saya gatal untuk digunakan. Input sentuhan juga berguna untuk antara muka pada pengawal, kerana mereka hanya memerlukan satu wayar untuk menghubungi. Sekiranya anda mahu, ESP32 boleh diganti dengan mudah oleh mikrokontroler seperti ESP8266.

Langkah 2: Kod

Saya menggunakan set alat Arduino (sebenarnya sambungan Arduino untuk VS Code:)) untuk memprogramkan ini. Terdapat tutorial hebat seperti ini mengenai cara memulakan ESPE dan Arduino IDE, jika anda belum melakukannya.

Terdapat empat mod yang berbeza untuk dikendalikan: warna statik, warna rawak, Makluman Merah, dan Makluman Biru. Terdapat empat input sentuhan untuk amaran atas, bawah, seterusnya, dan Makluman Merah. Sentuhan menggunakan gangguan.

Saya juga menambahkan MQTT ke karya, supaya saya dapat mengawalnya melalui WiFi. Saya cuba merasakan tiga aplikasi besar web (HTML, CSS, JS), jadi saya merancang laman web bertema Star Trek (tetapi agak jelek) yang berkomunikasi dengan broker MQTT untuk mengawal suasana hati.

Semua kod saya boleh didapati dilampirkan, bersama dengan lembaran rujukan cepat, nama failnya yang mungkin ingin anda ubah untuk menjadikannya markdown. Pindahkan semua fail ke folder dengan nama "ESP32MQTTMoodLighting" sebelum dibuka dengan Arduino.

Perhatikan bahawa kod saya berfungsi, tetapi mungkin bukan yang terbaik. Tetapi itu tidak menjadi masalah, kerana anda akan menulis sendiri, bukan?:)

Langkah 3: Kandang dan Pemasangan

Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan
Kandang dan Perhimpunan

Semasa penguncian, satu-satunya bahan yang dapat saya gunakan ialah selembar MDF 5mm. Saya membuat potongan besar dengan gergaji besi biasa, dan memberikan semuanya pasir yang bagus. Lapisan cat enamel yang berlapis selesai sebagai penyediaan utama.

Panel Belakang

Saya mahu kotak saya mudah dibuka, jadi saya memasang semua elektronik saya ke panel belakang dengan empat M2 PCB. Papan perfoma saya sudah mempunyai lubang M2 di dalamnya. Kebuntuan saya mempunyai sedikit rintangan berulir di bahagian bawah, yang saya ingin dipasang ke MDF. Tetapi, saya tidak mempunyai sedikit latihan M2. Oleh itu, menandakan kedudukan setiap lubang, saya menggunakan pemutar skru kepala rata kecil untuk mencungkil lubang secara manual. Kasar tetapi berkesan. Diameter lubang hanya sedikit lebih kecil daripada bahagian bebenang dari lubang tersebut. Saya memutar lubang keluar masuk dan keluar dari lubang beberapa kali, yang melebar dan hampir mengikatnya.

Akhirnya, kebuntuan duduk dengan kuat di lubang mereka dan memegang papan wangi di tempatnya. Kerana MDF saya sangat tebal, tidak ada yang menunjukkan ke sisi lain.

Saya menggerudi lubang untuk soket kuasa, dan membuat slot untuk wayar jalur LED melewati, tepat di bawah tempat terminal skru saya berada.

Panel hadapan

Potongan Paparan OLED

Saya memulakan potongan untuk OLED dengan beberapa lubang permulaan, dan memfailkannya mengikut ukuran. Ia akhirnya menjadi sangat bodoh dan tidak sejajar. Pengukuran tidak memeriksa dua kali mungkin memainkan peranan dalam hal itu, tetapi menyelamatkan diri anda dari masalah dengan tidak menggunakan papan pengembangan dengan OLED bawaan. Lebih mudah hanya memasang paparan ke lubang anda.

Penyambung

Saya membuat penyambung daripada beberapa tajuk lelaki dan wanita. Satu hujung terpasang pada wayar yang disambungkan ke kenalan sentuhan pada panel depan, sementara sebelah yang lain mempunyai wayar yang mengalir ke input sentuhan ESP. Ini supaya panel depan dapat dikeluarkan sepenuhnya dari belakang jika perlu, tanpa mengganggu sendi pateri. Sekiranya anda memasang apa-apa lagi ke panel depan anda, anda mungkin mahu membuat penyambung untuk itu juga.

Pad Sentuh

Kenalan sentuhan dibuat dari beberapa kepingan aluminium. Saya memotongnya untuk mendapatkan empat pad yang diperlukan, dan mengesahkan bahawa tidak ada tepi yang bergerigi. Saya kemudian menggerudi lubang ke panel depan, cukup besar untuk wayar. Untuk membiarkan pateri melekat pada bantalan, saya mengikis sebahagian kecil dari satu sisi dengan kertas pasir untuk menghilangkan lapisan teroksidasi, dan kemudian memberinya lap cepat untuk mengeluarkan zarah. Mengendalikan setiap wayar melalui lubang yang sesuai di panel depan, saya menyolder masing-masing ke padnya. Pastikan pateri anda tidak membuat lekukan yang terlalu besar di bahagian belakang, kerana ini tidak akan membiarkan pelapik duduk rata dengan panel.

Akhirnya, tambahkan sedikit gam panas ke bahagian belakang setiap pad dan tolak ke panel depan. Menambah terlalu banyak akan menjadikan bantalan duduk diangkat dari panel. Bersihkan lebihan gam yang mungkin dikeluarkan dari bawah alas.

Selebihnya

Panel sisi agak lurus. Lubang akses cepat ke terminal skru lebih menyusahkan daripada yang sepadan. Saya panas melekatkan panel sisi ke panel depan.

Velcro di dua tepi memegang bahagian depan ke panel belakang. Jurang membolehkan bunyi buzz melarikan diri. Sekiranya anda melakukan pekerjaan yang lebih baik daripada saya, anda tidak seharusnya berakhir dengan sesuatu yang kelihatan seperti kraf prasekolah kanak-kanak berusia 5 tahun:)

Jalur LED saya mempunyai bahagian belakang yang melekit (saya yakin juga anda). Saya memasang tambang sehingga cahaya menyebar di dinding.

Langkah 4: Pasangkannya

Pasangkannya!
Pasangkannya!

Anda kini harus mempunyai cahaya mood yang dikendalikan MQTT lengkap. Saya telah memasang periuk api ke meja saya, di mana ia menambah warna untuk kerja yang kadang-kadang tidak monoton. Malam adalah waktu yang sesuai untuk menarik perhatian orang yang bersamanya.

Saya harap anda seronok membaca Instructable ini, dan mendapat beberapa idea untuk projek anda sendiri. Seperti yang saya nyatakan sebelumnya, saya seorang pemula, dan ini adalah Instructable pertama saya. Saya amat menghargai petua dan komen.

Disyorkan: