Turinys:

Automatinis daiktų interneto prieškambario naktinis apšvietimas su ESP8266: 4 žingsniai (su nuotraukomis)
Automatinis daiktų interneto prieškambario naktinis apšvietimas su ESP8266: 4 žingsniai (su nuotraukomis)

Video: Automatinis daiktų interneto prieškambario naktinis apšvietimas su ESP8266: 4 žingsniai (su nuotraukomis)

Video: Automatinis daiktų interneto prieškambario naktinis apšvietimas su ESP8266: 4 žingsniai (su nuotraukomis)
Video: Keistas atradimas! ~ Apleista XVII amžiaus Hogvartso stiliaus pilis 2024, Lapkritis
Anonim
Image
Image
Surinkite visas reikalingas medžiagas
Surinkite visas reikalingas medžiagas

Šį projektą pradėjau įkvėptas laiptų šviesos iš kito pamokomo įrašo. Skirtumas tas, kad grandinės smegenys naudoja ESP8266, o tai reiškia, kad tai bus IoT įrenginys.

Turiu omenyje, kad prieškambario naktinė šviesa vaikams, kai jie išeina iš savo kambario, apšviečia kelią į vonios kambarį. Tam aš naudoju ESP8266, kad aptikčiau PIR jutiklio judesį. Kelionei atgal naudoju 2 PIR jutiklius, po vieną kiekviename gale. Atsižvelgiant į tai, kad ESP8266 yra tinkamas daiktų internetui, aš taip pat galiu tai naudoti norėdamas nustatyti, ar koridoriuje nėra judesių, paskelbdamas MQTT pranešimą namų asistentui.

1 žingsnis: surinkite visas reikalingas medžiagas

Surinkite visas reikalingas medžiagas
Surinkite visas reikalingas medžiagas
Surinkite visas reikalingas medžiagas
Surinkite visas reikalingas medžiagas

Šiam projektui naudoju šias medžiagas:

- ESP8266

- PIR jutiklis

- 330 omų rezistorius, veikiantis kaip srovės ribotuvas

- 5 V adresuojama LED juostelė (WS2812B)

- elektros laidai šviestuvams sumontuoti

2 žingsnis: prijunkite grandinę

Prijunkite grandinę
Prijunkite grandinę
Prijunkite grandinę
Prijunkite grandinę
Prijunkite grandinę
Prijunkite grandinę

Mes iš esmės prijungiame šviesos diodų juostos duomenų liniją prie D2 arba ESP8266 kaiščio per 330 omų rezistorių, kad apribotume srovę. Atminkite, kad ESP8266 darbinė įtampa yra 3,3 V.

PIR jutikliai yra prijungti prie kaiščių D5 ir D6, vienas skirtas kairiam, kitas - dešiniajam. Nepamirškite šiuo atveju prijungti PIR ir LED juostos maitinimo prie 3.3V.

3 veiksmas: įkelkite kodą

Įkelkite kodą
Įkelkite kodą
Įkelkite kodą
Įkelkite kodą

Kad kodas veiktų, jums reikia šios bibliotekos:

- Danielio Garcia „FastLed“biblioteka, šiuo atveju turiu įdiegtą 3.3.3 versiją

- „TimeLib“

- ESP8266Wifi

- ESP8266WebServer

- ArduinoOTA

Jei jų dar neįdiegėte, galite juos įdiegti „Arduino“sąsajos skiltyje „Įrankiai-> Tvarkyti biblioteką“.

Kitame kodo skyriuje

#define FASTLED_ESP8266_D1_PIN_ORDER#include "FastLED.h" FASTLED_USING_NAMESPACE

#define NUM_LEDS 30

#define LEDS_PER_STAIR 2 // Ledų skaičius laiptuose. Dar nekeičiamas - tiesiog pastebimas #define BRIGHTNESS 120 // 0… 255 (naudojamas fade7) #define PIN_LED 04 // LED duomenų kaištis (GPIO4) D2 #define PIN_PIR_DOWN 14 // PIR Downstairs PIN (GPI14) D5 #define PIN_PIR_UP 12 // PIR viršuje esantis kaištis (GPI12) D6

Savo LED juostelėje galite sukonfigūruoti šviesos diodų skaičių, taip pat „LEDStrip“jungtį, jei nuspręsite jį prijungti prie kito kaiščio, o taip pat PIR jutiklio kaištį, jei nuspręsite prijungti prie kito MCU kaiščio.

Aukščiau pateikta konfigūracija yra faile „ledsettings.h“.

Visą šaltinio kodą galite atsisiųsti iš šios nuorodos.

Kai galėsite sėkmingai surinkti kodą, galite jį įkelti į ESP8266.

4 žingsnis: bandymas ir bandymas bei trikčių šalinimas

Bandymai ir bandymai bei trikčių šalinimas
Bandymai ir bandymai bei trikčių šalinimas
Bandymai ir bandymai bei trikčių šalinimas
Bandymai ir bandymai bei trikčių šalinimas

Jei viskas gerai, turėtumėte turėti veikiančius prieškambario žibintus, kuriais galite didžiuotis. Kai pirmą kartą įjungiate grandinę, LED juostelė užsidegs su tam tikra vaivorykštės seka. Tada skardinė ESP8266 veiks kaip prieigos taškas (AP), kad galėtumėte konfigūruoti „WiFi“ryšį.

Jei naudojate mano turimą kodą, kaip prieigos tašką turėtumėte matyti „ESP-HallLight“. Saugumo sumetimais AP uždėjau apsaugą slaptažodžiu. Numatytasis slaptažodis yra „arduino“, kurį galite pakeisti failo settings.h, sekančiame skyriuje.

#define CLOCK_NAME „ESP-HallLight“

#define WIFI_AP_NAME CLOCK_NAME #define WIFI_APPSK "arduino" // numatytasis AP slaptažodis

Sėkmingai prisijungę naudodami mobilųjį telefoną ar nešiojamąjį kompiuterį per „WiFi“, turėtumėte sugebėti nukreipti naršyklę į 192.168.4.1, turėtumėte pamatyti nustatymų ekraną, kaip parodyta aukščiau esančiame paveikslėlyje. Dabar galite įvesti „WiFi“nustatymus, o kai įvesite ESP8266, jis bus paleistas iš naujo ir bandys prisijungti prie „WiFi“. Jei jis galės sėkmingai prisijungti, nebematysite prieigos taško „ESP-HallLight“.

Jei vis dar esate prisijungę prie „Arduino“sąsajos, galite tai stebėti per nuoseklųjį monitorių.

Pastaba: jums nereikia konfigūruoti „WiFi“, kad jutikliai veiktų, jis turėtų veikti po kelių sekundžių, kai pradinės lemputės yra išjungtos.

Norėdami patikrinti, ar galite pabandyti vaikščioti iš vienos pusės ar mostelėti ranka, lemputė turėtų užsidegti sekant važiavimo kryptį, jei ji veikia priešingai, tuomet reikia pakeisti kodo kairįjį ir dešinįjį jutiklius.

Pirmojo kūrimo metu netyčia prijungiau netinkamą LED juostos galą, todėl nė vienas šviesos diodas neužsidega.

Tikiuosi, kad jums patiko šis kūrimas, jei tai naudinga, balsuokite už konkursą. Jei turite kokių nors klausimų, nedvejodami parašykite man užrašą, ir aš atsakysiu į jį kuo greičiau.

Kai kurios mintys turėtų pridėti papildomų funkcijų, tokių kaip:

  • Turėti sąsają, kad šviesos diodai būtų pasukti nepriklausomai nuo jutiklio, panašiai kaip mano ankstesniame įraše apie „WiFi“valdomą LED juostą arba LED juostos būsenos indikatorių.
  • Pridėkite papildomą funkciją, kad paskelbtumėte MQTT pranešimą „Home Assistant“, panašų į šį įrašą.

Rekomenduojamas: