Sisukord:

IoT Kuu lamp: 5 sammu
IoT Kuu lamp: 5 sammu

Video: IoT Kuu lamp: 5 sammu

Video: IoT Kuu lamp: 5 sammu
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
IoT Kuu lamp
IoT Kuu lamp

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

  1. Androidi nutitelefon (testitud Androidi versioonid 7-9).
  2. Jootetööriistad.
  3. PCB prototüüpimine (protoboard).
  4. ESP-12E plaat (või muu ESP8266 mikrokontrolleriga devboard).
  5. USB-jadamuundur programmeerimiseks.
  6. Mitu erinevat passiivkomponendi väärtust (takistid ja kondensaatorid).

(Valikuline. Vt jaotis "Plokkskeem")

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V loogika taseme muunduri plaat.
  3. 5V alalisvoolu toide.

Samm: idee

Idee
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

Plokiskeem
Plokiskeem

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

Programmeerimine
Programmeerimine
Programmeerimine
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:

  1. Kontrollige, kas see on ikka veel AP -ga ühendatud, kui mitte, proovige uuesti ühendust luua, kuni see õnnestub.
  2. Oodake, kuni klient esitab HTTP -päringu. Kui taotlus toimub:

    1. Kontrollige sisendpinget.
    2. Kontrollige, millises olekus LED -id on.
    3. Vastake HTTP päringule teadaolevate LED -olekutega (sinine sisse, oranž sisse, mõlemad sisse ja välja).
    4. 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

Skeem ja jootmine
Skeem ja jootmine
Skeem ja jootmine
Skeem ja jootmine
Skeem ja jootmine
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:

  1. Kui otsustasite akulaadija IC -väljundiga +5 V lühistada, eemaldage aku enne seda täielikult, te ei soovi +5 V otse akuga ühendada.
  2. 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
Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus
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: