Πίνακας περιεχομένων:
- Βήμα 1: Αποκτήστε όλα τα μέρη
- Βήμα 2: Ο αισθητήρας φωτός BH1750
- Βήμα 3: Nokia 5110 LCD
- Βήμα 4: Δημιουργία του μετρητή φωτός
- Βήμα 5: Ο Κώδικας του Έργου
- Βήμα 6: Δοκιμή του έργου
Βίντεο: Arduino DIY Light Meter With BH1750 Sensor: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σε αυτό το Instructable θα σας δείξω πώς να φτιάξετε έναν μετρητή φωτός με μια μεγάλη οθόνη Nokia 5110 LCD χρησιμοποιώντας το Arduino.
Η οικοδόμηση ενός μετρητή φωτός είναι μια μεγάλη μαθησιακή εμπειρία. Όταν ολοκληρώσετε την κατασκευή αυτού του έργου, θα έχετε καλύτερη κατανόηση για το πώς λειτουργούν οι μετρητές φωτός και θα δείτε στην πράξη πόσο ισχυρή μπορεί να είναι η πλατφόρμα Arduino. Με αυτό το έργο ως βάση και την εμπειρία που αποκτήσατε, θα μπορείτε εύκολα να δημιουργήσετε πιο σύνθετα έργα στο μέλλον. Μπορείτε να χρησιμοποιήσετε αυτό το έργο για να παρακολουθείτε τις συνθήκες φωτισμού του εργασιακού σας περιβάλλοντος, των φυτών σας και ούτω καθεξής. Χωρίς άλλη καθυστέρηση, ας ξεκινήσουμε!
Βήμα 1: Αποκτήστε όλα τα μέρη
Τα μέρη που απαιτούνται για την κατασκευή αυτού του έργου είναι τα εξής:
- Arduino Uno ▶
- BH1750 ▶
- Nokia 5110 LCD ▶
- Small Breadboard ▶
- Καλώδια ▶
Το κόστος του έργου είναι περίπου $ 12.
Βήμα 2: Ο αισθητήρας φωτός BH1750
Ο αισθητήρας έντασης φωτός BH1750 είναι υπέροχος και πολύ εύκολος στη χρήση αισθητήρας. Αυτός ο πίνακας ξεμπλοκαρίσματος διαθέτει ενσωματωμένο μετατροπέα AD 16 bit ο οποίος μπορεί να εξάγει άμεσα ένα ψηφιακό σήμα, δεν χρειάζεται περίπλοκοι υπολογισμοί.
Αυτός ο πίνακας είναι καλύτερος από ένα LDR που βγάζει μόνο τάση. Με τον αισθητήρα φωτός BH1750 η ένταση μπορεί να μετρηθεί απευθείας με το πολυμετρητή, χωρίς να χρειάζεται να κάνετε υπολογισμούς. Τα δεδομένα που εξάγονται από αυτόν τον αισθητήρα εξάγονται απευθείας σε Lux (Lx).
Ο αισθητήρας χρησιμοποιεί τη διεπαφή I2C, οπότε είναι πολύ εύκολος στη χρήση με το Arduino. Χρειάζεται μόνο να συνδέσετε 2 καλώδια.
Επίσης η τιμή του αισθητήρα είναι πολύ χαμηλή, είναι περίπου 2 $.
Μπορείτε να το αποκτήσετε εδώ: ▶
Βήμα 3: Nokia 5110 LCD
Το Nokia 5110 είναι η αγαπημένη μου οθόνη για τα έργα μου Arduino.
Το Nokia 5110 είναι μια βασική οθόνη γραφικών LCD που προοριζόταν αρχικά ως οθόνη κινητού τηλεφώνου. Χρησιμοποιεί τον ελεγκτή PCD8544, ο οποίος είναι ελεγκτής/οδηγός CMOS LCD χαμηλής ισχύος. Εξαιτίας αυτού, αυτή η οθόνη έχει εντυπωσιακή κατανάλωση ενέργειας. Χρησιμοποιεί μόνο 0,4mA όταν είναι ενεργοποιημένο αλλά ο οπίσθιος φωτισμός είναι απενεργοποιημένος. Χρησιμοποιεί λιγότερο από 0,06mA όταν βρίσκεται σε κατάσταση ύπνου! Αυτός είναι ένας από τους λόγους που κάνουν αυτήν την οθόνη την αγαπημένη μου. Το PCD8544 διασυνδέεται με μικροελεγκτές μέσω μιας διεπαφής σειριακού διαύλου. Αυτό καθιστά την οθόνη πολύ εύκολη στη χρήση με το Arduino.
Χρειάζεται μόνο να συνδέσετε 8 καλώδια και να χρησιμοποιήσετε την ακόλουθη βιβλιοθήκη:
Αυτή η εντυπωσιακή βιβλιοθήκη αναπτύχθηκε από τον Henning Karlsen, ο οποίος κατέβαλε τεράστια προσπάθεια για να βοηθήσει την κοινότητα Arduino να προχωρήσει με τις βιβλιοθήκες του.
Έχω ετοιμάσει ένα λεπτομερές σεμινάριο για τον τρόπο χρήσης της οθόνης LCD Nokia 5110 με το Arduino. Έχω επισυνάψει αυτό το βίντεο σε αυτό το Instructable, θα παράσχει χρήσιμες πληροφορίες σχετικά με την οθόνη, οπότε σας ενθαρρύνω να το παρακολουθήσετε προσεκτικά.
Το κόστος της οθόνης είναι περίπου $ 4.
Μπορείτε να το αποκτήσετε εδώ:
Βήμα 4: Δημιουργία του μετρητή φωτός
Ας συνδέσουμε τώρα όλα τα μέρη μαζί.
Στην αρχή συνδέουμε τη μονάδα αισθητήρα BH1750 Light. Έχει μόνο 5 ακίδες αλλά θα συνδέσουμε 4 από αυτές.
Σύνδεση του αισθητήρα τάσης
Το Vcc Pin πηγαίνει στο 5V του Arduino
Το GND Pin πηγαίνει στο GND του Arduino
Το SCL Pin πηγαίνει στο Analog Pin 5 του Arduino Uno
Το SDA Pin πηγαίνει στο Analog Pin 4 του Arduino Uno
Η καρφίτσα διεύθυνσης παραμένει χωρίς σύνδεση
Το επόμενο βήμα είναι να συνδέσετε την οθόνη LCD Nokia 5110.
Σύνδεση της οθόνης LCD Nokia 5110
Το RST πηγαίνει στο Digital Pin 12 του Arduino
Το CE πηγαίνει στο Digital Pin 11 του Arduino
Το DC πηγαίνει στο Digital Pin 10 του Arduino
Το DIN πηγαίνει στο Digital Pin 9 του Arduino
Το CLK πηγαίνει στο Digital Pin 8 του Arduino
Το VCC πηγαίνει στο Arduino 3.3V LIGHT πηγαίνει στο Arduino GND (οπίσθιος φωτισμός ενεργοποιημένος)
Το GND πηγαίνει στο Arduino GND
Τώρα που έχουμε συνδέσει όλα τα μέρη μαζί, το μόνο που έχουμε να κάνουμε είναι να φορτώσουμε τον κώδικα. Εμφανίζεται μια οθόνη Splash για μερικά δευτερόλεπτα και στη συνέχεια μπορούμε να αρχίσουμε τη μέτρηση της έντασης φωτός σε πραγματικό χρόνο!
Βήμα 5: Ο Κώδικας του Έργου
Ο κώδικας του έργου αποτελείται από 3 αρχεία.
splash.cui.c
ui.c
BH1750LightMeter.ino
Κωδικός - Εικόνα οθόνης εκτόξευσης
Στο πρώτο αρχείο splash.c, υπάρχουν οι δυαδικές τιμές της οθόνης splash που εμφανίζεται στην οθόνη Nokia 5110 LCD όταν εκκινείται το έργο. Παρακαλούμε δείτε το συνημμένο βίντεο που έχω ετοιμάσει για να δείτε πώς να φορτώσετε τα προσαρμοσμένα γραφικά σας στο Arduino Project σας.
Κωδικός ui.c - Το περιβάλλον εργασίας χρήστη
Στο αρχείο ui.c, υπάρχουν οι δυαδικές τιμές της διεπαφής χρήστη που εμφανίζονται μετά την εμφάνιση του splash screen από το έργο. Παρακαλούμε δείτε το συνημμένο βίντεο που έχω ετοιμάσει για να δείτε πώς να φορτώσετε τα προσαρμοσμένα γραφικά σας στο Arduino Project σας.
Κωδικός UVMeter.ino - Κύριο Πρόγραμμα
Ο κύριος κώδικας του έργου είναι πολύ απλός. Πρέπει να συμπεριλάβουμε τη βιβλιοθήκη Nokia 5110. Στη συνέχεια δηλώνουμε μερικές μεταβλητές. Αρχικοποιούμε την οθόνη και εμφανίζουμε την οθόνη splash για 3 δευτερόλεπτα. Μετά από αυτό, εκτυπώνουμε το εικονίδιο ui μία φορά και διαβάζουμε την τιμή από τον αισθητήρα 150 χιλιοστά του δευτερολέπτου. Όλη η μαγεία συμβαίνει στη λειτουργία βρόχου:
void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Διαβάστε το φως του αισθητήρα = String (lux); // Μετατροπή σε συμβολοσειρά stringLength = light.length (); // Πρέπει να γνωρίζουμε το μήκος συμβολοσειράς lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Εκτύπωση της συμβολοσειράς στην οθόνη lcd.update (); καθυστέρηση (150)? }
Έχω επισυνάψει τον κώδικα σε αυτό το Instructable. Για να κατεβάσετε την τελευταία έκδοση του κώδικα, μπορείτε να επισκεφθείτε την ιστοσελίδα του έργου:
Βήμα 6: Δοκιμή του έργου
Τώρα που έχει φορτωθεί ο κωδικός, μπορούμε να δοκιμάσουμε τον μετρητή φωτός σε εσωτερικούς και εξωτερικούς χώρους. Το δοκιμάζω σε μια ηλιόλουστη ανοιξιάτικη μέρα εδώ στην Ελλάδα. Το αποτέλεσμα αν είναι φανταστικό. Μπορούμε να μετρήσουμε με ακρίβεια την ένταση του φωτός με εύκολο έργο κατασκευής.
Όπως μπορείτε να δείτε στις συνημμένες φωτογραφίες, το Light Meter λειτουργεί μια χαρά. Αυτό το έργο είναι μια μεγάλη επίδειξη του τι είναι ικανό το υλικό και το λογισμικό ανοιχτού κώδικα. Μέσα σε λίγα λεπτά μπορεί κανείς να χτίσει ένα τόσο εντυπωσιακό έργο! Αυτό το έργο είναι ιδανικό για αρχάριους και όπως είπα στην αρχή, αυτό το έργο είναι μια μεγάλη μαθησιακή εμπειρία. Θα ήθελα πολύ να ακούσω τη γνώμη σας για αυτό το έργο. Το θεωρείτε χρήσιμο; Υπάρχουν βελτιώσεις που μπορούν να εφαρμοστούν σε αυτό το έργο; Δημοσιεύστε τα σχόλια ή τις ιδέες σας στην παρακάτω ενότητα σχολίων!
Συνιστάται:
DIY Arduino Multifunction Energy Meter V1.0: 13 βήματα (με εικόνες)
DIY Arduino Multifunction Energy Meter V1.0: Σε αυτό το Instructable, θα σας δείξω πώς να φτιάξετε έναν μετρητή ενέργειας πολλαπλών χρήσεων με βάση το Arduino. Αυτός ο μικρός μετρητής είναι μια πολύ χρήσιμη συσκευή που εμφανίζει σημαντικές πληροφορίες για τις ηλεκτρικές παραμέτρους. Η συσκευή μπορεί να μετρήσει 6 χρήσιμες ηλεκτρικές παραμέτρους
DIY Breath Sensor With Arduino (Conductive Knitted Stretch Sensor): 7 βήματα (με εικόνες)
DIY Breath Sensor With Arduino (Conductive Knitted Stretch Sensor): Αυτός ο DIY αισθητήρας θα λάβει τη μορφή ενός αγώγιμου πλεκτού αισθητήρα τεντώματος. Θα τυλιχτεί γύρω από το στήθος/το στομάχι σας, και όταν το στήθος/το στομάχι σας διευρυνθεί και συσπαστεί το ίδιο και ο αισθητήρας, και κατά συνέπεια τα δεδομένα εισόδου που τροφοδοτούνται στο Arduino. Ετσι
Πώς να συνδέσετε και να χρησιμοποιήσετε GY -30 BH1750 Light Sensor (GY30 / GY302) - Easy - Arduino Project!: 7 βήματα
Πώς να συνδέσετε και να χρησιμοποιήσετε GY -30 BH1750 Light Sensor (GY30 / GY302) - Easy - Arduino Project!: Σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε γρήγορα και εύκολα τον αισθητήρα έντασης φωτός GY -30 BH1750 με το Arduino. Δείτε ένα βίντεο επίδειξης
DIY "PC User Meter ROG Base" χρησιμοποιώντας Arduino και Python: 5 βήματα (με εικόνες)
DIY "PC Usage Meter ROG Base" χρησιμοποιώντας Arduino και Python: ********************************** +Πρώτα απ 'όλα, αυτό το Instructables είχε γραφτεί από μη εγγενή αγγλόφωνο ομιλητή …… Όχι από αγγλικό καθηγητή, γι' αυτό παρακαλώ ενημερώστε οποιοδήποτε γραμματικό λάθος πριν με κοροϊδέψετε.: P +Και παρακαλώ μην μιμηθείτε
DIY 18V Makita Light Light: 9 βήματα (με εικόνες)
DIY 18V Makita Work Light: Δεν ξέρω για κανέναν άλλο, αλλά είχα αρκετά φώτα εργασίας που δεν είναι πολύ φωτεινά, περιορισμένα από ένα καλώδιο επέκτασης και δεν έχουν καμία άλλη λειτουργία σε αυτά. Ως μαθητευόμενος ηλεκτρολόγος, ξοδεύω τα μισά ο χρόνος μου δουλεύει στο σκοτάδι και είμαι ακόμα