Πίνακας περιεχομένων:
- Βήμα 1: Υλικά που χρησιμοποιούνται
- Βήμα 2: Το σενάριο MakeCode/JavaScript
- Βήμα 3: Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
- Βήμα 4: Αντανακλαστικό φως RGB και μετρήσεις φωτεινότητας
- Βήμα 5: Αντανακλαστικές μετρήσεις φωτός: Λουλούδια
Βίντεο: Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Δούλευα σε μερικές συσκευές που επιτρέπουν μετρήσεις φωτός και χρώματος στο παρελθόν και μπορεί να βρείτε πολλά σχετικά με τη θεωρία πίσω από τέτοιες μετρήσεις, οι οδηγίες εδώ και εδώ.
Η Pimoroni κυκλοφόρησε πρόσφατα το enviro: bit, ένα πρόσθετο για το micro: bit, που συνοδεύεται από μικρόφωνο MEMS για μετρήσεις στάθμης ήχου, αισθητήρα θερμοκρασίας/υγρασίας/πίεσης αέρα BME280 και αισθητήρα φωτός και χρώματος TCS3475 (RGBC). Επιπλέον, υπάρχουν δύο LED που τοποθετούνται στις πλευρές του αισθητήρα χρώματος, επιτρέποντας τη μέτρηση του χρώματος των αντικειμένων με το ανακλώμενο φως. Η κατασκευή ενός εργαλείου μόνοι σας για να εκτελέσετε αυτές τις μετρήσεις δεν ήταν ποτέ ευκολότερη.
Εδώ θα ήθελα να περιγράψω πώς το enviro: μπορεί να χρησιμοποιηθεί για μετρήσεις χρώματος και φωτός και το σενάριο MakeCode που επιτρέπει την εκτέλεση αυτών. Ο συνδυασμός micro: bit και enviro: bit είναι μια ωραία και φθηνή συσκευή για να δείξει τις αρχές των επιστημονικών μετρήσεων πρακτικά και να παίξει μαζί τους.
Αυτό το διδακτικό είναι μέρος του διαγωνισμού "Rainbow". Αν σας αρέσει, δώστε την ψήφο σας. Ευχαριστώ
Βήμα 1: Υλικά που χρησιμοποιούνται
Micro: bit, 13 GBP στο Pimoroni.
Pimoroni Enviro: bit, 20 GBP στο Pimoroni.
Pimoroni Power: bit, 6 GBP στο Piomoroni. Μπορείτε επίσης να χρησιμοποιήσετε μπαταρίες ή LiPo για το micro: bit
Μπλοκ δείγματος χρώματος φίλτρου Rosco Cinegel. Πήρα το δικό μου από το Modulor του Βερολίνου.
Χρωματιστά πλαστικά ποτήρια IKEA. ΙΚΕΑ, Βερολίνο.
Άγρια λουλούδια. Λιβάδι στο Πότσνταμ-Γκολμ.
Βήμα 2: Το σενάριο MakeCode/JavaScript
Η Pimoroni έχει αναπτύξει μια βιβλιοθήκη για το Enviro: bit, τόσο για το περιβάλλον κωδικοποίησης MakeCode/JavaScript όσο και για το MicroPython. Εδώ έχω χρησιμοποιήσει το MakeCode, καθώς τα σενάρια μπορούν να μεταφορτωθούν απευθείας στο micro: bit και επιτρέπει την κωδικοποίηση μπλοκ.
Το σενάριο διαβάζει τις τιμές των κόκκινων, πράσινων και μπλε (RGB) και των διαυγών (C) καναλιών. Οι πρώτες δίνονται σε τιμές από 0 έως 255, οι δεύτερες σε όλο το εύρος από 0 έως περίπου 61000.
Το εύρος του διαυγούς καναλιού είναι πολύ ευρύ και επιτρέπει μετρήσεις από το έντονο φως της ημέρας έως ένα σκοτεινό δωμάτιο.
Μέχρι τώρα δεν καταλαβαίνω όλες τις λεπτομέρειες της λειτουργίας μέτρησης χρώματος, αλλά υποθέτω ότι έχουν εφαρμόσει κάποιους μηχανισμούς διόρθωσης και κανονικοποίησης.
Αρχικά, λαμβάνονται οι τιμές και των τεσσάρων καναλιών. Για να μπορέσετε να εμφανίσετε τα αποτελέσματα στη μήτρα LED 5x5, οι μετρημένες τιμές χρησιμοποιούνται για την τοποθέτηση των αποτελεσμάτων σε κάδους 5 (RGB) ή 10 (C), που αντιπροσωπεύονται από ένα LED σε έναν (R, G, B) ή δύο (Γ) σειρές.
Στην περίπτωση του RGB, η κλιμάκωση είναι γραμμική και το μέγεθος του διαστήματος κάθε κάδου είναι 51 μονάδες πλάτος. Στην περίπτωση του C, η κλιμάκωση είναι λογαριθμική σε 10 βήματα (log3, οπότε κάθε βήμα είναι το 3πλάσιο του προηγούμενου). Αυτό επιτρέπει την εμφάνιση πολύ αμυδρών και πολύ φωτεινών συνθηκών.
Πατώντας το κουμπί A εμφανίζονται οι τιμές R, G και B σε αριθμούς, πατώντας το B την τιμή C. Το A+B ενεργοποιεί τα LED και το B θα τα κλείσει.
ας bR = 0 // κάδους
ας bG = 0 ας bB = 0 ας bS = 0 ας bC = 0 ας bCx = 0 ας S = 0 // μετρημενες τιμες ας C = 0 ας β = 0 ας G = 0 ας R = 0 βασικα. για παντα (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} else if (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} αλλιώς αν (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)}} else {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 if (R> = 204) { // binning, max 255 bR = 4} else if (R> = 153) {bR = 3} else if (R> = 102) {bR = 2} else if (R> = 51) {bR = 1} αλλιώς {bR = 0} if (G> = 204) {bG = 4} else if (G> = 153) {bG = 3} else if (G> = 102) {bG = 2} else if (G> = 51) {bG = 1} else {bG = 0} if (B> = 204) {bB = 4} else if (B> = 153) {bB = 3} else if (B> = 102) {bB = 2} else if (B> = 51) {bB = 1} else {bB = 0} if (C> = 60000) {// Κορεσμός bCx = 4} αλλιώς αν (C> = 20000) {bCx = 3} αλλιώς αν (C> = 6600) {bCx = 2} αλλού εάν (C> = 2200) {bCx = 1} άλλο εάν (C> = 729) {bCx = 0} else if (C> = 243) {bC = 4} else if (C> = 81) {bC = 3} else if (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // γράψτε στο led basic.clearScreen () if (bCx <5) {led.plot (1, bCx)} else {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})
Βήμα 3: Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Όπως προαναφέρθηκε, υπάρχουν δύο τρόποι μέτρησης χρώματος: η φασματοσκοπία μεταδιδόμενου και ανακλώμενου φωτός. Στη λειτουργία εκπομπής φωτός, το φως περνά μέσα από ένα έγχρωμο φίλτρο ή διάλυμα στον αισθητήρα. Σε μετρήσεις ανακλώμενου φωτός, το φως που εκπέμπεται π.χ. από τις λυχνίες LED αντανακλάται από ένα αντικείμενο και ανιχνεύεται από τον αισθητήρα.
Οι τιμές RGB εμφανίζονται στη συνέχεια στην 3η έως την 5η σειρά του πίνακα micro: bit 5x5 LED, με τα επάνω LED να αντιπροσωπεύουν χαμηλά, τα χαμηλότερα LED τις υψηλές τιμές.
Για τα πειράματα που φαίνονται εδώ στις μετρήσεις του μεταδιδόμενου φωτός χρησιμοποίησα το φως της ημέρας και τοποθέτησα έγχρωμα φίλτρα από ένα πακέτο δειγμάτων Rosco μπροστά από τον αισθητήρα. Μπορείτε να δείτε τα εφέ στην οθόνη, ειδικά στο κόκκινο κανάλι. Ρίξτε μια ματιά στις εικόνες και συγκρίνετε τα μοτίβα.
Για να διαβάσετε τις πραγματικές τιμές, απλώς πατήστε το κουμπί A.
Βήμα 4: Αντανακλαστικό φως RGB και μετρήσεις φωτεινότητας
Για μετρήσεις ανακλώμενου φωτός άναψα τα LED (κουμπί [A+B]) και τοποθέτησα μερικά έντονα χρωματισμένα κομμάτια παιδικών ποτηριών IKEA μπροστά από τον αισθητήρα. Όπως φαίνεται από τις εικόνες, οι τιμές RGB αλλάζουν όπως αναμενόταν.
Για μετρήσεις φωτεινότητας, εμφανίζονται χαμηλές τιμές στην πρώτη, υψηλές τιμές στη δεύτερη σειρά. Χαμηλές τιμές στο επάνω, υψηλότερες τιμές στα χαμηλότερα LED. Για να διαβάσετε την ακριβή τιμή, πατήστε το κουμπί Β.
Βήμα 5: Αντανακλαστικές μετρήσεις φωτός: Λουλούδια
Μάζεψα μερικά άγρια λουλούδια από ένα λιβάδι και προσπάθησα να κάνω κάποιες μετρήσεις χρώματος σε αυτά. Beenταν παπαρούνα, καλαμποκάλευρο, καφέ νυχτολούλουδο, αρκουδάκι τοίχου και φύλλο νταλάντελον. Οι τιμές RGB ήταν [R, G, B]:
- κανένα [92, 100, 105]
- παπαρούνα (κόκκινο) [208, 98, 99]
- αραβοσίτου (μπλε) [93, 96, 138]
- καφέ knapweed (λιλά) [122, 97, 133]
- τοίχο harkweed (κίτρινο) [144, 109, 63]
- φύλλο πικραλίδα (πράσινο) [164, 144, 124]
Αυτό ταιριάζει στις προσδοκίες, τουλάχιστον για τα τρία πρώτα φυτά. Για να εμφανίσετε τα χρώματα από τις τιμές, μπορείτε να χρησιμοποιήσετε μια αριθμομηχανή χρωμάτων, όπως αυτή εδώ.
Συνιστάται:
Χρήση του Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express: 8 Βήματα
Χρήση του Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express: Το Pimoroni Enviro+ FeatherWing είναι ένας πίνακας γεμάτος αισθητήρες σχεδιασμένος για να λειτουργεί με τη σειρά σανίδων Adafruit Feather. Είναι ένα χρήσιμο μέρος για να ξεκινήσετε για όποιον ενδιαφέρεται για περιβαλλοντική παρακολούθηση, ατμοσφαιρική ρύπανση και συλλογή δεδομένων. ΕΓΩ
IoT Hydroponics - Χρησιμοποιώντας το Watson της IBM για μετρήσεις PH και EC: 7 βήματα (με εικόνες)
IoT Hydroponics - Χρησιμοποιώντας το Watson της IBM για μετρήσεις PH και EC: Αυτό το διδακτικό θα δείξει πώς να παρακολουθείτε το EC, το pH και τη θερμοκρασία μιας εγκατάστασης υδροπονίας και να ανεβάζετε τα δεδομένα στην υπηρεσία Watson της IBM. Ο Watson είναι ελεύθερος να ξεκινήσει. Υπάρχουν σχέδια επί πληρωμή, αλλά το δωρεάν πρόγραμμα είναι παραπάνω από αρκετό για αυτό το έργο
Διακόπτης τηλεχειριζόμενου φωτός Bluetooth - Μετασκευή. Διακόπτης φωτός ακόμα λειτουργεί, χωρίς επιπλέον εγγραφή .: 9 βήματα (με εικόνες)
Διακόπτης τηλεχειριζόμενου φωτός Bluetooth - Μετασκευή. Ο διακόπτης φωτός εξακολουθεί να λειτουργεί, χωρίς επιπλέον εγγραφή .: Ενημέρωση 25 Νοεμβρίου 2017 - Για έκδοση υψηλής ισχύος αυτού του έργου που μπορεί να ελέγξει κιλοβάτ φορτίου, ανατρέξτε στην ενότητα Επαναπροσαρμογή ελέγχου BLE σε φορτία υψηλής ισχύος - Δεν απαιτείται επιπλέον παροχή Ενημέρωση 15 Νοεμβρίου 2017 - Ορισμένες πλακέτες BLE / στοίβες λογισμικού με
Διακόπτης ενεργοποιημένου φωτός κίνησης με αισθητήρα φωτός: 5 βήματα
Διακόπτης ενεργοποιημένου φωτός κίνησης με αισθητήρα φωτός: Ο διακόπτης ενεργοποιημένου φωτός κίνησης έχει πολλές εφαρμογές τόσο στο σπίτι όσο και στο γραφείο. Αυτό, ωστόσο, έχει προσθέσει το πλεονέκτημα της ενσωμάτωσης ενός αισθητήρα φωτός, έτσι ώστε αυτό το φως να ενεργοποιείται μόνο τη νύχτα
Πείστε τον εαυτό σας να χρησιμοποιεί απλώς έναν μετατροπέα γραμμής 12V σε AC για χορδές φωτός LED αντί να τους επανασυνδέετε για 12V .: 3 βήματα
Πείστε τον εαυτό σας να χρησιμοποιεί απλώς έναν μετατροπέα 12V-σε-AC-line για χορδές φωτός LED αντί να τους επανασυνδέει για 12V .: Το σχέδιό μου ήταν απλό. Wantedθελα να κόψω μια φωτεινή λυχνία LED με τοίχο σε κομμάτια και στη συνέχεια να την ξανασύρσω για να σβήσει 12 βολτ. Η εναλλακτική λύση ήταν να χρησιμοποιήσετε έναν μετατροπέα ισχύος, αλλά όλοι γνωρίζουμε ότι είναι τρομερά αναποτελεσματικοί, σωστά; Σωστά? Or μήπως είναι;