INHOUDSOPGAWE:

IoT Moon Lamp: 5 stappe
IoT Moon Lamp: 5 stappe

Video: IoT Moon Lamp: 5 stappe

Video: IoT Moon Lamp: 5 stappe
Video: 1 Чайная ложечка под любой домашний цветок и пышное цветение вам обеспечено!Цветет Вмиг +10 рецептов 2024, November
Anonim
IoT maanlamp
IoT maanlamp

In hierdie instruksies wys ek hoe u 'n eenvoudige LED -lamp met 'n battery kan omskakel in 'n IoT -toestel.

Hierdie projek sluit in:

  • soldeer;
  • programmeer ESP8266 met Arduino IDE;
  • maak 'n Android -toepassing met MIT App Inventor.

Die voorwerp van belang is hierdie maanvormige lamp wat ek van gearbest gekoop het. Maar hierdie tutoriaal kan regtig aangepas word vir enige lae GS -toestelle (toestelle wat op wisselstroom aangedryf word, benodig ekstra stroombane).

Voorrade

  1. Android-slimfoon (Android-weergawes 7-9 getoets).
  2. Soldeergereedskap.
  3. Prototipe PCB (protobord).
  4. ESP-12E-bord (of ander devboard met ESP8266-mikrobeheerder).
  5. USB-reeksomskakelaar vir programmering.
  6. Verskeie verskillende waardes van passiewe komponente (weerstande en kapasitors).

(Opsioneel. Sien afdeling "Blokdiagram")

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V logika-omskakelbord.
  3. 5V DC kragbron.

Stap 1: Idee

Idee
Idee

Die maanlamp word aangedryf deur een Li-ION 18650-sel en dit het 3 werkingsmetodes:

  • af;
  • handleiding;
  • outomaties.

In die handmatige modus word die lamp met die drukknop beheer, elke druk verander die LED -ligtoestand (blou aan, oranje aan, beide aan, af), ligintensiteit verander terwyl die drukknop ingedruk word. In die outomatiese modus verander die LED -ligstoestande deur op die lamp self te tik of te skud.

Ek het besluit om ESP8266 by te voeg om op te tree as 'n webbediener wat na versoeke luister en dienooreenkomstig knoppies druk. Ek wou nie die oorspronklike funksie van die lamp breek nie, ek wou net ekstra beheerfunksies byvoeg oor WiFi, so ek het ESP gekies om knoppies te druk in plaas van om LED's direk te beheer. Dit het my ook in staat gestel om minimaal met die oorspronklike stroombane te kommunikeer.

Toe die prototipe gedoen is, het dit ~ 80mA voortdurend van die battery af in 'n af -toestand gery (~ 400mA op volle helderheid). Die bystandstroom is hoog, want ESP8266 werk as 'n bediener en is altyd aan WiFi gekoppel en luister na versoeke. Die battery is na een en 'n half dag net leeg, maar later het ek besluit om die USB -laaipoort van lampe te gebruik om alle elektronika van 'n eksterne 5V -kragtoevoer aan te dryf en die battery saam te laat val (maar dit is opsioneel).

Stap 2: Blokdiagram

Blokdiagram
Blokdiagram

In die blokdiagram kan u sien watter stroombane bygevoeg sal word en hoe die bestaande stroombane verander sal word. In my geval het ek die battery heeltemal verwyder en die IC -ingang van die laaiers ingekort met uitset (dit is weer opsioneel). Deursigtige blokke in die diagram dui komponente aan wat omseil word (hoewel die drukknop steeds werk soos oorspronklik bedoel).

Volgens dokumentasie verdra ESP8266 slegs 3.3V, maar daar is baie voorbeelde wanneer ESP8266 heeltemal goed werk met 5V, sodat logiese vlakomskakelaar en 3.3V LDO uitgelaat kan word, maar ek het by beste praktyk gebly en die komponente bygevoeg.

Ek het 3 ESP8266 I/O -penne en ADC -pen gebruik. Een digitale uitsetpen is vir die nabootsing van knoppies, twee digitale insette is om op te spoor watter LED's in kleur is (hieruit kan ons uitvind in watter toestand MCU is en watter toestand volgende is nadat die knoppie gedruk is). Die ADC -pen meet die ingangsspanning (deur 'n spanningsverdeler), so kan ons die oorblywende batteryladingsvlak monitor.

As eksterne kragtoevoer gebruik ek ou telefoonlaaier 5V@1A (gebruik nie snelladers nie).

Stap 3: Programmering

Programmering
Programmering
Programmering
Programmering

In 'n neutedop program werk so (vir meer inligting, sien kode self):

ESP8266 maak verbinding met u WiFi -toegangspunt, watter geloofsbriewe u in die begin van die kode moet invoer, dit kry IP -adres van u routers DHCP -bediener, om uit te vind watter IP u later benodig ontfout die vlag in kode na 1, en u sal sien wat die IP ESP in die seriële monitor gekry het (u moet die IP in u router -instellings voorbehou, sodat ESP altyd dieselfde IP -adres sal kry).

As die geïnisialiseerde MCU altyd dieselfde roetine vir altyd uitvoer:

  1. Kontroleer of dit steeds aan AP gekoppel is, en probeer dan nie weer koppel totdat dit suksesvol is nie.
  2. Wag totdat die kliënt HTTP -versoek gestuur het. As versoek gebeur:

    1. Kontroleer die ingangsspanning.
    2. Kyk in watter toestand LED's is.
    3. Pas HTTP -versoek by bekende LED -toestande (blou aan, oranje aan, beide aan, af).
    4. Simuleer soveel drukknoppies as wat nodig is om die verlangde toestand te bereik.

Ek sal die programmeringsinstruksies kortliks beskryf, as dit die eerste keer is dat u die ESP8266 MCU vir die eerste keer programmering soek vir meer diepgaande instruksies.

U benodig Arduino IDE en USB-seriële koppelvlakomskakelaar (byvoorbeeld FT232RL). Volg hierdie instruksies om IDE voor te berei.

Volg kringdiagram om die ESP-12E-module aan te sluit vir programmering. 'N Paar wenke:

  • gebruik eksterne 3.3V@500mA kragtoevoer (in die meeste gevalle is USB-seriële kragtoevoer nie genoeg nie);
  • kyk of u USB-reeksomskakelaar 3.3V logika-vlak versoenbaar is;
  • kyk of die bestuurders van die USB-seriële omskakelaar suksesvol geïnstalleer is (vanaf Windows Device Manager), en u kan kyk of dit korrek werk vanaf IDE, net kort RX- en TX-penne, as vanaf IDE Select COM-poort, maak die seriële monitor oop en skryf iets, as alles werk u moet die teks wat u stuur in die konsole verskyn;
  • Om een of ander rede kon ek ESP eers programmeer toe ek die eerste keer 'n USB-reeksomskakelaar op 'n rekenaar gekoppel het en daarna ESP aangeskakel het van eksterne 3.3V-bron;
  • na suksesvolle programmering, vergeet nie om GPIO0 hoog te trek by die volgende opstart nie.

Stap 4: Skematiese en soldeer

Skematiese en soldeer
Skematiese en soldeer
Skematiese en soldeer
Skematiese en soldeer
Skematiese en soldeer
Skematiese en soldeer

Volg die skema om alle komponente aan protoboard te soldeer. Soos reeds genoem, is sommige komponente opsioneel. Ek het KA78M33 3.3V LDO IC gebruik en hierdie logika-vlak-omskakelbord van sparkfun, alternatiewelik kan u self omskakelaar maak soos in die skematiese voorstelling (u kan enige N-kanaal mosfet in plaas van BSS138 gebruik). As u nie die Li-ION-battery gebruik nie, is 'n 5V-kragnetwerk 'n positiewe terminaal vir die battery. ESP8266 ADC verwysingspanning is 1V, met my gekose weerstandsverdelerwaardes kan die insetspanning so hoog as 5,7V gemeet word.

Daar moet 5 verbindings wees met die oorspronklike PCB -lamp: +5V (of +battery), GND, drukknop, PWM -seine van lampe MCU vir die beheer van blou en oranje LED's. As u die lamp van 'n 5V -bron aanstuur, soos ek, wil u die IC VCC -pen van die laaiers kort met die OUTPUT -pen, sodat alle elektronika direk van +5V aangedryf word, en nie van die laaier OUTPUT nie.

Volg die tweede prentjie vir alle soldeerpunte wat u op die PCB -lampe moet maak.

NOTAS:

  1. As u besluit het om +5V te kort met die IC -uitgang van die batterylaaier, moet u die battery heeltemal verwyder voordat u dit doen; u wil nie +5V direk aan 'n battery koppel nie.
  2. Gee aandag aan watter drukknoppen u die ESP -uitset soldeer, want 2 penne van 'n drukknoppie is op die grond gekoppel en u wil nie kortsluit as die ESP -uitset HOOG word nie, dit is beter om met 'n multimeter te kyk.

Stap 5: Android -app

Android App
Android App
Android App
Android App
Android App
Android App

Android -app is gemaak met die MIT -app -uitvinder, om 'n app en/of 'n kloonprojek vir jouself af te laai, gaan na hierdie skakel (u benodig 'n Google -rekening om toegang daartoe te kry).

By die eerste bekendstelling moet u instellings oopmaak en u ESP8266 IP -adres invoer. Hierdie IP sal gestoor word, dus hoef u dit nie weer in te voer nadat die program weer begin nie.

App getoets met verskeie Android 9 en Android 7 toestelle.

Aanbeveel: