Υπολογισμός έντασης φωτός με χρήση BH1715 και σωματιδίου φωτονίου: 5 βήματα
Υπολογισμός έντασης φωτός με χρήση BH1715 και σωματιδίου φωτονίου: 5 βήματα
Anonim
Image
Image

Χθες δουλεύαμε σε οθόνες LCD και ενώ τις δουλεύαμε συνειδητοποιήσαμε τη σημασία του υπολογισμού της έντασης του φωτός. Η ένταση του φωτός δεν είναι σημαντική μόνο στη φυσική περιοχή αυτού του κόσμου, αλλά έχει τον καλά αναφερόμενο ρόλο της και στον βιολογικό τομέα. Η ακριβής εκτίμηση της έντασης του φωτός παίζει κεντρικό ρόλο στο οικοσύστημά μας, στην ανάπτυξη των φυτών κλπ. Έτσι, για την εξυπηρέτηση αυτού του σκοπού, μελετήσαμε αυτόν τον αισθητήρα BH1715, ο οποίος είναι ένας σειριακός αισθητήρας φωτισμού περιβάλλοντος 16-bit σειριακής εξόδου.

Σε αυτό το σεμινάριο, πρόκειται να επιδείξουμε τη λειτουργία του BH1715 με το Particle Photon. Το Particle Photon είναι αυτός ο πίνακας που μπορεί πραγματικά να διευκολύνει τον έλεγχο οποιασδήποτε συσκευής μέσω του Διαδικτύου.

Το υλικό που θα χρειαστείτε για αυτό το σκοπό είναι το ακόλουθο:

1. BH1715 - Αισθητήρας φωτός περιβάλλοντος

2. Φωτόνιο σωματιδίων

3. Καλώδιο I2C

4. I2C Shield For Particle Photon

Βήμα 1: Επισκόπηση BH1715:

Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!

Πρώτα απ 'όλα θα θέλαμε να σας εξοικειώσουμε με τα βασικά χαρακτηριστικά της μονάδας αισθητήρα που είναι το BH1715 και το πρωτόκολλο επικοινωνίας στο οποίο λειτουργεί.

Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτός περιβάλλοντος με διεπαφή διαύλου I²C. Το BH1715 χρησιμοποιείται συνήθως για τη λήψη δεδομένων φωτισμού περιβάλλοντος για τη ρύθμιση της ισχύος του οπίσθιου φωτισμού LCD και πληκτρολογίου για κινητές συσκευές. Αυτή η συσκευή προσφέρει ανάλυση 16-bit και ρυθμιζόμενο εύρος μέτρησης, επιτρέποντας την ανίχνευση από 0,23 έως 100, 000 lux.

Το πρωτόκολλο επικοινωνίας στο οποίο λειτουργεί ο αισθητήρας είναι I2C. Το I2C σημαίνει το ενσωματωμένο κύκλωμα. Είναι ένα πρωτόκολλο επικοινωνίας στο οποίο η επικοινωνία πραγματοποιείται μέσω γραμμών SDA (σειριακά δεδομένα) και SCL (σειριακό ρολόι). Επιτρέπει τη σύνδεση πολλαπλών συσκευών ταυτόχρονα. Είναι ένα από τα πιο απλά και αποτελεσματικά πρωτόκολλα επικοινωνίας.

Βήμα 2: Αυτό που χρειάζεστε..

Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!

Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:

1. BH1715 - Αισθητήρας φωτός περιβάλλοντος

2. Φωτόνιο σωματιδίων

3. Καλώδιο I2C

4. I2C Shield for Particle Photon

Βήμα 3: Σύνδεση υλικού:

Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού

Το τμήμα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του raspberry pi. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:

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

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

Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.

Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.

Βήμα 4: Κωδικός σωματιδίου μέτρησης έντασης φωτός:

Κωδικός σωματιδίου μέτρησης έντασης φωτός
Κωδικός σωματιδίου μέτρησης έντασης φωτός
Κωδικός σωματιδίου μέτρησης έντασης φωτός
Κωδικός σωματιδίου μέτρησης έντασης φωτός

Ας ξεκινήσουμε με τον κωδικό σωματιδίων τώρα.

Κατά τη χρήση της μονάδας αισθητήρα με το arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη application.h και spark_wiring_i2c.h. Η βιβλιοθήκη "application.h" και spark_wiring_i2c.h περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και του σωματιδίου.

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

#περιλαμβάνω

#περιλαμβάνω

// Η διεύθυνση BH1715 I2C είναι 0x23 (35)

#define Addr 0x23

int φωτεινότητα = 0;

void setup ()

{

// Ορισμός μεταβλητής

Particle.variable ("i2cdevice", "BH1715");

Particle.variable ("φωτεινότητα", φωτεινότητα)?

// Αρχικοποίηση επικοινωνίας I2C ως MASTER

Wire.begin ();

// Αρχικοποίηση σειριακής επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600

Serial.begin (9600);

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Αποστολή εντολής ενεργοποίησης

Wire.write (0x01);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Αποστολή εντολής συνεχούς μέτρησης

Wire.write (0x10);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

καθυστέρηση (300)?

}

κενός βρόχος ()

{

ανυπόγραφα δεδομένα int [2];

// Αίτηση δεδομένων 2 byte

Wire.requestFrom (Addr, 2)?

// Διαβάστε 2 byte δεδομένων

// ALS msb, ALS lsb

εάν (Wire.available () == 2)

{

δεδομένα [0] = Wire.read ();

δεδομένα [1] = Wire.read ();

}

καθυστέρηση (300)?

// Μετατρέψτε τα δεδομένα

φωτεινότητα = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xFF)) / 1.20;

// Έξοδος δεδομένων στον πίνακα ελέγχου

Particle.publish ("Ambient Light Luminance:", String (luminance));

}

Βήμα 5: Εφαρμογές:

Εφαρμογές
Εφαρμογές

Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτισμού περιβάλλοντος εξόδου που μπορεί να ενσωματωθεί σε κινητό τηλέφωνο, τηλεόραση LCD, ΣΗΜΕΙΩΣΗ Η / Υ κ.λπ. Μπορεί επίσης να χρησιμοποιηθεί σε φορητή μηχανή παιχνιδιών, ψηφιακή φωτογραφική μηχανή, ψηφιακή βιντεοκάμερα, PDA, οθόνη LCD και πολλές άλλες συσκευές που απαιτούν αποτελεσματικές εφαρμογές ανίχνευσης φωτός.

Συνιστάται: