Sisukord:
- Tarvikud
- Samm: idee
- Samm: plokkskeem
- 3. samm: programmeerimine
- Samm 4: Skeem ja jootmine
- Samm: Androidi rakendus
Video: IoT Kuu lamp: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles juhendis näitan, kuidas muuta lihtne patareitoitega LED -lamp IoT -seadmeks.
See projekt sisaldab:
- jootmine;
- ESP8266 programmeerimine Arduino IDE -ga;
- android -rakenduse tegemine MIT App Inventoriga.
Huvipakkuv objekt on see kuukujuline lamp, mille ostsin käigukastist. Kuid tõesti saab seda õpetust kohandada mis tahes madalpingeseadmega (vahelduvvoolutoitega seadmed vajavad täiendavat vooluahelat).
Tarvikud
- Androidi nutitelefon (testitud Androidi versioonid 7-9).
- Jootetööriistad.
- PCB prototüüpimine (protoboard).
- ESP-12E plaat (või muu ESP8266 mikrokontrolleriga devboard).
- USB-jadamuundur programmeerimiseks.
- Mitu erinevat passiivkomponendi väärtust (takistid ja kondensaatorid).
(Valikuline. Vt jaotis "Plokkskeem")
- 3.3V@500mA LDO IC.
- 3.3V-5V loogika taseme muunduri plaat.
- 5V alalisvoolu toide.
Samm: idee
Kuulampi toidab üks Li-ION 18650 rakk ja sellel on 3 töörežiimi:
- väljas;
- käsiraamat;
- auto.
Käsirežiimis juhitakse lampi nupuga, iga vajutus muudab LED -tulede olekut (sinine põleb, oranž põleb, mõlemad on sisse ja välja), valgustugevus muutub, hoides nuppu all. Automaatrežiimis muutub LED -tuli olekuks, koputades või raputades lampi ennast.
Otsustasin lisada ESP8266 veebiserveriks, mis kuulab päringuid ja simuleerib vastavalt nupuvajutusi. Ma ei tahtnud lõhkuda lambi esialgset funktsionaalsust, vaid tahtsin lisada WiFi kaudu täiendavaid juhtimisfunktsioone, seega valisin LED -ide otsese juhtimise asemel nupuvajutuste simuleerimiseks ESP. Samuti võimaldas see mul minimaalselt suhelda originaalskeemidega.
Kui prototüüp tehti, juhtis see pidevalt ~ 80mA aku väljalülitatud olekus (~ 400mA täieliku heleduse korral). Ooterežiim on suur, sest ESP8266 töötab serverina ja on alati WiFi -ga ühendatud ning kuulab päringuid. Aku sai tühjaks pooleteise päeva pärast ainult väljalülitatud olekus, nii et hiljem otsustasin kasutada lampide USB -laadimisporti, et toita kogu elektroonikat välisest 5 V toiteallikast ja tühjendada aku koos (kuid see on valikuline).
Samm: plokkskeem
Plokkskeemil näete, millist vooluahelat lisatakse ja kuidas olemasolevat vooluringi muudetakse. Minu puhul eemaldasin aku täielikult ja lühistasin akulaadijate IC sisendi väljundiga (see on jällegi valikuline). Diagrammi läbipaistvad plokid näitavad komponente, millest on mööda mindud (kuigi nupp töötab endiselt algselt ette nähtud viisil).
Dokumentide kohaselt talub ESP8266 ainult 3,3 V, kuid on palju näiteid, kui ESP8266 töötab 5 V korral täiesti hästi, nii et loogika taseme muunduri ja 3,3 V LDO võib välja jätta, kuid jäin parima tava juurde ja lisasin need komponendid.
Kasutasin 3 ESP8266 I/O kontakti ja ADC tihvti. Üks digitaalne väljundnõel on nupuvajutuste simuleerimiseks, kaks digitaalset sisendit, et tuvastada, mis värvi LED -id põlevad (sellest saame aru, millises olekus on MCU ja mis olek on järgmine pärast nupuvajutust). ADC pin mõõdab sisendpinget (läbi pingejaguri), nii saame jälgida aku järelejäänud laetuse taset.
Välise toiteallikana kasutan vana telefonilaadijat 5V@1A (ärge kasutage kiirlaadijaid).
3. samm: programmeerimine
Lühidalt öeldes töötab programm nii (lisateabe saamiseks vaadake koodi ennast):
ESP8266 loob ühenduse teie WiFi pääsupunktiga, mille mandaadi peate enne programmeerimist koodi algusesse sisestama, see saab teie ruuterite DHCP -serverilt IP -aadressi, et hiljem teada saada, saate kontrollida ruuterite veebiliidese DHCP -seadeid või määrata silumislipp koodis 1 ja näete, mida IP ESP seeriamonitoris sai (peaksite selle ruuteri seadetes reserveerima, et ESP saaks alglaadimisel alati sama IP).
Initsialiseeritud MCU täidab alati sama rutiini igavesti:
- Kontrollige, kas see on ikka veel AP -ga ühendatud, kui mitte, proovige uuesti ühendust luua, kuni see õnnestub.
-
Oodake, kuni klient esitab HTTP -päringu. Kui taotlus toimub:
- Kontrollige sisendpinget.
- Kontrollige, millises olekus LED -id on.
- Vastake HTTP päringule teadaolevate LED -olekutega (sinine sisse, oranž sisse, mõlemad sisse ja välja).
- Simuleerige soovitud oleku saavutamiseks nii palju nupuvajutusi kui vaja.
Kirjeldan lühidalt programmeerimisjuhiseid, kui esmakordselt programmeerite ESP8266 MCU, otsige põhjalikumaid juhiseid.
Teil on vaja Arduino IDE-d ja USB-jadaliidese muundurit (näiteks FT232RL). IDE ettevalmistamiseks järgige neid juhiseid.
Programmeerimiseks ühendage ESP-12E moodul skeemiga. Mõned näpunäited:
- kasutage välist toiteallikat 3.3V@500mA (enamikul juhtudel ei piisa USB-jadast);
- kontrollige, kas teie USB-jadamuundur ühildub 3,3 V loogika tasemega;
- kontrollige, kas USB-jadamuunduri draiverid on edukalt installitud (Windowsi seadmehaldurist). Samuti saate kontrollida, kas see töötab õigesti IDE-st, vaid lühikesed RX- ja TX-nööpnõelad, kui IDE-st valige COM-port, avage jadamonitor ja kirjutage midagi, kui kõik töötab sa peaksid nägema konsoolis kuvatavat teksti;
- millegipärast sain ESP-i programmeerida alles siis, kui ühendasin esmalt arvutiga USB-jadamuunduri ja seejärel lülitasin ESP sisse välisest 3,3 V allikast;
- pärast edukat programmeerimist ärge unustage järgmisel käivitamisel GPIO0 kõrgele tõmmata.
Samm 4: Skeem ja jootmine
Järgige skeemi kõigi komponentide jootmiseks protoboardile. Nagu varem mainitud, on mõned komponendid valikulised. Kasutasin KA78M33 3.3V LDO IC-d ja seda loogika taseme muundurplaati sparkfunist, alternatiivina saate muunduri ise teha, nagu on näidatud skemaatiliselt (BSS138 asemel võite kasutada mis tahes N-kanaliga mosfetti). Kui jääte Li-ION aku kasutamisele, on +5V toitevõrk aku positiivne klemm. ESP8266 ADC võrdluspinge on 1V, minu valitud takisti jagaja väärtused võimaldavad mõõta sisendpinget koguni 5,7V.
Lambi originaalplaadiga peaks olema 5 ühendust: +5 V (või +aku), GND, nupp, lampide MCW PWM -signaalid sinise ja oranži LED -de juhtimiseks. Kui lülitate lampi sisse 5 V toiteallikast, nagu ma tegin, soovite akulaadijate IC VCC tihvti OUTPUT -piniga lühistada, nii et kogu elektroonika saab toite otse +5 V, mitte akulaadija väljundist.
Järgige teist pilti kõigi jootmispunktide jaoks, mida peate lampide trükkplaadile tegema.
MÄRKUSED:
- Kui otsustasite akulaadija IC -väljundiga +5 V lühistada, eemaldage aku enne seda täielikult, te ei soovi +5 V otse akuga ühendada.
- Pöörake tähelepanu sellele, millise vajutusnupu abil joote ESP väljundi, sest 2 nööpnõela nööpi on ühendatud maandusega ja te ei soovi lühist teha, kui ESP väljund läheb kõrgeks, parem kontrollige multimeetrit.
Samm: Androidi rakendus
Androidi rakendus tehti koos MIT -i rakenduse leiutajaga. Rakenduse ja/või kloonimisprojekti enda jaoks allalaadimiseks minge sellele lingile (selle kasutamiseks on vaja Google'i kontot).
Esmakordsel käivitamisel peate avama seaded ja sisestama oma ESP8266 IP -aadressi. See IP salvestatakse, nii et pärast programmi taaskäivitamist pole seda vaja uuesti sisestada.
Rakendust on testitud mitme Android 9 ja Android 7 seadmega.
Soovitan:
Taaskasutatud Kuu faasi lamp: 15 sammu
Taaskasutatud Kuu faasi lamp: see lamp on valmistatud plastpurgist ja süttib kaane pingutamisel. Kuu erinevate faaside kuvamiseks saate muuta siluetti
3D -sülearvuti, mille olen viimase 6 kuu jooksul edasi lükanud: 3 sammu
3D -sülearvuti, mida olen viimase 6 kuu jooksul edasi lükanud: see on sülearvuti 3D -disain, millega ma umbes 6 kuud tagasi lõpetasin. Ja siis hakkasin seda umbes nädal tagasi lõpetama. Loodan, et naudite!: D
Kuu Lander 64: 3 sammu
Lunar Lander 64: See juhend on mõeldud arvutimängule, mille kirjutasin üle 34 aasta tagasi 1984. aastal, kui olin 14 -aastane. See oli kirjutatud Commodore 64 koduarvutisse, mis oli ühendatud minu magamistoas kaasaskantava teleriga, ammu enne Windowsi -põhiste arvutite aegu. Arvuti langeb
Kiire EKG või muude andmete pidev registreerimine kuu aja jooksul: 6 sammu
Kiire EKG või muude andmete pidev registreerimine üle kuu aja: see projekt töötati välja selleks, et toetada ülikooli meditsiinilist uurimisrühma, kes vajas kantavat, mis suudaks registreerida 2 x EKG signaali kiirusega 1000 proovi sekundis (kokku 2 000 proovi sekundis) rütmihäirete avastamiseks pidevalt 30 päeva jooksul. Projekt esitab
Maa ja kuu maagiline peegel: 4 sammu
Maa ja Kuu maagiline peegel: tahvelarvutiga töötav maagiline peeglikell, mis näitab Kuu / Maad ja praeguseid välitingimusi