Daftar Isi:

Lampu IoT DIY untuk Otomatisasi Rumah -- Tutorial ESP8266: 13 Langkah (dengan Gambar)
Lampu IoT DIY untuk Otomatisasi Rumah -- Tutorial ESP8266: 13 Langkah (dengan Gambar)

Video: Lampu IoT DIY untuk Otomatisasi Rumah -- Tutorial ESP8266: 13 Langkah (dengan Gambar)

Video: Lampu IoT DIY untuk Otomatisasi Rumah -- Tutorial ESP8266: 13 Langkah (dengan Gambar)
Video: Merakit Smart Home untuk IoT Lampu 2024, Juli
Anonim
Image
Image
Lampu IoT DIY untuk Otomatisasi Rumah || Tutorial ESP8266
Lampu IoT DIY untuk Otomatisasi Rumah || Tutorial ESP8266

Dalam tutorial ini kita akan membuat lampu pintar yang terhubung dengan internet. Ini akan masuk jauh ke dalam internet of things dan membuka dunia otomatisasi rumah!

Lampu terhubung dengan WiFi dan dibuat untuk memiliki protokol pesan terbuka. Ini berarti Anda dapat memilih mode kontrol apa pun yang Anda inginkan! Itu dapat dikontrol melalui browser web, aplikasi otomatisasi rumah, asisten pintar seperti Alexa atau Google Assistant, dan banyak lagi!

Sebagai bonus, lampu ini dilengkapi dengan aplikasi untuk mengontrol proyek. Di sini Anda dapat memilih mode warna yang berbeda, memudar antara warna RGB, dan mengatur timer.

Lampu terdiri dari papan LED dan papan kontrol. Papan LED menggunakan tiga jenis LED yang berbeda dengan total lima saluran LED! Ini adalah RGB bersama dengan putih hangat dan dingin. Karena semua saluran ini dapat diatur secara individual, Anda memiliki total 112,3 kombinasi peta!

Mari kita mulai!

[Putar video]

Langkah 1: Suku Cadang dan Alat

Bagian dan Alat
Bagian dan Alat

Bagian

  • Wemos D1 Mini
  • 15 x 5050 LED putih hangat
  • 15 x 5050 LED putih dingin
  • 18 x RGB 5050 LED
  • 6 x 300 ohm 1206 resistor
  • 42 x 150 ohm 1206 resistor
  • 5 x 1k ohm resistor
  • 5 x NTR4501NT1G

    MOSFET

  • Regulator tegangan linier, 5V
  • PCB

    Unduh file gerber di langkah sirkuit untuk membuat PCB Anda sendiri

  • PSU 12V 2A

Peralatan

  • Besi solder

    • Timah solder
    • Fluks solder cair
  • Selotip
  • Pita dua sisi
  • pencetak 3D
  • penari telanjang kawat

Langkah 2: Rencana

Rencana
Rencana

Proyek lengkap terdiri dari empat bagian utama:

  1. sirkuit

    Rangkaian dibuat pada PCB. Sirkuit yang telah selesai akan terdiri dari lebih dari 100 komponen individu. Sangat melegakan untuk tidak memasang semua itu dengan tangan di papan perf

  2. Kode Arduino

    Saya menggunakan Wemos D1 Mini yang menggunakan ESP8266 sebagai mikrokontroler yang terhubung dengan WiFi. Kode akan memulai server di D1. Ketika Anda mengunjungi alamat server ini, D1 akan menafsirkan ini sebagai perintah yang berbeda. Mikrokontroler kemudian bertindak berdasarkan perintah ini untuk mengatur lampu yang sesuai

  3. Pengendali Jarak Jauh

    • Saya membuat aplikasi hanya untuk proyek ini agar semudah mungkin mengontrol lampu sesuai keinginan Anda
    • Lampu pintar benar-benar dapat dikontrol oleh apa pun yang mampu mengirimkan permintaan http GET. Ini berarti lampu menerima perintah dari perangkat yang hampir tak terbatas
  4. Pencetakan 3D

    Lampu pintar ini layak mendapatkan casing yang terlihat keren. Dan seperti banyak proyek yang Anda perlukan casing keren, pencetakan 3D datang untuk menyelamatkan

Langkah 3: Sirkuit

sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit

Saya memesan PCB saya dari jlcpcb.com. Waktu pengungkapan penuh: mereka juga mensponsori proyek ini.

PCB terdiri dari dua bagian. Ini memiliki papan LED dan papan kontrol. PCB dapat dipisahkan untuk kemudian menghubungkan kedua bagian ini dengan kabel fleksibel. Ini diperlukan untuk menjaga agar lampu cetak 3D tetap ramping, dan untuk memiringkan papan LED untuk menyebarkan cahaya secara merata melalui ruang lubang.

Papan kontrol menampung mikrokontroler D1 bersama dengan lima MOSFET untuk meredupkan LED, dan pengatur tegangan untuk memberikan mikrokontroler 5V yang mulus.

Papan LED memiliki lima saluran LED dalam tiga jenis LED yang berbeda. Karena kami menggunakan sumber daya 12V, LED dikonfigurasikan sebagai tiga LED secara seri dengan resistor dan kemudian diulang 16 kali secara paralel.

Sebuah LED putih biasa biasanya menarik 3,3 V. Pada segmen papan, tiga dari LED ini dirangkai secara seri yang berarti penurunan tegangan dikumpulkan dalam rangkaian. Tiga LED yang menarik masing-masing 3,3 V berarti satu segmen LED menarik 9,9 V. Rangkaian ini ditenagai oleh 12 V sehingga menyisakan 2,1 V.

Jika segmen hanya terdiri dari tiga LED, mereka akan mendapatkan lebih banyak tegangan daripada yang hilang. Ini tidak baik untuk LED dan dapat dengan cepat merusaknya. Inilah sebabnya mengapa setiap segmen juga memiliki resistor secara seri dengan ketiga LED. Resistor ini ada untuk menjatuhkan sisa 2,1 V di sambungan seri.

Jadi jika setiap segmen menyumbang 12 V itu berarti masing-masing segmen terhubung satu sama lain secara paralel. Ketika sirkuit dihubungkan secara paralel, mereka semua mendapatkan tegangan yang sama dan arus dikumpulkan. Arus dalam sambungan seri selalu sama.

LED biasa menarik arus 20 mA. Ini berarti segmen, yaitu tiga LED dan resistor secara seri masih akan menarik 20 mA. Ketika kami menghubungkan beberapa segmen secara paralel, kami menambahkan arus. Jika Anda memotong enam LED dari strip, Anda memiliki dua segmen ini secara paralel. Yang berarti rangkaian total Anda masih menarik 12 V, tetapi mereka menarik arus 40 mA.

Langkah 4: Solder LED

LED solder
LED solder
Solder LED
Solder LED
Solder LED
Solder LED

Dari mencoba beberapa hal, saya menemukan bahwa selotip sederhana adalah yang paling efektif dan fleksibel untuk menjaga agar PCB tidak bergerak.

Untuk bagian dengan banyak pin, seperti 6-pin pada LED 5050, saya mulai dengan meletakkan solder di salah satu bantalan PCB. Maka tinggal menjaga solder ini tetap cair dengan besi solder sambil menggeser komponen ke tempatnya dengan pinset.

Sekarang bantalan lainnya dapat dengan mudah ditempelkan dengan beberapa solder. Namun, untuk mempercepat pekerjaan ini saya sarankan mengambil beberapa fluks solder cair. Saya benar-benar tidak bisa merekomendasikan barang ini cukup.

Oleskan sebagian fluks ke bantalan solder, lalu lelehkan beberapa solder di ujung besi solder Anda. Sekarang hanya masalah membawa solder cair ke bantalan dan semuanya mengalir ke tempatnya. Bagus dan sederhana.

Ketika datang ke resistor dan komponen dua bantalan lainnya, fluks solder tidak benar-benar diperlukan. Oleskan solder ke salah satu bantalan dan bawa resistor ke tempatnya. Sekarang lelehkan beberapa solder ke pad nomor dua. Mudah.

Lihatlah gambar kelima dalam langkah ini. Perhatikan orientasi LED. LED putih hangat dan dingin memiliki orientasi takik di sudut kanan atas. LED RGB memiliki lekukan di sudut kiri bawah. Ini adalah kesalahan desain dari bagian saya, karena saya tidak dapat menemukan lembar data untuk LED RGB yang digunakan dalam proyek ini. Oh well, hidup dan belajar dan semua itu!

Langkah 5: Papan Kontrol Solder

Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder
Papan Kontrol Solder

Setelah menyelesaikan maraton papan LED, papan kontrol mudah disolder. Saya meletakkan lima MOSFET dan resistor sumber gerbang yang cocok, sebelum pindah ke pengatur tegangan.

Regulator tegangan memiliki ruang opsional untuk menghaluskan kapasitor. Sementara saya menyoldernya di gambar ini, saya akhirnya menghapusnya karena itu tidak terlalu diperlukan.

Trik untuk mendapatkan papan kontrol yang ramping adalah dengan memasang pin header yang menyembul dari atas ke bawah. Setelah pin terpasang, panjang yang tidak terpakai dapat dipotong dari bagian belakang bersama dengan plastik hitam. Ini membuat sisi bawah benar-benar halus.

Dengan semua komponen di tempatnya, inilah saatnya untuk menyatukan kedua papan. Saya baru saja memotong dan melepaskan enam kabel kecil 2,5 inci (7 cm) dan menghubungkan kedua PCB.

Langkah 6: Pengaturan WiFi

Pengaturan WiFi
Pengaturan WiFi
Pengaturan WiFi
Pengaturan WiFi

Ada enam baris sederhana dalam kode yang perlu Anda ubah.

  1. ssid, baris 3

    Nama router Anda. Pastikan Anda mendapatkan huruf besar-kecil dengan benar saat menulis ini

  2. wifiPass, jalur 4

    Kata sandi perute Anda. Sekali lagi, perhatikan casing

  3. ip, baris 8

    Alamat ip statis lampu pintar Anda. Saya memilih alamat ip acak di jaringan saya dan mencoba melakukan ping di jendela perintah. Jika tidak ada balasan dari alamat, Anda dapat menganggapnya tersedia

  4. gerbang, jalur 9

    Ini akan menjadi gateway di router Anda. Buka jendela perintah dan ketik "ipconfig". Gateway dan subnet dilingkari merah pada gambar

  5. subnet, baris 10

    Seperti halnya gateway, informasi ini dilingkari pada gambar untuk langkah ini

  6. zona waktu, baris 15

    Zona waktu Anda. Ubah ini jika Anda ingin menggunakan fungsi pengatur waktu bawaan untuk menyalakan dan mematikan lampu pada waktu tertentu. Variabelnya adalah plus atau minus sederhana GMT

Langkah 7: Kode Mikrokontroler

Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler
Kode Mikrokontroler

Setelah mengubah semua pengaturan yang relevan pada langkah sebelumnya, akhirnya saatnya mengunggah kode ke Wemos D1 Mini!

Kode arduino membutuhkan beberapa perpustakaan dan dependensi. Pertama ikuti panduan ini dari sparkfun jika Anda belum pernah mengunggah kode dari arduino IDE ke ESP8266.

Sekarang unduh perpustakaan Time dan perpustakaan TimeAlarms. Buka zip ini dan salin ke folder perpustakaan arduino di komputer Anda. Sama seperti menginstal perpustakaan arduino lainnya.

Perhatikan pengaturan upload pada gambar pada langkah ini. Pilih konfigurasi yang sama, kecuali port com. Ini akan menjadi port com apa pun yang Anda hubungkan dengan mikrokontroler di komputer Anda.

Ketika kode diunggah, buka terminal serial ke pesan, semoga, koneksi berhasil! Anda sekarang dapat membuka browser Anda dan mengunjungi alamat ip statis yang Anda simpan ke mikrokontroler. Selamat, Anda baru saja membangun server Anda sendiri dan menghosting halaman web di dalamnya!

Langkah 8: Buka Protokol Pesan

Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan
Buka Protokol Pesan

Saat Anda mengontrol lampu pintar dengan aplikasi, semua pesan akan ditangani untuk Anda secara otomatis. Berikut adalah daftar pesan yang diterima lampu, jika Anda ingin membuat remote control Anda sendiri. Saya telah menggunakan contoh alamat ip untuk mengilustrasikan cara menggunakan perintah.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Menyetel lampu Merah ke nilai maksimal, lampu hijau ke nilai setengah, dan lampu biru ke 34. Putih dingin dan hangat hampir tidak menyala
    • Saat memasukkan nilai, Anda dapat memilih antara 0 dan 1023. Selalu tulis nilai terang sebagai empat digit di URL
  • 192.168.0.200/&&B=0800

    Menyetel lampu biru ke nilai 800 sekaligus mematikan semua lampu lainnya

  • 192.168.0.200/LED=MATI

    Mematikan semua lampu sepenuhnya

  • 192.168.0.200/LED = PUDAR

    Mulai perlahan memudar di antara semua kemungkinan warna RGB. Sempurna untuk suasana

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Berkedip warna yang diberikan dua kali untuk menunjukkan pemberitahuan masuk. Sempurna jika Anda ingin, katakanlah, membuat program di komputer Anda untuk menyalakan lampu merah setiap kali Anda menerima email baru

  • 192.168.0.200/DST=1

    • Menyesuaikan jam dengan waktu musim panas. Menambahkan satu jam ke jam
    • /DST=0 gunakan ini untuk kembali dari DST, menghilangkan satu jam dari jam jika DST aktif
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Menyimpan status untuk timer 1. Timer ini akan menyalakan nilai RGB yang diberikan pada pukul 06:30 pagi

  • 192.168.0.200/TIMER1H=99

    Atur jam timer ke 99 untuk menonaktifkan timer. Nilai RGB masih tersimpan, tetapi timer tidak akan menyalakan lampu saat jam disetel ke 99

  • Lampu memiliki empat timer individu. Ubah "TIMER1" menjadi "TIMER2", "TIMER3", atau "TIMER4" untuk menyesuaikan salah satu timer bawaan lainnya.

Ini adalah perintah bawaan saat ini. Tinggalkan komentar jika Anda memiliki ide keren untuk membuat perintah baru baik dalam kode arduino atau aplikasi jarak jauh!

Langkah 9: Remote Control

Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh
Pengendali Jarak Jauh

Klik di sini untuk mengunduh aplikasi. Pengaturan dibuat sangat mudah, cukup masukkan alamat ip lampu pintar Anda dan pilih apakah Anda ingin mengontrol hanya LED RGB atau RGB + LED putih hangat dan dingin.

Seperti yang dijelaskan pada langkah sebelumnya, Anda sekarang tahu protokol pesan apa yang digunakan aplikasi. Ini mengirim permintaan http GET dengan URL. Ini berarti Anda juga dapat membuat sirkuit mikrokontroler Anda sendiri, dan masih menggunakan aplikasi ini untuk mengontrol fungsi yang Anda kembangkan sendiri.

Karena kami telah benar-benar melihat jauh ke dalam protokol pesan, Anda juga dapat mengontrol lampu pintar dengan apa pun yang mampu mengirimkan permintaan http GET. Ini berarti browser apa pun di ponsel atau komputer, atau perangkat rumah pintar atau asisten seperti Alexa atau Asisten Google.

Tasker adalah aplikasi yang pada dasarnya memungkinkan Anda membuat kondisi untuk mengontrol hampir semua hal. Saya menggunakannya untuk mem-flash lampu pintar dengan warna pemberitahuan ketika saya menerimanya di ponsel saya. Saya juga mengatur tasker untuk menyalakan lampu dengan warna putih penuh, ketika telepon terhubung ke WiFi rumah saya setelah pukul 16:00 pada hari kerja. Itu artinya lampu menyala secara otomatis ketika saya pulang dari sekolah. Sangat keren untuk pulang dengan lampu menyala secara otomatis!

Langkah 10: Pencetakan 3D

Pencetakan 3D
Pencetakan 3D

Kotak lampu itu sendiri dapat dicetak hampir sepenuhnya tanpa penyangga. Satu-satunya bagian yang benar-benar membutuhkan dukungan adalah pasak yang dimaksudkan untuk dipasangkan dengan PCB. Oleh karena itu saya membuat stl tersedia baik dengan dan tanpa struktur pendukung kecil hanya untuk pasak ini. Keuntungan menggunakan custom support ini adalah pencetakannya jauh lebih cepat! Dan kami hanya mendapatkan dukungan pencetakan pada bagian yang benar-benar membutuhkannya.

Anda dapat mengunduh file.stl di sini

Langkah 11: Bawa Semuanya Bersama

Bawa Semuanya Bersama-sama
Bawa Semuanya Bersama-sama
Bawa Semuanya Bersama-sama
Bawa Semuanya Bersama-sama
Bawa Semuanya Bersama-sama
Bawa Semuanya Bersama-sama

Setelah pencetakan 3D, mulailah dengan menghapus dukungan pencetakan. Kabel daya masuk ke saluran terpisah dan diikat menjadi satu. Simpul ini akan membuat pelepas regangan mencegah kabel dari robekan pada PCB. Solder kabel daya ke bagian belakang PCB dan pastikan Anda mendapatkan polaritas yang benar!

PCB kontrol kemudian diikat dengan selotip agar tetap rata di dalam casing. PCB LED dapat dengan mudah diletakkan di tempatnya di mana ia diletakkan rata dengan kasingnya sendiri.

Langkah 12: Menggantung Lampu

Menggantung Lampu
Menggantung Lampu
Menggantung Lampu
Menggantung Lampu
Menggantung Lampu
Menggantung Lampu

Ada banyak pilihan untuk menggantung lampu ini ke dinding. Karena saya mungkin terus memperbarui kode untuk memperbaiki lampu, saya ingin cara mematikan lampu dari waktu ke waktu. Anda dapat menggunakan lem panas, tetapi saya merekomendasikan beberapa selotip dua sisi. Sebaiknya gunakan selotip dua sisi yang tebal dan berbusa karena selotip ini menahan lampu paling baik di dinding bertekstur.

Langkah 13: Selesai

Selesai
Selesai
Selesai
Selesai
Selesai
Selesai

Dengan lampu di dinding dan siap menerima perintah itu berarti Anda sudah selesai!

Panel LED miring sedemikian rupa sehingga menyebarkan cahaya secara merata di dalam ruangan. Ini adalah tambahan yang bagus untuk ruang kerja apa pun dan kemampuan untuk berintegrasi dengan otomatisasi rumah adalah nilai tambah yang bagus. Saya sangat menyukai kemampuan untuk mengatur warna RGB serta menyesuaikan white balance antara cahaya dingin dan hangat. Ini terlihat gaya dan sangat membantu untuk mengatur lampu ambient atau kerja, agar sesuai dengan kebutuhan pencahayaan apa pun yang saya miliki saat ini.

Selamat, Anda sekarang telah melakukan lompatan besar ke dunia IoT dan otomatisasi rumah!