Isi kandungan:
- Bekalan
- Langkah 1: Idea
- Langkah 2: Gambarajah Blok
- Langkah 3: Pengaturcaraan
- Langkah 4: Skematik dan Pematerian
- Langkah 5: Aplikasi Android
Video: Lampu Bulan IoT: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Dalam instruksional ini saya menunjukkan cara menukar lampu LED berkuasa bateri sederhana ke peranti IoT.
Projek ini merangkumi:
- pematerian;
- pengaturcaraan ESP8266 dengan Arduino IDE;
- membuat aplikasi android dengan MIT App Inventor.
Objek yang menarik ialah lampu berbentuk bulan ini yang saya beli dari gearbest. Tetapi benar-benar tutorial ini dapat disesuaikan dengan mana-mana peranti voltan DC rendah (peranti berkuasa AC memerlukan litar tambahan).
Bekalan
- Telefon pintar Android (versi android 7-9 diuji).
- Alat pematerian.
- Prototaip PCB (protoboard).
- Papan ESP-12E (atau papan pemuka lain dengan mikrokontroler ESP8266).
- Penukar bersiri USB untuk pengaturcaraan.
- Beberapa nilai komponen pasif yang berbeza (perintang dan kapasitor).
(Pilihan. Lihat bahagian "Diagram Blok")
- 3.3V@500mA LDO IC.
- Papan penukar tahap logik 3.3V-5V.
- Bekalan kuasa 5V DC.
Langkah 1: Idea
Lampu bulan dikuasakan oleh satu sel Li-ION 18650 dan ia mempunyai 3 mod operasi:
- mati;
- manual;
- kereta.
Dalam lampu mod manual dikendalikan dengan tombol tekan, setiap tekan mengubah keadaan lampu LED (biru menyala, oren menyala, keduanya hidup, mati), intensiti cahaya berubah sambil menekan butang tekan. Dalam mod automatik lampu LED menyatakan perubahan dengan mengetuk atau menggoyangkan lampu itu sendiri.
Saya memutuskan untuk menambahkan ESP8266 untuk bertindak sebagai pelayan web yang mendengar permintaan dan mensimulasikan penekanan butang. Saya tidak mahu mematahkan fungsi lampu asli, hanya ingin menambahkan ciri kawalan tambahan melalui WiFi, jadi saya memilih ESP untuk mensimulasikan penekanan butang dan bukannya mengendalikan LED secara langsung. Ini juga membolehkan saya berinteraksi secara minimum dengan litar asal.
Semasa prototaip dilakukan, ia mengeluarkan ~ 80mA secara berterusan dari bateri dalam keadaan mati (~ 400mA pada kecerahan penuh). Arus siap sedia tinggi kerana ESP8266 berfungsi sebagai pelayan dan selalu disambungkan ke WiFi dan mendengar permintaan. Bateri habis setelah satu setengah hari hanya dalam keadaan mati, jadi kemudian saya memutuskan untuk menggunakan lampu pengecasan USB lampu untuk menghidupkan semua elektronik dari bekalan kuasa 5V luaran dan membuang bateri bersama-sama (tetapi ini adalah pilihan).
Langkah 2: Gambarajah Blok
Dalam gambarajah blok anda dapat melihat litar apa yang akan ditambahkan dan bagaimana litar yang ada akan diubah suai. Dalam kes saya, saya telah mengeluarkan bateri sepenuhnya dan memendekkan input IC pengecas bateri dengan output (sekali lagi, ini adalah pilihan). Blok lutsinar dalam rajah menunjukkan komponen yang dipintas (walaupun butang tekan tetap berfungsi seperti yang diinginkan pada asalnya).
Menurut dokumentasi ESP8266 bertoleransi hanya 3.3V, namun terdapat banyak contoh ketika ESP8266 berfungsi dengan baik dengan 5V, jadi penukar tahap logik dan 3.3V LDO dapat ditinggalkan, namun saya tetap menggunakan amalan terbaik dan menambahkan komponen tersebut.
Saya menggunakan 3 pin I / O ESP8266 dan pin ADC. Satu pin output digital adalah untuk mensimulasikan penekanan butang, dua input digital adalah untuk mengesan LED warna apa (dari ini kita dapat mengetahui di mana keadaan MCU dan keadaan mana yang berikutnya selepas menekan butang). Pin ADC mengukur voltan input (melalui pembahagi voltan), begitulah cara kita dapat memantau baki tahap pengisian bateri.
Sebagai bekalan kuasa luaran saya menggunakan pengecas telefon lama 5V @ 1A (jangan gunakan pengecas pantas).
Langkah 3: Pengaturcaraan
Secara ringkasnya program berfungsi seperti ini (untuk maklumat lebih lanjut, lihat kod itu sendiri):
ESP8266 menghubungkan ke titik akses WiFi anda yang mana kredensial yang mesti anda masukkan pada awal kod pengaturcaraan sebelumnya, ia mendapat alamat IP dari pelayan DHCP pelayan anda, untuk mengetahui IP yang anda perlukan kemudian, anda boleh menyemak tetapan atau tetapan DHCP antara muka web router debugging flag dalam kod ke 1 dan anda akan melihat IP ESP apa yang terdapat di monitor bersiri (anda harus menempah IP tersebut dalam tetapan router anda agar ESP sentiasa mendapat IP yang sama semasa boot).
Apabila MCU yang dimulakan, selalu melaksanakan rutin yang sama selama-lamanya:
- Periksa sama ada masih tersambung ke AP, jika tidak cuba menyambung semula sehingga berjaya.
-
Tunggu klien membuat permintaan HTTP. Apabila permintaan berlaku:
- Periksa voltan input.
- Periksa keadaan LED mana.
- Padankan permintaan HTTP dengan keadaan LED yang diketahui (warna biru, oren aktif, keduanya aktif, mati).
- Simulasikan begitu banyak penekanan butang tekan yang diperlukan untuk mencapai keadaan yang diminta.
Saya akan menerangkan secara ringkas arahan pengaturcaraan, jika kali pertama anda memprogramkan ESP8266 MCU, cari arahan yang lebih mendalam.
Anda memerlukan penukar antara muka Arduino IDE dan USB-serial (contohnya FT232RL). Untuk menyediakan IDE, ikuti arahan ini.
Ikuti rajah litar untuk menyambungkan modul ESP-12E untuk pengaturcaraan. Sedikit tips:
- gunakan bekalan kuasa 3.3V@500mA luaran (dalam kebanyakan kes, bekalan kuasa bersiri USB tidak mencukupi);
- periksa sama ada penukar siri USB anda bersesuaian dengan tahap logik 3.3V;
- periksa sama ada pemacu penukar bersiri USB berjaya dipasang (dari pengurus peranti tingkap) juga anda boleh memeriksa sama ada ia berfungsi dengan betul dari IDE, hanya pin RX dan TX pendek, daripada dari port COM pilih IDE, buka monitor bersiri dan tulis sesuatu, jika semuanya berfungsi anda akan melihat teks yang anda hantar muncul di konsol;
- atas sebab-sebab tertentu, saya dapat memprogramkan ESP hanya ketika saya pertama kali menghubungkan USB-serial converter ke PC dan kemudian menghidupkan ESP dari sumber 3.3V luaran;
- setelah berjaya memprogramkan jangan lupa untuk menarik tinggi GPIO0 pada boot seterusnya.
Langkah 4: Skematik dan Pematerian
Ikuti skema untuk menyolder semua komponen ke protoboard. Seperti yang dinyatakan sebelum ini, beberapa komponen adalah pilihan. Saya menggunakan KA78M33 3.3V LDO IC dan papan penukar tahap logik ini dari sparkfun, sebagai alternatif, anda boleh membuat penukar sendiri seperti yang ditunjukkan dalam skema (anda boleh menggunakan mosfet saluran-N dan bukan BSS138). Sekiranya anda tetap menggunakan bateri Li-ION, rangkaian kuasa + 5V akan menjadi terminal positif bateri. Voltan rujukan AD8 ESP8266 adalah 1V, nilai pembahagi perintang pilihan saya memungkinkan untuk mengukur voltan input setinggi 5.7V.
Harus ada 5 sambungan ke PCB lampu asal: + 5V (atau + Bateri), GND, butang tekan, isyarat PWM dari lampu MCU untuk mengawal LED biru dan oren. Sekiranya anda menyalakan lampu dari sumber 5V, seperti yang saya lakukan, anda pasti ingin menyingkat pengecas bateri IC VCC pin dengan pin OUTPUT, dengan cara itu semua elektronik akan dihidupkan terus dari + 5V dan bukan dari pengecas bateri OUTPUT.
Ikuti gambar kedua untuk semua titik pateri yang perlu anda buat pada lampu PCB.
CATATAN:
- Sekiranya anda memutuskan untuk memendekkan + 5V dengan output IC pengecas bateri, keluarkan bateri sepenuhnya sebelum melakukannya, anda tidak mahu menyambungkan + 5V secara langsung ke bateri.
- Perhatikan pin butang tekan mana yang anda solder output ESP, kerana 2 pin butang tekan disambungkan ke tanah dan anda tidak mahu membuat litar pintas apabila output ESP menjadi TINGGI, lebih baik periksa semula dengan multimeter.
Langkah 5: Aplikasi Android
Aplikasi Android dibuat dengan penemu aplikasi MIT, untuk memuat turun aplikasi dan / atau projek klon untuk anda sendiri, pergi ke pautan ini (anda memerlukan akaun google untuk mengaksesnya).
Pada pelancaran pertama, anda perlu membuka tetapan dan memasukkan alamat IP ESP8266 anda. IP ini akan disimpan sehingga tidak perlu memasukkannya lagi setelah program dimulakan semula.
Aplikasi diuji dengan beberapa peranti android 9 dan android 7.
Disyorkan:
E-Dakwat: Bulan / ISS / Orang di Angkasa : 6 Langkah
E-Ink: Moon / ISS / People in Space …: Saya mempunyai HAT Raspberry dan e-Paper dan saya mahu menggunakannya untuk menunjukkan maklumat seperti di mana ISS atau berapa banyak orang yang ada di ruang ini sekarang .. . Saya menyatakan untuk melihat apakah ada API di Internet untuk mendapatkan data tersebut, dan saya menjumpainya. OK, gotcha !!!! Tunggu
Komputer riba 3D yang telah saya letakkan selama 6 bulan yang lalu: 3 Langkah
Komputer riba 3D yang telah saya letakkan selama 6 bulan yang lalu: Ini adalah reka bentuk 3D komputer riba yang saya berhenti bekerja kira-kira 6 bulan yang lalu. Dan kemudian, saya mula menyelesaikannya kira-kira seminggu yang lalu. Saya harap anda menikmatinya!: D
Jam Bulan Dengan Naga: 8 Langkah (dengan Gambar)
Moon Clock With Dragon: *** Entri di blog saya https://blog.familie-fratila.de/bone-dragon-moonlight-clock/ *** Beberapa waktu yang lalu saya membina jam untuk ruang tamu saya, kerana saya tidak menemui apa-apa untuk dibeli yang mempunyai rekaan yang paling tidak boleh diterima :-) Sudah tentu anak saya melihat ini mempunyai permintaan
Airbus - Perjalanan ke Bulan V1: 23 Langkah
Airbus - Perjalanan ke Bulan V1: Berikut satu pelajaran dalam siri Airbus yang lebih besar - Ruang Penemuan - Tutorial Hidup di Bulan Tinjauan Projek: Bayangkan dapat melakukan perjalanan ke angkasa. Berlatih selama berbulan-bulan untuk meledak ke angkasa lepas dan mengunjungi ruang antarabangsa
UVIL: Lampu Malam Lampu Latar Hitam (atau Lampu Petunjuk SteamPunk): 5 Langkah (dengan Gambar)
UVIL: Lampu Latar Lampu Latar Hitam (atau Lampu Indikator SteamPunk): Cara memasang lampu penunjuk ultraviolet neo-retropostmodern yang menyala yang mengerikan. Ini menunjukkan pembinaan dua yang pertama yang saya buat sebagai kaedah untuk menilai proses etsa PCB yang digariskan dalam Instruktif lain . Idea saya adalah menggunakan ini kerana saya