Μετά την αναγνώριση του αισθητήρα χρώματος AJS09 [εδώ], σειρά είχε η δημιουργία blocks για το [s1-extensions] ώστε να μπορεί να αξιοποιηθεί σε έργα Mind+.

Δημιούργησα τα 2 παρακάτω blocks:
[0]

Το παραπάνω block, δίνει τη δυνατότητα λήψης τιμών χρωματικών συνιστωσών (Red – Green – Blue – White) αλλά και θερμοκρασίας χρώματος και περιβαλλοντικού φωτός. Αυτό ήταν το εύκολο κομμάτι γιατί οι παραπάνω τιμές λαμβάνονται απευθείας από την αντίστοιχη βιβλιοθήκη Arduino [VEML6040].
[1]

Το δεύτερο block, επιχειρεί να “αναγνωρίσει” το χρώμα και να το αντιστοιχίσει σε μια σειρά από λεκτικές τιμές. Όπως δηλαδή λειτουργεί ο αντίστοιχος αισθητήρας του kit Lego Spike. Σε αυτό το κομμάτι όμως υπάρχει μια αντικειμενική δυσκολία. Υπάρχουν διάφοροι αλγόριθμοι μετατροπής τιμών R-G-B-W σε τιμές Hue και από εκεί σε λεκτικές τιμές χρωμάτων. Επειδή χρειαζόταν επιπρόσθετος κώδικας, έκανα fork την αρχική βιβλιοθήκη VEML6040 και πρόσθεσα δύο μεθόδους. Το fork είναι διαθέσιμο [εδώ]. Ο κύκλος τιμών Hue που χρησιμοποιείται για την μετατροπή τιμών σε λεκτικά είναι ο παρακάτω:

Το δεύτερο block λοιπόν, υπολογίζει την τιμή του hue και επιστρέφει ένα λεκτικό χρώματος το οποίο μπορεί να είναι ένα από τα παρακάτω (πεδίο τιμών):
κόκκινο
κίτρινο
πράσινο
γαλάζιο
μπλε
ματζέντα
άσπρο
μαύρο
γκρι
Ακολουθεί ένα ενδεικτικό σενάριο, στο οποίο ανάβει το ενσωματωμένο πάνω στο S1 led D13 κάθε φορά που περνά μπροστά από τον αισθητήρα αντικείμενο κόκκινου χρώματος.

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