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

Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit: 5 βήματα
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit: 5 βήματα

Βίντεο: Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit: 5 βήματα

Βίντεο: Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit: 5 βήματα
Βίντεο: Η (διπλή;) φύση του φωτός 2024, Ιούλιος
Anonim
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit
Μετρήσεις φωτός και χρώματος Με το Pimoroni Enviro: bit για το Micro: bit

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

Η 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: Λειτουργία μεταδιδόμενου φωτός

Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός
Λήψη μετρήσεων RGB: Λειτουργία μεταδιδόμενου φωτός

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

Οι τιμές RGB εμφανίζονται στη συνέχεια στην 3η έως την 5η σειρά του πίνακα micro: bit 5x5 LED, με τα επάνω LED να αντιπροσωπεύουν χαμηλά, τα χαμηλότερα LED τις υψηλές τιμές.

Για τα πειράματα που φαίνονται εδώ στις μετρήσεις του μεταδιδόμενου φωτός χρησιμοποίησα το φως της ημέρας και τοποθέτησα έγχρωμα φίλτρα από ένα πακέτο δειγμάτων Rosco μπροστά από τον αισθητήρα. Μπορείτε να δείτε τα εφέ στην οθόνη, ειδικά στο κόκκινο κανάλι. Ρίξτε μια ματιά στις εικόνες και συγκρίνετε τα μοτίβα.

Για να διαβάσετε τις πραγματικές τιμές, απλώς πατήστε το κουμπί A.

Βήμα 4: Αντανακλαστικό φως RGB και μετρήσεις φωτεινότητας

Αντανάκλαση φωτός RGB και μετρήσεις φωτεινότητας
Αντανάκλαση φωτός RGB και μετρήσεις φωτεινότητας
Αντανάκλαση φωτός RGB και μετρήσεις φωτεινότητας
Αντανάκλαση φωτός RGB και μετρήσεις φωτεινότητας
Αντανάκλαση φωτός RGB και μετρήσεις φωτεινότητας
Αντανάκλαση φωτός 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]

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

Συνιστάται: