Πίνακας περιεχομένων:
- Βήμα 1: Επισκόπηση BH1715:
- Βήμα 2: Αυτό που χρειάζεστε..
- Βήμα 3: Σύνδεση υλικού:
- Βήμα 4: Μέτρηση έντασης φωτός χρησιμοποιώντας κώδικα Java:
- Βήμα 5: Εφαρμογές:
Βίντεο: Μέτρηση έντασης φωτός με χρήση BH1715 και Raspberry Pi: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Χθες δουλεύαμε σε οθόνες LCD και ενώ τις δουλεύαμε συνειδητοποιήσαμε τη σημασία του υπολογισμού της έντασης του φωτός. Η ένταση του φωτός δεν είναι σημαντική μόνο στη φυσική περιοχή αυτού του κόσμου, αλλά έχει τον καλά αναφερόμενο ρόλο της και στον βιολογικό τομέα. Η ακριβής εκτίμηση της έντασης του φωτός παίζει κεντρικό ρόλο στο οικοσύστημά μας, στην ανάπτυξη των φυτών κλπ. Έτσι, για την εξυπηρέτηση αυτού του σκοπού, μελετήσαμε αυτόν τον αισθητήρα BH1715, ο οποίος είναι ένας σειριακός αισθητήρας φωτισμού περιβάλλοντος 16-bit σειριακής εξόδου.
Σε αυτό το σεμινάριο, θα παρουσιάσουμε τη λειτουργία του BH1715 με το Raspberry pi, χρησιμοποιώντας την Java ως γλώσσα προγραμματισμού.
Το υλικό που θα χρειαστείτε για αυτόν τον σκοπό είναι το ακόλουθο:
1. BH1715 - Αισθητήρας φωτός περιβάλλοντος
2. Raspberryy Pi
3. Καλώδιο I2C
4. I2C Shield For Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 1: Επισκόπηση BH1715:
Πρώτα απ 'όλα, θα θέλαμε να σας εξοικειώσουμε με τα βασικά χαρακτηριστικά της μονάδας αισθητήρα που είναι το BH1715 και το πρωτόκολλο επικοινωνίας στο οποίο λειτουργεί.
Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτός περιβάλλοντος με διεπαφή διαύλου I²C. Το BH1715 χρησιμοποιείται συνήθως για τη λήψη δεδομένων φωτισμού περιβάλλοντος για τη ρύθμιση της ισχύος του οπίσθιου φωτισμού LCD και πληκτρολογίου για κινητές συσκευές. Αυτή η συσκευή προσφέρει ανάλυση 16-bit και ρυθμιζόμενο εύρος μέτρησης, επιτρέποντας την ανίχνευση από 0,23 έως 100, 000 lux.
Το πρωτόκολλο επικοινωνίας στο οποίο λειτουργεί ο αισθητήρας είναι I2C. Το I2C σημαίνει το ενσωματωμένο κύκλωμα. Είναι ένα πρωτόκολλο επικοινωνίας στο οποίο η επικοινωνία πραγματοποιείται μέσω γραμμών SDA (σειριακά δεδομένα) και SCL (σειριακό ρολόι). Επιτρέπει τη σύνδεση πολλαπλών συσκευών ταυτόχρονα. Είναι ένα από τα πιο απλά και αποτελεσματικά πρωτόκολλα επικοινωνίας.
Βήμα 2: Αυτό που χρειάζεστε..
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. BH1715 - Αισθητήρας φωτός περιβάλλοντος
2. Raspberry Pi
3. Καλώδιο I2C
4. I2C Shield For Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 3: Σύνδεση υλικού:
Το τμήμα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του raspberry pi. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το BH1715 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής. Το μόνο που χρειάζεστε είναι τέσσερα καλώδια!
Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 4: Μέτρηση έντασης φωτός χρησιμοποιώντας κώδικα Java:
Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα για να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ ότι προγραμματίζει σε Java. Μπορείτε να κατεβάσετε τον κώδικα Java για το BH1715 από την κοινότητα GitHub που είναι το Dcube Store.
Εκτός από την ευκολία των χρηστών, εξηγούμε τον κώδικα και εδώ:
Ως πρώτο βήμα κωδικοποίησης, πρέπει να κατεβάσετε τη βιβλιοθήκη pi4j σε περίπτωση java, επειδή αυτή η βιβλιοθήκη υποστηρίζει τις λειτουργίες που χρησιμοποιούνται στον κώδικα. Έτσι, για να κατεβάσετε τη βιβλιοθήκη μπορείτε να επισκεφθείτε τον ακόλουθο σύνδεσμο:
pi4j.com/install.html
Μπορείτε να αντιγράψετε τον λειτουργικό κώδικα java για αυτόν τον αισθητήρα από εδώ επίσης:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// BH1715
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module BH1715_I2CS I2C που διατίθεται από το ControlEverything.com.
//
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice;
εισαγωγή com.pi4j.io.i2c. I2CFactory?
εισαγωγή java.io. IOException;
δημόσια τάξη BH1715
{
public static void main (String args ) ρίχνει Εξαίρεση
{
// Δημιουργία διαύλου I2C
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Λήψη συσκευής I2C, η διεύθυνση BH1715 I2C είναι 0x23 (35)
I2CDevice device = bus.getDevice (0x23);
// Αποστολή εντολής ενεργοποίησης
device.write ((byte) 0x01);
// Αποστολή εντολής συνεχούς μέτρησης
device.write ((byte) 0x10);
Thread.sleep (500);
// Διαβάστε 2 byte δεδομένων
// φωτεινότητα msb, φωτεινότητα lsb
byte data = new byte [2];
device.read (δεδομένα, 0, 2);
// Μετατροπή δεδομένων
διπλή φωτεινότητα = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xFF)) / 1,20;
// Έξοδος δεδομένων στην οθόνη
System.out.printf ("Φωτεινότητα περιβάλλοντος φωτός: %.2f lux %n", φωτεινότητα);
}
}
Η βιβλιοθήκη που διευκολύνει την επικοινωνία i2c μεταξύ του αισθητήρα και της πλακέτας είναι pi4j, τα διάφορα πακέτα I2CBus, I2CDevice και I2CFactory βοηθούν στη δημιουργία της σύνδεσης.
εισαγωγή com.pi4j.io.i2c. I2CBus; εισαγωγή com.pi4j.io.i2c. I2CDevice; εισαγωγή com.pi4j.io.i2c. I2CFactory? εισαγωγή java.io. IOException;
Αυτό το μέρος του κώδικα κάνει τον αισθητήρα να λειτουργεί για μέτρηση έντασης φωτός γράφοντας τις αντίστοιχες εντολές χρησιμοποιώντας τη λειτουργία εγγραφής () και στη συνέχεια τα δεδομένα διαβάζονται χρησιμοποιώντας τη λειτουργία ανάγνωσης ().
device.write ((byte) 0x01); // power on command
device.write ((byte) 0x10); // εντολή συνεχούς μέτρησης
byte data = new byte [2]; // Διαβάστε 2 byte δεδομένων
device.read (δεδομένα, 0, 2);
Τα δεδομένα που λαμβάνονται από τον αισθητήρα μετατρέπονται στην κατάλληλη μορφή χρησιμοποιώντας τα ακόλουθα:
διπλή φωτεινότητα = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xFF)) / 1,20;
Η έξοδος εκτυπώνεται χρησιμοποιώντας τη λειτουργία System.out.println (), στην ακόλουθη μορφή.
System.out.printf ("Φωτεινότητα περιβάλλοντος φωτός: %.2f lux %n", φωτεινότητα);
Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα.
Βήμα 5: Εφαρμογές:
Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτισμού περιβάλλοντος εξόδου που μπορεί να ενσωματωθεί σε κινητό τηλέφωνο, τηλεόραση LCD, ΣΗΜΕΙΩΣΗ Η / Υ κ.λπ. Μπορεί επίσης να χρησιμοποιηθεί σε φορητή μηχανή παιχνιδιών, ψηφιακή φωτογραφική μηχανή, ψηφιακή βιντεοκάμερα, PDA, οθόνη LCD και πολλές άλλες συσκευές που απαιτούν αποτελεσματικές εφαρμογές ανίχνευσης φωτός.
Συνιστάται:
Σχεδίαση έντασης φωτός με χρήση της Arduino και της Python's Arduino Master Library: 5 βήματα
Σχεδίαση έντασης φωτός με χρήση Arduino και Python's Arduino Master Library: Το Arduino είναι ένα οικονομικό αλλά εξαιρετικά αποδοτικό και λειτουργικό εργαλείο, ο προγραμματισμός του στο Embedded C καθιστά τη διαδικασία των έργων κουραστική! Η μονάδα Arduino_Master της Python απλοποιεί αυτό και μας επιτρέπει να εκτελούμε υπολογισμούς, να αφαιρούμε τιμές σκουπιδιών
Υπολογισμός έντασης φωτός με χρήση BH1715 και Arduino Nano: 5 βήματα
Υπολογισμός έντασης φωτός με χρήση BH1715 και Arduino Nano: Χθες δουλεύαμε σε οθόνες LCD και ενώ δουλεύαμε πάνω από αυτές συνειδητοποιήσαμε τη σημασία του υπολογισμού έντασης φωτός. Η ένταση του φωτός δεν είναι σημαντική μόνο στη φυσική περιοχή αυτού του κόσμου, αλλά έχει τον καλά αναφερόμενο ρόλο της στη βιολογία
Υπολογισμός έντασης φωτός με χρήση BH1715 και σωματιδίου φωτονίου: 5 βήματα
Υπολογισμός έντασης φωτός με χρήση BH1715 και σωματιδίου φωτονίου: Χθες δουλεύαμε σε οθόνες LCD και ενώ δουλεύαμε πάνω από αυτές συνειδητοποιήσαμε τη σημασία του υπολογισμού έντασης φωτός. Η ένταση του φωτός δεν είναι σημαντική μόνο στη φυσική περιοχή αυτού του κόσμου, αλλά έχει τον καλά αναφερόμενο ρόλο της στη βιολογία
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Raspberry Pi: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Raspberry Pi: Το HTS221 είναι ένας εξαιρετικά συμπαγής χωρητικός ψηφιακός αισθητήρας για σχετική υγρασία και θερμοκρασία. Περιλαμβάνει ένα στοιχείο ανίχνευσης και ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής μικτού σήματος (ASIC) για την παροχή των πληροφοριών μέτρησης μέσω ψηφιακού σειριακού
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: Το HIH6130 είναι αισθητήρας υγρασίας και θερμοκρασίας με ψηφιακή έξοδο. Αυτοί οι αισθητήρες παρέχουν επίπεδο ακρίβειας ± 4% RH. Με κορυφαία μακροπρόθεσμη σταθερότητα στη βιομηχανία, πραγματικό ψηφιακό I2C με αντιστάθμιση θερμοκρασίας, κορυφαία αξιοπιστία στη βιομηχανία, ενεργειακή απόδοση