Πίνακας περιεχομένων:
Βίντεο: Ανίχνευση χρωμάτων χρησιμοποιώντας LED RGB: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:39
Θέλατε ποτέ έναν αυτοματοποιημένο τρόπο ανίχνευσης του χρώματος ενός αντικειμένου; Λάμποντας φως συγκεκριμένου χρώματος στο αντικείμενο και κοιτάζοντας πόσο φως αντανακλάται πίσω, μπορείτε να καταλάβετε τι χρώμα είναι το αντικείμενο. Για παράδειγμα, εάν ανάψετε ένα κόκκινο φως σε ένα κόκκινο αντικείμενο, αυτό το φως θα αντανακλάται πίσω. Εάν λάμπετε ένα μπλε φως σε ένα κόκκινο αντικείμενο, το αντικείμενο θα απορροφήσει λίγο από αυτό το φως και λιγότερο από αυτό θα αντανακλάται πίσω.
Βήμα 1: Απαιτούνται εξαρτήματα
Χρησιμοποίησα έναν μικροελεγκτή PIC 16F887, αλλά σχεδόν οποιοσδήποτε με δυνατότητα διαμόρφωσης παλμού πλάτους θα λειτουργήσει. 1 RGB LED1 Μικροελεγκτής1 Τυπική κόκκινη LED1 Αντίσταση 1k ohm1 Φωτοαντιστάτης (αλλάζει την αντίσταση ανάλογα με την ποσότητα του φωτός που λάμπει πάνω του) Ορισμένα καλώδια Χρειάζομαι μόνο τον μικροελεγκτή και το LED RGB για να έχει μεγάλη γκάμα ανιχνευτών χρωμάτων, αλλά αν θέλετε μόνο ένα κύκλωμα που ανιχνεύει ένα χρώμα, δεν χρειάζεστε μικροελεγκτή - χρειάζεστε μόνο μια φωτεινή λυχνία LED του χρώματος που θέλετε να ανιχνεύσετε. Η τυπική κόκκινη λυχνία LED είναι η "ενδεικτική λυχνία" - ανάβει όταν εντοπιστεί το σωστό χρώμα.
Βήμα 2: Δημιουργήστε το κύκλωμα
Το σχήμα είναι μάλλον απλό και σε γενική μορφή, φαίνεται παρακάτω. Το LED RGB τροφοδοτείται εξωτερικά από ένα σήμα PWM. Τοποθετώ ηλεκτρική ταινία γύρω από τη φωτοαντίσταση έτσι ώστε να μην εισέρχεται το φως του περιβάλλοντος - θα ανιχνεύεται μόνο το φως ακριβώς πάνω από αυτό.
Βήμα 3: Ο κώδικας
Αυτός ο κωδικός γράφτηκε για ένα μικροτσίπ PIC 16F887, αλλά ελπίζουμε ότι μπορείτε να πάρετε τη γενική ιδέα. Χρησιμοποίησα το ενσωματωμένο ποτενσιόμετρο στον πίνακα ανάπτυξης για να διαφοροποιήσω το φάσμα χρωμάτων του LED RGB (και δεν περνάει από όλο το φάσμα επειδή δεν έχω 3 μονάδες PWM, αλλά είναι αρκετά καλό) Περιλαμβάνονται σχόλια. #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #byte CCP byte CCP2CON = 0x1D#byte PWM1CON = 0x9Bint value = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 value) {output_low (PIN_C2); CCP1CON = value; PWM1CON = 0;} void my_setup_) {output_low (PIN_C1); CCP2CON = value;} // =================================== void main () {// A4 = πηγή ενέργειας για photodiodeoutput_high (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Timer/Interrupt setupenable_interset_pink my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); ενώ (1) {// Αποτροπή PIC από τον ύπνο.//SET PWM DUTYY // Το pin A3 είναι η σύνδεση φωτοδιόδου εάν (είσοδος (PIN_A3) == 1) output_high (PIN_A4). else output_low (PIN_A4); // Τιμή ανάγνωσης του ποτενσιόμετρου για αλλαγή χρώματος της τιμής LED = read_adc (); διακόπτης (τιμή) {περίπτωση 0: p1 = τιμή; low_low (PIN_C0); p2 = τιμή. Διακοπή; περίπτωση 50: p1 = τιμή. output_high (PIN_C0); p2 = τιμή? Διακοπή; περίπτωση 100: p1 = τιμή. output_high (PIN_C0); p2 = τιμή. Διακοπή; θήκη 150: output_high (PIN_C0). ρ1 = 50; p2 = τιμή? Διακοπή; θήκη 200: output_low (PIN_C0). p1 = 0; p2 = τιμή. Διακοπή; θήκη 250: p1 = 0; p2 = τιμή? low_low (PIN_C0); Διακοπή; } p1 = τιμή; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Βήμα 4: Εφαρμογές
Ένας απλός ανιχνευτής χρώματος όπως αυτός μπορεί να χρησιμοποιηθεί στη ρομποτική ή για δροσερά έργα όπως ο διαχωρισμός των legos με χρώμα, η ταξινόμηση των M & Ms ή ως βοήθημα για την αχρωματοψία. Ας ελπίσουμε ότι αυτό το διδακτικό ήταν χρήσιμο για την ενίσχυση ενός έργου που είχατε στο μυαλό σας!:) Τα LED είναι καλά για τόσα πολλά πράγματα….
Συνιστάται:
Πώς να φτιάξετε ένα κουδούνι πόρτας χωρίς άγγιγμα, Ανίχνευση θερμοκρασίας σώματος, GY-906, 433MHz χρησιμοποιώντας Arduino: 3 βήματα
Πώς να φτιάξετε ένα κουδούνι πόρτας χωρίς άγγιγμα, Ανίχνευση θερμοκρασίας σώματος, GY-906, 433MHz χρησιμοποιώντας το Arduino: Σήμερα θα φτιάξουμε ένα κουδούνι πόρτας μη αφής, θα ανιχνεύσει τη θερμοκρασία του σώματός σας. Σε αυτήν την κατάσταση, είναι πολύ σημαντικό να γνωρίζουμε εάν η θερμοκρασία του σώματος είναι υψηλότερη από την κανονική, όταν κάποιος κοροϊδεύει. Αυτό το έργο θα δείχνει Κόκκινο φως αν εντοπίσει οποιαδήποτε
Ανίχνευση χρωμάτων σε Python χρησιμοποιώντας OpenCV: 8 βήματα
Ανίχνευση χρωμάτων σε Python χρησιμοποιώντας OpenCV: Γεια σας! Αυτό το εκπαιδευτικό εργαλείο χρησιμοποιείται για να μάθετε πώς μπορείτε να εξαγάγετε ένα συγκεκριμένο χρώμα από μια εικόνα σε python χρησιμοποιώντας βιβλιοθήκη openCV. Εάν είστε νέοι σε αυτήν την τεχνική, τότε μην ανησυχείτε, στο τέλος αυτού του οδηγού θα μπορείτε να προγραμματίσετε το δικό σας χρώμα
Ανίχνευση χρωμάτων βάσει αντικειμένου: 10 βήματα
Ανίχνευση χρωμάτων με βάση την παρακολούθηση αντικειμένων: Ιστορία Έκανα αυτό το έργο για να μάθω επεξεργασία εικόνας χρησιμοποιώντας Raspberry PI και ανοιχτό βιογραφικό. Για να κάνω αυτό το έργο πιο ενδιαφέρον χρησιμοποίησα δύο κινητήρες Servo SG90 και έβαλα κάμερα σε αυτό. Ο ένας κινητήρας χρησιμοποιείται για οριζόντια κίνηση και ο δεύτερος για κάθετη κίνηση
Σειριακό φως LED χρησιμοποιώντας LED πολλαπλών χρωμάτων: 3 βήματα (με εικόνες)
Σειριακός φωτισμός LED που χρησιμοποιεί LED πολλαπλών χρωμάτων: Ένας σειριακός φωτισμός LED δεν είναι τόσο ακριβός, αλλά αν είστε λάτρης του DIY (ένας χομπίστας) όπως εγώ, τότε μπορείτε να φτιάξετε τα δικά σας σειριακά LED και είναι φθηνότερα από το φως που διατίθεται στην αγορά. Έτσι, σήμερα θα φτιάξω το δικό μου Serial LED φως που λειτουργεί με 5 Vol
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: 11 βήματα
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: Update Notes Πέμπτη 25 Φεβρουαρίου 2016: Έχω βελτιώσει το πρόγραμμα Scratch και επανασχεδίασα το εκπαιδευτικό μου. Γεια σας παιδιά, με αυτό το έργο ήθελα να χρησιμοποιήσω το Scratch για να μετακινήσω ένα LED RGB στο χρωματικό φάσμα. Υπάρχουν πολλά έργα που το κάνουν αυτό με