Cuprins:

8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 Etape (cu imagini)
8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 Etape (cu imagini)

Video: 8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 Etape (cu imagini)

Video: 8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 Etape (cu imagini)
Video: 8x8 LED Matrix MAX7219 Arduino with Scrolling Text & Android Control via hc-05 hc-06 Bluetooth 2024, Iulie
Anonim
8x8 Led Matrix Clock & Anti-Intrusion Warning
8x8 Led Matrix Clock & Anti-Intrusion Warning
8x8 Led Matrix Clock & Anti-Intrusion Warning
8x8 Led Matrix Clock & Anti-Intrusion Warning
8x8 Led Matrix Clock & Anti-Intrusion Warning
8x8 Led Matrix Clock & Anti-Intrusion Warning

În acest instructable vom vedea cum să construim un ceas cu matrice LED 8x8 activat prin detectarea mișcării.

Acest ceas poate fi folosit și ca dispozitiv anti-intruziune care trimite un mesaj de avertizare dacă este detectată o mișcare către un bot de telegramă !!!

Vom face cu două obiecte diferite:

  • Ceasul digital, controlat de un Wemos D1 mini
  • O unitate centrală de control (rasperry) unde rulează mosquitto (un broker MQTT) care face interfața dintre ceas și botul de telegramă

Această arhitectură este concepută pentru a gestiona comunicația între alte dispozitive, cu funcții diferite (de exemplu, senzori de temperatură, releu, …), către botul de telegramă

Provizii

Lista pieselor ceasului digital:

  • Wemos D1 Mini
  • Wemos D1 Mini - RTC shield 8x8 Led Matrix cu MAX7219
  • Senzor PIR
  • Pană de pâine
  • Cabluri
  • Încărcător USB

Lista pieselor unității centrale de control

  • Raspberry PI
  • Încărcător USB

Pasul 1: Construiți ceasul

Construiește ceasul
Construiește ceasul
Construiește ceasul
Construiește ceasul
Construiește ceasul
Construiește ceasul

Pentru a construi ceasul:

  • introduceți Ledul Matrix 4 8x8 în panoul de verificare
  • construi conexiune
  • Asamblați Wemos D1 mini la scutul RTC și la senzorul PIR
  • Terminați conexiunea

Puneți cele 4 module Led, una lângă alta și conectați pinii de ieșire ai fiecărui modul la pinii de intrare ai următorului.

  • VCC => VCC
  • GND => GND
  • DOUT => DIN
  • CS => CS
  • CLK => CLK

Primii pini de intrare ai modulului trebuie conectați la mini pini Wemos D1 în așa fel:

  • VCC => 5V
  • GND => GND
  • DIN => D7
  • CS => D6
  • CLK => D5

Conectați, de asemenea, senzorul PIR la mini-pini Wemos D1:

  • VCC => 5V
  • Out => D0
  • GND => GND

Conexiunile sunt gata!

Pasul 2: Scrieți și încărcați programul pe Wemos D1mini

Scrieți și încărcați programul pe Wemos D1mini
Scrieți și încărcați programul pe Wemos D1mini

Fișierul Wemos_reogio.ino este încărcat în acest instructable, astfel încât să puteți încărca și modifica cu parametrii de rețea în IDE-ul dvs. arduino.

Programul pornește ledurile când senzorul PIR este excitat, timp de 20 de secunde (sau mai mult dacă senzorul continuă să fie excitat), apoi oprește ledurile. Când esp8266 detectează un mesaj prin MQTT în următorul format:

["Pir_on": 1} Modul de detectare este activat și următorul mesaj este publicat prin MQTT de fiecare dată când senzorul PIR este excitat (pentru prima dată):

["Pir_off": 1} În acest fel, acest dispozitiv are două caracteristici diferite:

movemente activate clockanti-intrusion warning Și această ultimă caracteristică este „mascată” de un ceas „normal”

Niste probleme:

Dacă nu ați instalat niciodată esp8266 în Arduino IDE, puteți vizualiza un tutorial aici:

www.instructables.com/id/Setting-Up-the-Ar…

Trebuie să instalați biblioteci pentru

Scut RTC: RTClib.h

github.com/adafruit/RTClib

ATENȚIE: timpul în rtc trebuie setat prima dată când scutul RTC este instalat cu bateria, apoi va menține datele, până când bateria este descărcată

8x8 Led Matrix: LedControl.h

github.com/esp8266/Basic/blob/master/libra…

Iată un exemplu de gestionare a acestor led-uri:

www.instructables.com/id/Interface-LED-Dot…

Poate fi necesar să modificați ordinea în care sunt scrise ledurile, în funcție de cablare. verificați-l și, în cazul în care, puteți modifica următorul rând: int revDisp = numDisplay - disp-1; // inversați ordinea panourilor ATENȚIE: DEPENDE DE Cablare

de asemenea, trebuie să instalați biblioteci MQTT pentru a gestiona:

Protocol MQTT: PubSubClient.h

www.arduinolibraries.info/libraries/pub-su…

în acest cod, brokerul MQTT este instalat într-un Raspberry cu IP static. Iată un exemplu:

www.instructables.com/id/How-To-Assign-A-S…

Pasul 3: Pregătiți Telegram Bot

Pregătiți Telegram Bot
Pregătiți Telegram Bot

Aici nu explicăm setarea de zmeură, nici comunicarea dintre zmeură și un bot de telegramă, pentru că există o mulțime de titorii despre acest lucru.

Un exemplu este:

www.instructables.com/id/Set-up-Telegram-B…

Pasul 4: Pregătiți Raspberry și încărcați Mosquitto

Trebuie să instalați mosquitto pe Raspberry, puteți găsi o mulțime de tutoriale, aici un exemplu despre cum să gestionați MQTT între Raspberry și esp8266:

www.instructables.com/id/How-to-Use-MQTT-W…

Am pregătit un program python care acționează ca o interfață între telegramă și brokerul MQTT, convertind:

  • comenzi de bot în mesajele publicate pe MQTT, astfel încât acestea să poată fi ascultate de esp8266
  • mesaje publicate în MQTT de esp8266 în mesaje către bot

Recomandat: