Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä ohjeessa näytän, kuinka yksinkertainen akkukäyttöinen LED -lamppu muutetaan IoT -laitteeksi.
Tämä projekti sisältää:
- juottaminen;
- ohjelmointi ESP8266 Arduino IDE: llä;
- Android -sovelluksen tekeminen MIT App Inventorin avulla.
Kiinnostava kohde on tämä kuun muotoinen lamppu, jonka ostin Gearbestiltä. Mutta todella tämä opetusohjelma voidaan mukauttaa mihin tahansa matalajännitelaitteeseen (verkkovirtaiset laitteet vaativat lisäpiirejä).
Tarvikkeet
- Android-älypuhelin (Android-versiot 7-9 testattu).
- Juototyökalut.
- Piirilevyn prototyyppien laatiminen (protoboard).
- ESP-12E-kortti (tai muu kehitystaulu, jossa on ESP8266-mikrokontrolleri).
- USB-sarjamuunnin ohjelmointia varten.
- Useita erilaisia passiivisten komponenttien arvoja (vastukset ja kondensaattorit).
(Valinnainen. Katso "Lohkokaavio" -osa)
- 3.3V@500mA LDO IC.
- 3.3V-5V logiikkatasoinen muunninkortti.
- 5V DC -virtalähde.
Vaihe 1: Idea
Moon-lamppu saa virtansa yhdestä Li-ION 18650 -kennosta ja siinä on 3 toimintatilaa:
- vinossa;
- käsikirja;
- auto.
Manuaalitilassa lamppua ohjataan painikkeella, jokainen painallus muuttaa LED -valon tilaa (sininen palaa, oranssi päällä, molemmat päällä, pois), valon voimakkuus muuttuu, kun painat painiketta painettuna. Automaattitilassa LED -valon tilat muuttuvat napauttamalla tai ravistamalla itse lamppua.
Päätin lisätä ESP8266: n toimimaan verkkopalvelimena, joka kuuntelee pyyntöjä ja simuloi painikkeiden painalluksia. En halunnut rikkoa lampun alkuperäisiä toimintoja, halusin vain lisätä lisähallintaominaisuuksia WiFi -yhteyden kautta, joten valitsin ESP: n simuloimaan painikkeiden painikkeita sen sijaan, että ohjaisimme suoraan LED -valoja. Myös tämä antoi minulle mahdollisuuden olla minimaalisesti vuorovaikutuksessa alkuperäisen piirin kanssa.
Kun prototyyppi tehtiin, se ajoi ~ 80mA jatkuvasti akusta pois päältä (~ 400mA täydellä kirkkaudella). Valmiusvirta on suuri, koska ESP8266 toimii palvelimena ja on aina yhteydessä WiFi -verkkoon ja kuuntelee pyyntöjä. Akku oli tyhjä puolentoista päivän kuluttua vain pois päältä, joten päätin myöhemmin käyttää lamppujen USB -latausporttia kaiken elektroniikan virran saamiseen ulkoisesta 5 V: n virtalähteestä ja irrotetun akun yhdessä (mutta tämä on valinnainen).
Vaihe 2: Lohkokaavio
Lohkokaaviossa näet, mitä piiriä lisätään ja miten olemassa olevaa piiriä muutetaan. Minun tapauksessani poistin akun kokonaan ja oikosuloin akkulaturien IC -tulon ulostulolla (tämä on jälleen valinnainen). Kaavion läpinäkyvät lohkot osoittavat komponentit, jotka on ohitettu (vaikka painike toimii edelleen alun perin tarkoitetulla tavalla).
Dokumentaation mukaan ESP8266 sietää vain 3,3 V: ta, mutta on paljon esimerkkejä siitä, että ESP8266 toimii täysin hyvin 5 V: n kanssa, joten loogisen tason muunnin ja 3,3 V: n LDO voidaan jättää pois, mutta pysyin parhaiden käytäntöjen kohdalla ja lisäsin nämä komponentit.
Käytin 3 ESP8266 I/O -nastaa ja ADC -nasta. Yksi digitaalinen ulostulonappi on painikkeiden simuloinnin simulointiin, kaksi digitaalista tuloa ilmaisimien värien tunnistamiseen (tästä voimme selvittää missä tilassa MCU on ja mikä tila on seuraava painikkeen painamisen jälkeen). ADC -nasta mittaa tulojännitteen (jännitteenjakajan kautta), joten voimme seurata jäljellä olevaa akun varaustasoa.
Ulkoisena virtalähteenä käytän vanhaa puhelinlaturia 5V@1A (älä käytä pikalaturia).
Vaihe 3: Ohjelmointi
Lyhyesti sanottuna ohjelma toimii näin (lisätietoja on koodissa itse):
ESP8266 muodostaa yhteyden WiFi -tukiasemaan, mitkä kirjautumistiedot sinun on annettava koodin alussa ennen ohjelmointia, se saa IP -osoitteen reitittimesi DHCP -palvelimelta, jotta voit selvittää myöhemmin tarvitsemasi IP -osoitteen, voit tarkistaa reitittimen verkkoliittymän DHCP -asetukset tai asettaa virheenkorjauslippu koodissa 1 ja näet mitä IP ESP sai sarjamonitorista (sinun tulee varata se IP reitittimen asetuksista, jotta ESP saa aina saman IP: n käynnistyksen yhteydessä).
Kun alustettu MCU suorittaa aina saman rutiinin ikuisesti:
- Tarkista, onko yhteys edelleen AP: hen, jos et yritä muodostaa yhteyttä uudelleen, ennen kuin onnistut.
-
Odota, että asiakas lähettää HTTP -pyynnön. Kun pyyntö tapahtuu:
- Tarkista tulojännite.
- Tarkista, missä tilassa LEDit ovat.
- Yhdistä HTTP -pyyntö tunnettuihin LED -tiloihin (sininen päällä, oranssi päällä, molemmat päällä, pois päältä).
- Simuloi niin monta painikkeen painallusta kuin tarvitaan halutun tilan saavuttamiseksi.
Kuvaan lyhyesti ohjelmointiohjeita, jos se on ensimmäinen ohjelmointisi ESP8266 MCU, etsi tarkempia ohjeita.
Tarvitset Arduino IDE: n ja USB-sarjaliitäntämuuntimen (esimerkiksi FT232RL). Valmistele IDE noudattamalla näitä ohjeita.
Liitä ESP-12E-moduuli ohjelmointia varten piirikaavion mukaisesti. Joitakin vinkkejä:
- käytä ulkoista 3.3V@500mA virtalähdettä (useimmissa tapauksissa USB-sarjavirtalähde ei riitä);
- tarkista, onko USB-sarjamuuntimesi yhteensopiva 3,3 V: n logiikkatason kanssa;
- tarkista, onko USB-sarjamuuntimen ohjaimet asennettu onnistuneesti (Windowsin laitehallinnasta). Voit myös tarkistaa, toimiiko se oikein IDE: stä, vain lyhyet RX- ja TX-nastat, kuin IDE-valikosta COM-portti, avaa sarjamonitori ja kirjoita jotain, jos kaikki toimii sinun pitäisi nähdä lähettämäsi teksti konsolissa;
- jostain syystä pystyin ohjelmoimaan ESP: n vain, kun liitin ensin USB-sarjamuuntimen tietokoneeseen ja käynnistin sitten ESP: n ulkoisesta 3,3 V: n lähteestä;
- onnistuneen ohjelmoinnin jälkeen älä unohda nostaa GPIO0 korkealle seuraavan käynnistyksen yhteydessä.
Vaihe 4: Kaavio ja juottaminen
Noudata kaaviota kaikkien komponenttien juottamiseksi protoboardiin. Kuten aiemmin mainittiin, jotkin komponentit ovat valinnaisia. Käytin KA78M33 3.3V LDO IC: tä ja tätä loogisen tason muunninkorttia kipinöinnistä. Vaihtoehtoisesti voit tehdä muuntimen itse kaavion mukaisesti (voit käyttää mitä tahansa N-kanavaista mosfetia BSS138: n sijasta). Jos käytät Li-ION-akkua, +5V -verkko on akun positiivinen napa. ESP8266 ADC -referenssijännite on 1 V, valitsemani vastuksenjakaja -arvot mahdollistavat jopa 5,7 V: n tulojännitteen mittaamisen.
Alkuperäiseen lampun piirilevyyn tulee olla 5 liitäntää: +5 V (tai +akku), GND, painike, lampun MCW PWM -signaalit sinisen ja oranssin merkkivalojen ohjaamiseksi. Jos käytät lamppua 5 V: n lähteestä, kuten minä, haluat lyhentää akkulaturit IC VCC -tapin OUTPUT -nastalla, jolloin kaikki elektroniikka saa virtansa suoraan +5 V: sta eikä akkulaturin OUTPUT -lähdöstä.
Seuraa toista kuvaa kaikista juotospisteistä, jotka sinun on tehtävä lamppujen piirilevylle.
HUOMAUTUKSIA:
- Jos päätit oikosulkea +5 V akkulaturin IC -ulostulolla, poista akku kokonaan ennen sitä, et halua kytkeä +5 V: ta suoraan akkuun.
- Kiinnitä huomiota siihen, mihin painonappiin juotat ESP -lähdön, koska 2 painonappia on kytketty maahan ja et halua oikosulkua, kun ESP -lähtö menee KORKEA, tarkista vielä yleismittarilla.
Vaihe 5: Android -sovellus
Android -sovellus on tehty MIT -sovellusten keksijän kanssa. Jos haluat ladata sovelluksen ja/tai kloonata projektin itsellesi, siirry tästä linkistä (tarvitset Google -tilin, jotta voit käyttää sitä).
Ensimmäisen käynnistyksen yhteydessä sinun on avattava asetukset ja annettava ESP8266 -IP -osoitteesi. Tämä IP -osoite tallennetaan, joten sitä ei tarvitse syöttää uudelleen ohjelman uudelleenkäynnistyksen jälkeen.
Sovellus on testattu useilla Android 9- ja Android 7 -laitteilla.