Obsah:

Mesačná lampa IoT: 5 krokov
Mesačná lampa IoT: 5 krokov

Video: Mesačná lampa IoT: 5 krokov

Video: Mesačná lampa IoT: 5 krokov
Video: Камера-ЛАМПА со слежением и определением человека. 2024, November
Anonim
Mesačná lampa IoT
Mesačná lampa IoT

V tomto návode vám ukážem, ako previesť jednoduchú LED žiarovku napájanú z batérie na zariadenie IoT.

Tento projekt zahŕňa:

  • spájkovanie;
  • programovanie ESP8266 s Arduino IDE;
  • vytváranie aplikácií pre Android pomocou MIT App Inventor.

Objektom záujmu je táto lampa v tvare mesiaca, ktorú som kúpil od GearBest. Tento návod je však skutočne možné prispôsobiť akémukoľvek zariadeniu nízkeho napätia DC (zariadenia napájané striedavým prúdom vyžadujú ďalšie obvody).

Zásoby

  1. Smartfón s Androidom (testované verzie Androidu 7-9).
  2. Spájkovacie nástroje.
  3. Prototypovanie DPS (protoboard).
  4. Doska ESP-12E (alebo iný devboard s mikrokontrolérom ESP8266).
  5. USB-sériový prevodník na programovanie.
  6. Niekoľko rôznych hodnôt pasívnych komponentov (odpory a kondenzátory).

(Voliteľné. Pozrite si časť „Blokový diagram“)

  1. 3.3V@500mA LDO IC.
  2. Doska prevodníka logickej úrovne 3,3V-5V.
  3. Napájanie 5 V DC.

Krok 1: Myšlienka

Nápad
Nápad

Mesačná lampa je napájaná jedným článkom Li-ION 18650 a má 3 prevádzkové režimy:

  • vypnuté;
  • Manuálny;
  • auto.

V manuálnom režime sa lampa ovláda tlačidlom, každé stlačenie zmení stav LED diódy (modrá zapnutá, oranžová zapnutá, zapnutá, vypnutá), intenzita svetla sa zmení podržaním stlačeného tlačidla. V automatickom režime sa svetelné diódy LED menia klepnutím alebo zatrasením samotnou lampou.

Rozhodol som sa pridať ESP8266, aby fungoval ako webový server, ktorý počúva žiadosti a podľa toho simuluje stlačenia tlačidiel. Nechcel som narušiť pôvodnú funkciu žiarovky, len som chcel pridať ďalšie funkcie ovládania cez WiFi, a tak som namiesto priameho ovládania LED diód zvolil ESP na simuláciu stlačení tlačidiel. Tiež mi to umožnilo minimálne komunikovať s pôvodnými obvodmi.

Keď bol prototyp hotový, neustále napájal ~ 80mA z batérie vo vypnutom stave (~ 400mA pri plnom jase). Pohotovostný prúd je vysoký, pretože ESP8266 funguje ako server a je vždy pripojený k WiFi a počúva požiadavky. Batéria sa vybila po jednom a pol dni iba vo vypnutom stave, a tak som sa neskôr rozhodol použiť nabíjací port USB žiaroviek na napájanie všetkej elektroniky z externého 5V zdroja a vyradenej batérie dohromady (ale toto je voliteľné).

Krok 2: Blokový diagram

Bloková schéma
Bloková schéma

V blokovom diagrame vidíte, ktoré obvody budú pridané a ako budú existujúce obvody upravené. V mojom prípade som batériu úplne vybral a skratoval IC vstup nabíjačky batérií s výstupom (opäť je to voliteľné). Priehľadné bloky v diagrame označujú komponenty, ktoré sú obídené (aj keď tlačidlo stále funguje tak, ako bolo pôvodne určené).

Podľa dokumentácie ESP8266 toleruje iba 3,3 V, existuje však veľa príkladov, keď ESP8266 funguje úplne dobre s 5 V, takže prevodník logickej úrovne a 3,3 V LDO môžu byť vynechané, zostal som však pri osvedčených postupoch a tieto komponenty som pridal.

Použil som 3 I/O piny ESP8266 a pin ADC. Jeden digitálny výstupný kolík je na simuláciu stlačení tlačidiel, dva digitálne vstupy slúžia na zistenie toho, aké farebné LED diódy svietia (z toho môžeme zistiť, v akom stave je MCU a ktorý stav nasleduje po stlačení tlačidla). Kolík ADC meria vstupné napätie (prostredníctvom deliča napätia), takže môžeme monitorovať zostávajúcu úroveň nabitia batérie.

Ako externý zdroj napájania používam starú nabíjačku telefónu 5V@1A (nepoužívajte rýchlonabíjačky).

Krok 3: Programovanie

Programovanie
Programovanie
Programovanie
Programovanie

Stručne povedané, program funguje takto (ďalšie informácie nájdete v samotnom kóde):

ESP8266 sa pripája k vášmu prístupovému bodu WiFi, ktoré prihlasovacie údaje musíte zadať na začiatku pred programovaním kódu, získa IP adresu z vášho routera, server DHCP, aby ste zistili IP adresu, ktorú budete potrebovať neskôr, môžete skontrolovať nastavenia DHCP webového rozhrania alebo nastaviť príznak ladenia v kóde na 1 a uvidíte, čo IP ESP získal v sériovom monitore (túto IP by ste si mali vyhradiť v nastaveniach smerovačov, aby ESP pri štarte vždy dostal rovnakú IP).

Po inicializácii MCU vždy vykoná rovnakú rutinu navždy:

  1. Skontrolujte, či je stále pripojené k prístupovému bodu, ak nie, pokúste sa znova pripojiť až do úspechu.
  2. Počkajte, kým klient odošle požiadavku HTTP. Keď sa stane požiadavka:

    1. Skontrolujte vstupné napätie.
    2. Skontrolujte, v akom stave sú diódy LED.
    3. Priraďte požiadavku HTTP k známym stavom LED (modrá svieti, oranžová svieti, obidve sú zapnuté, je vypnutá).
    4. Simulujte toľko stlačení tlačidiel, koľko je potrebné, aby sa dosiahol požadovaný stav.

Stručne popíšem programovacie pokyny, ak pri prvom programovaní MCU ESP8266 MCU hľadáte podrobnejšie pokyny.

Budete potrebovať Arduino IDE a prevodník sériového rozhrania USB (napríklad FT232RL). Pri príprave IDE postupujte podľa týchto pokynov.

Pripojte modul ESP-12E na programovanie podľa schémy zapojenia. Niekoľko rád:

  • použite externý napájací zdroj 3,3 V@500 mA (vo väčšine prípadov sériové napájanie USB nestačí);
  • skontrolujte, či je váš sériový prevodník USB kompatibilný s logickou úrovňou 3,3 V;
  • skontrolujte, či sa úspešne nainštalovali ovládače sériového prevodníka USB (zo správcu zariadení systému Windows), môžete tiež skontrolovať, či funguje správne z IDE, iba z krátkych pinov RX a TX, ako z IDE vyberte port COM, otvorte sériový monitor a niečo napíšte, ak všetko funguje v konzole by sa mal zobrazovať text, ktorý odosielate;
  • z nejakého dôvodu som bol schopný naprogramovať ESP iba vtedy, keď som najskôr pripojil USB sériový prevodník k počítaču a potom napájal ESP z externého zdroja 3,3 V;
  • po úspešnom naprogramovaní nezabudnite pri ďalšom štarte vytiahnuť GPIO0 vysoko.

Krok 4: Schéma a spájkovanie

Schéma a spájkovanie
Schéma a spájkovanie
Schéma a spájkovanie
Schéma a spájkovanie
Schéma a spájkovanie
Schéma a spájkovanie

Pri spájkovaní všetkých komponentov na protoboard postupujte podľa schémy. Ako už bolo spomenuté, niektoré komponenty sú voliteľné. Použil som KA78M33 3,3 V LDO IC a túto dosku prevodníka logickej úrovne od sparkfun, alternatívne si môžete prevodník vyrobiť sami podľa schémy (namiesto BSS138 môžete použiť ľubovoľný N-kanálový mosfet). V prípade, že budete pokračovať v používaní batérie Li-ION, +5V napájacia sieť bude plusovým pólom batérie. Referenčné napätie ADP ESP8266 ADC je 1V, mnou zvolené hodnoty deliča rezistora umožňujú merať vstupné napätie až 5,7V.

K pôvodnej doske s žiarovkami by malo byť 5 pripojení: +5 V (alebo +batéria), GND, tlačidlo, signály PWM zo žiaroviek MCU na ovládanie modrej a oranžovej diódy LED. Ak napájate lampu zo zdroja 5 V, rovnako ako ja, budete chcieť skrátiť nabíjačku batérií IC VCC pin s kolíkom OUTPUT, takže všetka elektronika bude napájaná priamo z +5 V, a nie z výstupu OUTPUT nabíjačky batérií.

Nasledujte druhý obrázok pre všetky spájkovacie body, ktoré budete musieť urobiť na doske plošných spojov žiaroviek.

POZNÁMKY:

  1. Ak ste sa rozhodli skratovať +5 V pomocou výstupu IC nabíjačky batérií, najskôr batériu úplne vyberte, nechcete pripojiť +5 V priamo k batérii.
  2. Dávajte pozor na to, na ktorý pin kolíka tlačidla spájkujete výstup ESP, pretože 2 kolíky tlačidla sú spojené so zemou a nechcete skratovať, keď je výstup ESP VYSOKÝ, je lepšie to skontrolovať pomocou multimetra.

Krok 5: Aplikácia pre Android

Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android

Aplikácia pre Android bola vytvorená pomocou vynálezcu aplikácie MIT. Ak si chcete stiahnuť aplikáciu alebo klonovací projekt, kliknite na tento odkaz (na prístup k nemu budete potrebovať účet Google).

Pri prvom spustení budete musieť otvoriť nastavenia a zadať svoju IP adresu ESP8266. Táto IP adresa bude uložená, takže ju nebudete musieť zadávať znova po reštartovaní programu.

Aplikácia testovaná s niekoľkými zariadeniami Android 9 a Android 7.

Odporúča: