Πίνακας περιεχομένων:

8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 βήματα (με εικόνες)
8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 βήματα (με εικόνες)

Βίντεο: 8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 βήματα (με εικόνες)

Βίντεο: 8x8 Led Matrix Clock & Anti-Intrusion Warning: 4 βήματα (με εικόνες)
Βίντεο: 8x8 LED Matrix MAX7219 Arduino with Scrolling Text & Android Control via hc-05 hc-06 Bluetooth 2024, Ιούλιος
Anonim
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής
Ρολόι μήτρας 8x8 & Προειδοποίηση κατά της εισβολής

Σε αυτό το Instructable θα δούμε πώς να δημιουργήσουμε ένα ρολόι μήτρας 8x8 Led που ενεργοποιείται με ανίχνευση κίνησης.

Αυτό το ρολόι μπορεί να χρησιμοποιηθεί και ως συσκευή κατά της εισβολής που στέλνει ένα προειδοποιητικό μήνυμα εάν εντοπιστεί κίνηση σε ένα bot τηλεγράφου !!!

Θα κάνουμε με δύο διαφορετικά αντικείμενα:

  • Το ψηφιακό ρολόι, που ελέγχεται από ένα μίνι Wemos D1
  • Μια κεντρική μονάδα ελέγχου (rasperry) όπου τρέχει το κουνούπι (ένας μεσίτης MQTT) που κάνει τη διασύνδεση μεταξύ του ρολογιού και του bot telegram

Αυτή η αρχιτεκτονική πιστεύεται ότι διαχειρίζεται την επικοινωνία μεταξύ άλλων συσκευών, με διαφορετικές λειτουργίες (π.χ. αισθητήρες θερμοκρασίας, ρελέ,…), στο bot του τηλεγράφου

Προμήθειες

Λίστα μερών του ψηφιακού ρολογιού:

  • Wemos D1 Mini
  • Wemos D1 Mini - RTC shield8x8 Led Matrix με MAX7219
  • Αισθητήρας PIR
  • Breadboard
  • Καλώδια
  • Φορτιστής USB

Λίστα μερών της κεντρικής μονάδας ελέγχου

  • Βατόμουρο PI
  • Φορτιστής USB

Βήμα 1: Δημιουργήστε το ρολόι

Φτιάξτε το ρολόι
Φτιάξτε το ρολόι
Φτιάξτε το ρολόι
Φτιάξτε το ρολόι
Φτιάξτε το ρολόι
Φτιάξτε το ρολόι

Για να φτιάξετε το ρολόι:

  • εισάγετε το 4 8x8 Matrix Led στο breadboard
  • δημιουργία σύνδεσης
  • Συναρμολογήστε το Wemos D1 mini στην ασπίδα RTC και στον αισθητήρα PIR
  • Ολοκληρώστε τη σύνδεση

Τοποθετήστε τις 4 μονάδες Led, δίπλα -δίπλα και συνδέστε τους πείρους εξόδου κάθε μονάδας με τους πείρους εισόδου του επόμενου.

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

Οι πρώτες ακίδες εισαγωγής μονάδας πρέπει να συνδεθούν με τις μίνι ακίδες Wemos D1 με τέτοιο τρόπο:

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

Συνδέστε επίσης τον αισθητήρα PIR με τις μίνι ακίδες Wemos D1:

  • VCC => 5V
  • Έξοδος => D0
  • GND => GND

Οι συνδέσεις είναι έτοιμες!

Βήμα 2: Γράψτε και φορτώστε πρόγραμμα στο Wemos D1mini

Πρόγραμμα εγγραφής και φόρτωσης στο Wemos D1mini
Πρόγραμμα εγγραφής και φόρτωσης στο Wemos D1mini

Το αρχείο Wemos_reogio.ino μεταφορτώνεται σε αυτό το εκπαιδευτικό, ώστε να μπορείτε να φορτώσετε και να τροποποιήσετε με τις παραμέτρους του δικτύου σας στο arduino IDE.

Το πρόγραμμα ενεργοποιεί τα led όταν ο αισθητήρας PIR διεγείρεται, για 20 δευτερόλεπτα (ή περισσότερο εάν ο αισθητήρας συνεχίζει να είναι ενθουσιασμένος), τότε απενεργοποιεί τα led. Όταν το esp8266 εντοπίσει ένα μήνυμα μέσω MQTT στην ακόλουθη μορφή:

["Pir_on": 1} η λειτουργία ανίχνευσης είναι ενεργοποιημένη και το ακόλουθο μήνυμα δημοσιεύεται μέσω MQTT οποιαδήποτε στιγμή ο αισθητήρας PIR διεγείρεται (για πρώτη φορά):

["Pir_off": 1} Με αυτόν τον τρόπο αυτή η συσκευή έχει δύο διαφορετικά χαρακτηριστικά:

Κίνηση ενεργοποιημένη προειδοποίηση ρολογιού και αυτή η τελευταία λειτουργία "καλύπτεται" από ένα "κανονικό" ρολόι

Μερικά θέματα:

Εάν δεν εγκαταστήσατε ποτέ το esp8266 στο Arduino IDE, μπορείτε να δείτε ένα σεμινάριο εδώ:

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

Πρέπει να εγκαταστήσετε βιβλιοθήκες για

Ασπίδα RTC: RTClib.h

github.com/adafruit/RTClib

ΠΡΟΣΟΧΗ: ο χρόνος στο rtc πρέπει να οριστεί την πρώτη φορά που θα τοποθετηθεί η ασπίδα RTC με την μπαταρία, στη συνέχεια θα διατηρήσει τα δεδομένα, μέχρι να αποφορτιστεί η μπαταρία

8x8 Led Matrix: LedControl.h

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

Εδώ είναι ένα παράδειγμα διαχείρισης αυτού του led:

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

Μπορεί να χρειαστεί να αλλάξετε τη σειρά με την οποία γράφονται τα led, ανάλογα με την καλωδίωση. ελέγξτε το και, σε περίπτωση που, μπορείτε να τροποποιήσετε την ακόλουθη σειρά: int revDisp = numDisplay - disp -1; // αντιστροφή της σειράς των πινάκων ΠΡΟΣΟΧΗ: ΑΝΑΡΤΕΙΤΑΙ ΣΤΟ ΚΑΛΩΔΙΟ

πρέπει επίσης να εγκαταστήσετε βιβλιοθήκες MQTT για να διαχειριστείτε:

Πρωτόκολλο MQTT: PubSubClient.h

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

σε αυτόν τον κωδικό, ο μεσίτης MQTT είναι εγκατεστημένος σε Raspberry με στατική IP. Εδώ είναι ένα παράδειγμα:

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

Βήμα 3: Προετοιμάστε το Telegram Bot

Προετοιμάστε το Telegram Bot
Προετοιμάστε το Telegram Bot

Εδώ δεν εξηγούμε τη ρύθμιση του βατόμουρου, ούτε την επικοινωνία μεταξύ βατόμουρου και ενός bot τηλεγράφου, επειδή υπάρχουν πολλά διδακτικά σχετικά με αυτό.

Ένα παράδειγμα είναι:

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

Βήμα 4: Προετοιμάστε Raspberry and Load Mosquitto

Πρέπει να εγκαταστήσετε το κουνούπι στο Raspberry, μπορείτε να βρείτε πολλά μαθήματα, εδώ ένα παράδειγμα σχετικά με τον τρόπο διαχείρισης του MQTT μεταξύ Raspberry και esp8266:

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

Έχουμε ετοιμάσει ένα πρόγραμμα python που λειτουργεί ως διεπαφή μεταξύ του τηλεγράφου και του μεσίτη MQTT, μετατρέποντας:

  • εντολές από το bot σε μηνύματα που δημοσιεύονται στο MQTT, ώστε να μπορούν να ακούγονται από το esp8266
  • μηνύματα που δημοσιεύονται στο MQTT από το esp8266 σε μηνύματα προς το bot

Συνιστάται: