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

Διψήφια οθόνη με χρήση μονής λυχνίας 8x8 Led: 3 βήματα
Διψήφια οθόνη με χρήση μονής λυχνίας 8x8 Led: 3 βήματα

Βίντεο: Διψήφια οθόνη με χρήση μονής λυχνίας 8x8 Led: 3 βήματα

Βίντεο: Διψήφια οθόνη με χρήση μονής λυχνίας 8x8 Led: 3 βήματα
Βίντεο: Πώς κάνω λήψη στιγμιότυπου οθόνης 2024, Νοέμβριος
Anonim
Διψήφια οθόνη με χρήση μονής μήτρας 8x8 Led
Διψήφια οθόνη με χρήση μονής μήτρας 8x8 Led

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

Προμήθειες

  1. Arduino Nano x1
  2. DHT11 Αισθητήρας θερμοκρασίας και υγρασίας x1
  3. Μήτρα LED 8x8 με MAX7219 x1
  4. 10K αντίσταση x1
  5. Σύρματα κεφαλίδας
  6. Τροφοδοσία 5V x1
  7. Χάρτινο κουτί (4x8x13 cm)

Βήμα 1: Σχηματικό

Σχηματικός
Σχηματικός

Ο ψηφιακός αισθητήρας θερμοκρασίας & υγρασίας DHT11 παρέχει θερμοκρασίες μεταξύ 0 - 50 ° C και υγρασία μεταξύ 20% έως 90%. Η ακρίβεια θερμοκρασίας είναι ± 2 ° C (μέγιστη) και η ακρίβεια υγρασίας είναι 5%.

Το DHT11 παρέχει επίσης τιμές σημείου δρόσου. Το σημείο δρόσου είναι η θερμοκρασία στην οποία ο αέρας πρέπει να ψυχθεί για να κορεστεί με υδρατμούς. Όταν κρυώσει περαιτέρω, οι αερομεταφερόμενοι υδρατμοί θα συμπυκνωθούν σχηματίζοντας υγρό νερό.

Βήμα 2: Καλωδίωση και εγκιβωτισμός

Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία
Καλωδίωση & Πυγμαχία

Πρώτα έβαψα το κουτί από χαρτόνι χρησιμοποιώντας ακρυλικό χρώμα και μετά το στέγνωμα για 1 ημέρα τελείωσα με ένα λακ μαλλιών. Έφτιαξα ένα τετράγωνο παράθυρο για οθόνη LED στο μπροστινό κάλυμμα. Επίσης άνοιξα μια μικρή ορθογώνια τρύπα για τροφοδοτικό Arduino Nano και έβαλα αρκετές οπές κοντά στον αισθητήρα DHT11.

Στερέωσα το Arduino στη γωνία του κύριου κουτιού χρησιμοποιώντας μικρό κουτί και καυτό πυρίτιο.

Τοποθέτησα τη μήτρα LED στο παράθυρο χρησιμοποιώντας διαφανείς ταινίες ταινίας. Εδώ είναι σημαντικό να το τοποθετήσετε με περιστροφή 90 ° αριστερόστροφα, επειδή ο κώδικας θα χρησιμοποιεί τις πάνω 4 σειρές για δεκαδικό ψηφίο και τις κάτω 4 σειρές για μονάδες ψηφίων. Για τη μονάδα που χρησιμοποίησα η πλευρά με MAX7219 θα πρέπει να είναι στη βάση.

Επειδή τοποθέτησα το Arduino και τον αισθητήρα στο κλείσιμο του κουτιού δεν μπορούσα να το κλείσω πλήρως;. Καλύτερα να επιλέξετε την άλλη πλευρά:).

Βήμα 3: Κωδικός

Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας

Ανεβάστε πρώτα τη βιβλιοθήκη για DHT11 (https://github.com/adidax/dht11) και μήτρα LED (https://github.com/wayoda/LedControl) εάν δεν έχετε ήδη.

Ο κώδικας χρησιμοποιεί την πρώτη 4 σειρά του πίνακα LED ως δεκάδες και τις τελευταίες 4 σειρές ως μονάδες. Έτσι, για παράδειγμα, εάν ελέγξετε τον κωδικό για "ένα", θα δείτε το "11" να περιστρέφεται κατά 90 ° δεξιόστροφα. Εάν θέλετε να αλλάξετε αυτούς τους κωδικούς, φροντίστε αυτές τις λεπτομέρειες.

byte one = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Οι κωδικοί για τη λήψη των ψηφίων από την ανάγνωση του αισθητήρα είναι:

μονάδες = υγρό % 10; δεκάδες = (υγρό /10) % 10;

Για ψηφία δεκάδων ο βρόχος for εκτελείται ως εξής:

εάν (δεκάδες == 1) {για (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

Για ψηφία μονάδων, ο βρόχος for εκτελείται ως εξής:

εάν (μονάδες == 1) {για (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Η σειρά εμφάνισης είναι σε βρόχο ως εξής:

"° C" -> θερμοκρασία -> "βουητό" -> υγρασία -> "dp" -> σημείο δρόσου -> έννοια του σημείου δρόσου (εξηγείται παρακάτω)

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

dp <10: στεγνό

9 <dp <15: καλό (g..d)

14 <dp <18: Sweltry (sw)

17 <dp <24: Sweltry plus (sw +)

dp> 23: υγρό

Η οθόνη για αυτές τις λέξεις δεν είναι καλή, αλλά εξακολουθεί να είναι κατανοητή για μία μόνο οθόνη 8x8

Συνιστάται: