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

Μετεωρολογικός σταθμός με χρήση μεγάλης οθόνης ST7920: 4 βήματα
Μετεωρολογικός σταθμός με χρήση μεγάλης οθόνης ST7920: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός με χρήση μεγάλης οθόνης ST7920: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός με χρήση μεγάλης οθόνης ST7920: 4 βήματα
Βίντεο: Ρολόι Προτζέκτορας - Μετεωρολογικός Σταθμός με Έγχρωμη Οθόνη 2024, Νοέμβριος
Anonim
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920
Μετεωρολογικός σταθμός χρησιμοποιώντας μεγάλη οθόνη ST7920

Αγαπητοί φίλοι καλώς ήλθατε σε ένα άλλο εκπαιδευτικό! Σε αυτό το σεμινάριο, θα ρίξουμε μια πρώτη ματιά σε αυτή τη μεγάλη οθόνη LCD και θα φτιάξουμε ένα μόνιτορ θερμοκρασίας και υγρασίας με αυτό.

Πάντα ήθελα να βρω μια οθόνη παρόμοια με την οθόνη που χρησιμοποιεί ο τρισδιάστατος εκτυπωτής μου επειδή είναι μεγάλη και φθηνή, οπότε μπορεί να είναι πολύ χρήσιμη για πολλά έργα. Αφού κοίταξα τριγύρω, ανακάλυψα ότι αυτή η οθόνη που χρησιμοποιεί ο εκτυπωτής μου είναι αυτή. Μεγάλη οθόνη 3,2”με το πρόγραμμα οδήγησης ST7920 και ανάλυση 128x64 pixel. Δροσερός! Όπως μπορείτε να δείτε, είναι πολύ μεγαλύτερη από τις περισσότερες οθόνες που χρησιμοποιούσαμε μέχρι τώρα στα έργα μας, έτσι θα είναι χρήσιμο σε πολλά μελλοντικά έργα. Κοστίζει μόνο περίπου $ 6!

Μπορείτε να το αποκτήσετε εδώ →

Προμήθειες

  1. Οθόνη LCD ST7920 →
  2. Arduino Uno →
  3. Αισθητήρας DHT22 →
  4. Breadboard →
  5. Καλώδια →

Βήμα 1: Σύνδεση με το Arduino

Σύνδεση με το Arduino
Σύνδεση με το Arduino
Σύνδεση με το Arduino
Σύνδεση με το Arduino
Σύνδεση με το Arduino
Σύνδεση με το Arduino

Ας δούμε τώρα πώς να το χρησιμοποιήσετε με το Arduino. Θα χρησιμοποιήσω ένα Arduino Uno σήμερα, αλλά λειτουργεί με πολλούς πίνακες Arduino.

Η οθόνη χρησιμοποιεί τη διεπαφή SPI για να επικοινωνεί με τον μικροελεγκτή, οπότε πρέπει να τη συνδέσουμε με τις καρφίτσες υλικού SPI της πλακέτας Arduino.

Όπως μπορείτε να δείτε, η οθόνη έχει πολλές καρφίτσες για σύνδεση, αλλά μην ανησυχείτε δεν χρειάζεται να συνδέσουμε όλους αυτούς τους ακροδέκτες, μόνο 9 από αυτούς και μόνο 4 από αυτούς στις ψηφιακές ακίδες της πλακέτας Arduino Uno.

Η πρώτη καρφίτσα που είναι GND πηγαίνει στο Arduino GND. Ο δεύτερος πείρος που είναι Vcc πηγαίνει στην έξοδο Arduino 5V. Η καρφίτσα RS πηγαίνει στην ψηφιακή καρφίτσα 10. Η καρφίτσα R/W πηγαίνει στην ψηφιακή ακίδα 11. Η καρφίτσα πηγαίνει στην ψηφιακή ακίδα 13. Η καρφίτσα PSB πηγαίνει στο GND, η καρφίτσα RST πηγαίνει στην ψηφιακή ακίδα 8, η BLA πηγαίνει στην έξοδο 3.3V του Arduino και η καρφίτσα BLK πηγαίνει στο GND. Αυτό είναι η οθόνη μας είναι έτοιμη για χρήση!

Μπορούμε να κάνουμε τη ζωή μας ευκολότερη αν συνδέσουμε όλα τα καρφιά GND της οθόνης μαζί.

Βήμα 2: Βιβλιοθήκη για την οθόνη

Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη
Βιβλιοθήκη για την οθόνη

Τώρα ας δούμε το λογισμικό που χρειαζόμαστε για να οδηγήσουμε αυτήν την οθόνη.

Θα χρησιμοποιήσω τη βιβλιοθήκη u8g για να οδηγήσω αυτήν την οθόνη. Πρώτα απ 'όλα, ας εγκαταστήσουμε τη βιβλιοθήκη. Ανοίγουμε το Arduino IDE και από το μενού επιλέγουμε Sketch → Include Library → Manage Libraries και αναζητούμε τη βιβλιοθήκη U8G2. Το επιλέγουμε και πατάμε install! Αυτό ήταν, η βιβλιοθήκη μας είναι έτοιμη για χρήση.

Τώρα ας πάμε στο Αρχείο → Παραδείγματα και από τα παραδείγματα που παρέχονται με τη βιβλιοθήκη ας τρέξουμε το παράδειγμα GraphicsText. Χρειάζεται μόνο να κάνουμε μια αλλαγή στο σκίτσο πριν το ανεβάσουμε στον πίνακα. Δεδομένου ότι η βιβλιοθήκη U8G υποστηρίζει πολλές οθόνες, πρέπει να επιλέξουμε τον κατάλληλο κατασκευαστή για την οθόνη μας. Αναζητούμε λοιπόν τον κωδικό για "ST7920" και από τους διαθέσιμους κατασκευαστές, επιλέγουμε να χρησιμοποιήσουμε τον HW_SPI. Σχολιάζουμε αυτήν τη γραμμή έτσι και είμαστε έτοιμοι να ανεβάσουμε το σκίτσο στο Arduino. Μετά από μερικά δευτερόλεπτα, το σκίτσο είναι σε λειτουργία.

Εάν δεν μπορείτε να δείτε τίποτα στην οθόνη, πρέπει να ρυθμίσετε την αντίθεση της οθόνης χρησιμοποιώντας αυτό το μικρό ποτενσιόμετρο που βρίσκεται στο πίσω μέρος της οθόνης

Τώρα ας παρακολουθήσουμε το σκίτσο επίδειξης για μερικά δευτερόλεπτα. Όπως μπορείτε να δείτε, αυτό το παράδειγμα σκίτσου δείχνει τις δυνατότητες της βιβλιοθήκης και της οθόνης. Μπορούμε να επιτύχουμε μερικά υπέροχα κινούμενα σχέδια με αυτήν την οθόνη, είναι αρκετά ικανή. Αυτός είναι ο λόγος που χρησιμοποιείται σε τόσους 3D εκτυπωτές.

Βήμα 3: Ας φτιάξουμε έναν μετεωρολογικό σταθμό

Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό
Ας φτιάξουμε έναν μετεωρολογικό σταθμό

Ας χτίσουμε τώρα κάτι χρήσιμο. Ας συνδέσουμε έναν αισθητήρα θερμοκρασίας και υγρασίας DHT22 στο Arduino. Χρειαζόμαστε μόνο τροφοδοσία και ένα καλώδιο σήματος που το συνδέω με την ψηφιακή ακίδα 7. Για να διευκολύνουν τα πράγματα, έχω χρησιμοποιήσει επίσης ένα μικρό σανίδι ψωμιού. Μπορείτε να βρείτε το σχηματικό διάγραμμα που επισυνάπτεται εδώ.

Όπως μπορείτε να δείτε, το έργο λειτουργεί καλά και εμφανίζει τη θερμοκρασία και την υγρασία σε πραγματικό χρόνο.

Ας ρίξουμε τώρα μια γρήγορη ματιά στον κώδικα του έργου. Με μόλις 60 γραμμές κώδικα, μπορούμε να δημιουργήσουμε ένα έργο σαν αυτό! Τι ωραίο που είναι! Το μόνο που χρειάζεται να κάνουμε για να χρησιμοποιήσουμε την οθόνη είναι να χρησιμοποιήσουμε αυτόν τον κατασκευαστή:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* reset =* / 8);

προετοιμάστε την οθόνη στη λειτουργία ρύθμισης:

u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);

και στη συνέχεια το μόνο που κάνουμε είναι να σχεδιάσουμε τα πλαίσια και τις χορδές για τη θερμοκρασία και την υγρασία:

u8g2.drawFrame (0, 0, 128, 31);

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Θερμοκρασία");

Το τελευταίο που πρέπει να κάνουμε είναι να διαβάσουμε τη θερμοκρασία και την υγρασία από τον αισθητήρα και να εμφανίσουμε την ένδειξη και στην οθόνη.

void readTemperature ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, θερμοκρασία); }

Όπως πάντα, μπορείτε να βρείτε τον κωδικό του έργου που επισυνάπτεται εδώ.

Βήμα 4: Τελικές σκέψεις

Τελικές σκέψεις
Τελικές σκέψεις

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

Θα ήθελα πολύ να μάθω τη γνώμη σας για αυτήν την οθόνη. Τι είδους εφαρμογές πιστεύετε ότι θα επωφεληθούν από μια οθόνη όπως αυτή; Ευχαριστώ για τις ιδέες σας και για την ανάγνωση αυτού του Instructable. Θα τα πούμε την επόμενη φορά!

Συνιστάται: