Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Ιστορία
- Βήμα 2: Θεωρία και Μεθοδολογία
- Βήμα 3: Ρύθμιση υλικού
- Βήμα 4: Ρύθμιση λογισμικού
- Βήμα 5: Κωδικός αισθητήρα χρώματος Arduino
Βίντεο: Απλός αισθητήρας χρώματος DIY από το Magicbit: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το σεμινάριο θα μάθουμε πώς να φτιάξουμε έναν απλό αισθητήρα χρώματος χρησιμοποιώντας το Magicbit με το Arduino.
Προμήθειες
- Magicbit
- Καλώδιο USB-A σε Micro-USB
Βήμα 1: Ιστορία
Γεια σας παιδιά, μερικές φορές πρέπει να χρησιμοποιήσετε αισθητήρες χρώματος για κάποιους σκοπούς. Αλλά ίσως να μην ξέρετε πώς λειτουργούν. Σε αυτό το σεμινάριο θα μάθετε πώς να φτιάξετε έναν απλό αισθητήρα χρωμάτων DIY χρησιμοποιώντας το Magicbit με το Arduino. Ας ξεκινήσουμε.
Βήμα 2: Θεωρία και Μεθοδολογία
Σε αυτό το έργο αναμένουμε να σας διδάξουμε να κατασκευάζετε αισθητήρα χρώματος που μπορεί να ανιχνεύσει κόκκινο, πράσινο και μπλε χρώματα. Αυτό είναι πολύ βασικό παράδειγμα. Λοιπόν, πώς να το κάνετε αυτό. Για το σκοπό αυτό χρησιμοποιούμε μονάδα RGB του Magicbit και ενσωματωμένο LDR. Πρώτα απ 'όλα πρέπει να μάθετε για κάποια θεωρία. Αυτό αφορά την ποσότητα ανάκλασης φωτός. Τώρα κάνω μια ερώτηση από εσάς. Ποια έγχρωμη επιφάνεια που αντανακλά περισσότερο το κόκκινο χρώμα; επίσης ποιες επιφάνειες αντανακλούν κυρίως πράσινα και μπλε φώτα. Σκέψου λίγο. Η απάντηση όμως είναι απλή. Η κόκκινη επιφάνεια αντανακλά ως επί το πλείστον κόκκινο χρώμα. Επίσης, οι πράσινες και μπλε επιφάνειες θα αντανακλούν πράσινα και μπλε φώτα. Έτσι σε αυτό το έργο χρησιμοποιούμε αυτή τη θεωρία. Για να αναγνωρίσουμε το χρώμα εκπέμπουμε κόκκινα, πράσινα και μπλε φώτα ένα προς ένα. Κάθε φορά που μετράμε το μέγεθος της αντανάκλασης χρησιμοποιώντας την τιμή LDR. Εάν κάποιο φως θα δώσει μεγαλύτερη αντανάκλαση από άλλα δύο φώτα, τότε αυτή η επιφάνεια θα πρέπει να αντανακλάται ως επί το πλείστον έγχρωμη επιφάνεια.
Βήμα 3: Ρύθμιση υλικού
Αυτό είναι πολύ απλό. Συνδέστε τη μονάδα RGB στην επάνω δεξιά θύρα του Magicbit. Αυτή η μονάδα διαθέτει LED Neopixel WS2812B. Αυτό το LED έχει 4 ακίδες. Δύο για ισχύ και δύο για δεδομένα μέσα και έξω. Επειδή χρησιμοποιούμε ένα led, χρειαζόμαστε μόνο ακίδες ισχύος και δεδομένα σε ακίδα. Εάν δεν έχετε αυτήν τη μονάδα, μπορείτε να αγοράσετε και μονάδα Neopixel. Εάν αγοράσατε αυτό το είδος μονάδας, πρέπει να συνδέσετε ακίδες ισχύος και δεδομένα σε καρφίτσα στο Magicbit. Αυτό είναι πολύ εύκολο. Συνδέστε το VCC και το GND του Magicbit σε ακίδες τροφοδοσίας της μονάδας RGB και καρφίτσα D33 σε ακίδα δεδομένων.
Βήμα 4: Ρύθμιση λογισμικού
Το μεγαλύτερο μέρος γίνεται από τον προγραμματισμό. Χρησιμοποιούμε το Arduino IDE για να προγραμματίσουμε το Magicbit. Στον κώδικα χρησιμοποιούμε δύο βιβλιοθήκες. Είναι βιβλιοθήκη Adafruit Neopixel για έλεγχο Neopixel LED και βιβλιοθήκη Adafruit OLED για λαβή OLED. Στη ρύθμιση διαμορφώνουμε τις εισόδους και τις εξόδους μας. Διαμορφώστε επίσης την ενσωματωμένη οθόνη OLED στο Magicbit. Στο βρόχο ελέγχουμε ότι το αριστερό κουμπί είναι πατημένο ή όχι του Magicbit. Εάν πιέσει, το σήμα εισόδου είναι 0. Επειδή έχει ήδη τραβηχτεί από την πλακέτα. Αν πάτησε τότε κάνουμε έλεγχο χρώματος. Εάν όχι, τότε στην οθόνη θα εμφανιστεί η ένδειξη "χωρίς χρώμα". Όταν πατήσετε το κουμπί, ενεργοποιήστε αυτόματα κόκκινα, πράσινα και μπλε φώτα ένα προς ένα και αποθηκεύστε την ποσότητα αντανάκλασης των χρωμάτων σε τρεις μεταβλητές. Στη συνέχεια συγκρίναμε αυτές τις τιμές και επιλέξαμε το χρώμα μέγιστης τιμής για εμφάνιση ως χρώμα εξόδου.
Συνδέστε λοιπόν καλώδιο micro USB στο Magicbit και επιλέξτε σωστά τον τύπο της πλακέτας και τις θύρες com. Τώρα ανεβάστε τον κωδικό. Τότε ήρθε η ώρα να δοκιμάσουμε τον αισθητήρα μας. Για να το δοκιμάσετε, διατηρήστε το κόκκινο, το πράσινο ή το μπλε επιφανειακό χαρτί ή το φύλλο πάνω στη μονάδα LDR και RGB και πατήστε το αριστερό κουμπί. Στη συνέχεια, η οθόνη OLED θα δείξει ποιο είναι το χρώμα της επιφάνειας. Εάν αυτό είναι λάθος, ο λόγος είναι ότι κάποιο χρώμα έχει υψηλή ένταση φωτός. Για παράδειγμα σε κάθε πράσινη επιφάνεια η έξοδος είναι κόκκινη, τότε θα πρέπει να μειώσετε τη φωτεινότητα του κόκκινου φωτός από κάποια ποσότητα. Επειδή το κόκκινο φως έχει πολύ υψηλή φωτεινότητα σε αυτή την περίπτωση. Άρα έχει μεγάλη αντανάκλαση. Εάν δεν γνωρίζετε πώς να ελέγχετε τη φωτεινότητα, ανατρέξτε στο σεμινάριο στον παρακάτω σύνδεσμο.
magicbit-arduino.readthedocs.io/el/latest/
Σε αυτόν τον σύνδεσμο μπορείτε να βρείτε πώς μπορείτε να ελέγξετε αυτήν τη μονάδα RGB από το Magicbit. Επίσης, μπορείτε να βρείτε πώς να εργάζεστε με το LDR και το κουμπί πίεσης χρησιμοποιώντας το Magicbit. Διαβάστε αυτό το έγγραφο και μελετήστε περαιτέρω πώς να βελτιώσετε τον αισθητήρα χρώματος. Επειδή αυτό είναι ένα πολύ βασικό παράδειγμα για το πώς λειτουργούν οι αισθητήρες χρώματος. Οι περισσότεροι τύποι αισθητήρων χρώματος λειτουργούν με αυτόν τον τρόπο. Προσπαθήστε λοιπόν να το βελτιώσετε αφαιρώντας τον θόρυβο του φωτός του περιβάλλοντος και άλλους θορύβους.
Βήμα 5: Κωδικός αισθητήρα χρώματος Arduino
#περιλαμβάνω
#define LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #include #include #include #define OLED_RESET 4 οθόνη Adafruit_SSD1306 (128, 64). #define LDR 36 #define Button 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED. Εμφάνιση (); pinMode (LDR, INPUT); pinMode (Κουμπί, ΕΙΣΟΔΟΣ); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); καθυστέρηση (1000)? display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// if πατηθεί το κουμπί LED.setPixelColor (0, LED. Color (0, 50, 0)); // στο κόκκινο χρώμα LED.show (); καθυστέρηση (100)? R_value = analogRead (LDR); // λάβετε κόκκινη βάση LED.setPixelColor (0, LED. Color (150, 0, 0)); // στο πράσινο χρώμα LED.show (); καθυστέρηση (100)? G_value = analogRead (LDR); // λάβετε πράσινη βάση LED.setPixelColor (0, LED. Color (0, 0, 255)); // στο bluecolour LED.show (); καθυστέρηση (100)? B_value = analogRead (LDR); // get blue mount if (R_value> G_value && R_value> B_value) {// το κόκκινο εμφανίζεται περισσότερο ("RED", 3). } else if (G_value> R_value && G_value> B_value) {// green εμφανίζεται περισσότερο η οθόνη ("GREEN", 3). } else if (B_value> R_value && B_value> G_value) {// blue εμφανίζεται περισσότερο η οθόνη ("BLUE", 3). } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("ΠΡΑΣΙΝΟ ="); Serial.print (G_value); Serial.print ("BLUE ="); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // off RGB LED.show (); Οθόνη ("NO COLOR", 2). }} void Display (String commond, int size) {// display data display.clearDisplay (); display.setTextSize (μέγεθος); // Normal 1: 1 pixel scale.setTextColor (WHITE); // Σχεδιάστε λευκό κείμενο display.setCursor (0, 20); // Έναρξη στην επάνω αριστερή γωνία display.println (κοινή); display.display (); }
Συνιστάται:
Αισθητήρας θέσης ποδηλάτου από το Magicbit [Magicblocks]: 8 βήματα
Αισθητήρας θέσης ποδηλάτου από το Magicbit [Magicblocks]: Απλό έργο DIY για να φτιάξετε αισθητήρα θέσης Kickstand με Magicbit χρησιμοποιώντας Magicblocks. Χρησιμοποιούμε το magicbit ως πίνακα ανάπτυξης σε αυτό το έργο που βασίζεται στο ESP32. Επομένως, οποιοσδήποτε πίνακας ανάπτυξης ESP32 μπορεί να χρησιμοποιηθεί σε αυτό το έργο
Απλός αισθητήρας φωτός με LED (αναλογική): 3 βήματα
Απλός αισθητήρας φωτός με LED (Αναλογική): Γεια! Σε αυτό το διδακτικό θα σας δείξω πώς να φτιάξετε έναν απλό αισθητήρα φωτός με LED. Βασικά αυτό το κύκλωμα απλώς ανάβει το LED, όταν εκτίθεται στο φως. Για μένα αυτό το κύκλωμα είναι κάπως άχρηστο γιατί δεν μπορείς να κάνεις πολλά με αυτό, αλλά νομίζω
Αισθητήρας χρώματος με οθόνη LCD: 6 βήματα
Αισθητήρας χρώματος με οθόνη LCD: Ο στόχος είναι να δημιουργηθεί μια συσκευή που θα επιτρέπει στους τυφλούς να ανιχνεύουν χρώματα χωρίς να χρειάζεται να βλέπουν το χρώμα. Χρησιμοποιώντας την οθόνη LCD με τον αισθητήρα, το χρώμα παίρνει και μετά μεταφέρεται σε λέξεις στην οθόνη LCD. Αυτή η συσκευή θα
Ένα δίκτυο WiFi Arduino (αισθητήρες και ενεργοποιητές) - ο αισθητήρας χρώματος: 4 βήματα
Ένα δίκτυο WiFi Arduino (αισθητήρες και ενεργοποιητές) - ο αισθητήρας χρώματος: Πόσες φορές στις εφαρμογές σας έχετε κάποιον αισθητήρα ή κάποιον ενεργοποιητή μακριά σας; Πόσο άνετα θα μπορούσατε να χρησιμοποιήσετε μόνο μία κύρια συσκευή κοντά στον υπολογιστή σας για τη διαχείριση διαφορετικών συσκευών υποτελείας που συνδέονται μέσω δικτύου wi-fi; Σε αυτήν την προβολή
Αισθητήρας χρώματος: 5 βήματα (με εικόνες)
Αισθητήρας χρώματος: Περιγραφή: Το Color Sensor Module είναι ένας πλήρης ανιχνευτής χρώματος, που περιλαμβάνει 4 λευκά LED και τσιπ αισθητήρα TAOS TCS3200 RGB. Οι τέσσερις λευκές λυχνίες LED παρέχουν πηγή φωτός ευρέως φάσματος. Το TCS230 διαθέτει μια σειρά φωτοδιόδων 8 x 8 με έγχρωμα φίλτρα