Σε αυτό το έργο πρόκειται να διασυνδέσουμε τον αισθητήρα χρώματος TCS3200 με το Arduino UNO. Το TCS3200 είναι ένας αισθητήρας χρώματος που μπορεί να ανιχνεύσει οποιονδήποτε αριθμό χρωμάτων με σωστό προγραμματισμό. Το TCS3200 περιέχει συστοιχίες RGB (κόκκινο πράσινο μπλε). Όπως φαίνεται στο σχήμα σε μικροσκοπικό επίπεδο μπορεί κανείς να δει τα τετράγωνα κουτιά μέσα στο μάτι του αισθητήρα. Αυτά τα τετράγωνα κουτιά είναι πίνακες του RGB matrix. Κάθε ένα από αυτά τα κουτιά περιέχει τρεις αισθητήρες, το ένα είναι για την ανίχνευση της ΚΟΚΚΙΝΗΣ έντασης φωτός, το ένα για την ανίχνευση ΠΡΑΣΙΝΗΣ έντασης φωτός και το τελευταίο για την ανίχνευση ΜΠΛΕ έντασης φωτός.
Κάθε μία από τις συστοιχίες αισθητήρων σε αυτές τις τρεις συστοιχίες επιλέγεται ξεχωριστά ανάλογα με τις απαιτήσεις. Ως εκ τούτου είναι γνωστό ως προγραμματιζόμενος αισθητήρας. Η ενότητα μπορεί να χαρακτηριστεί για να αισθανθεί το συγκεκριμένο χρώμα και να αφήσει τα άλλα. Περιέχει φίλτρα για αυτόν τον σκοπό επιλογής. Υπάρχει τέταρτη λειτουργία που δεν είναι λειτουργία φίλτρου. Χωρίς λειτουργία φίλτρου, ο αισθητήρας ανιχνεύει λευκό φως.
Απαιτούμενα στοιχεία
Υλικό: ARDUINO UNO, τροφοδοτικό (5v), LED, JHD_162ALCD (16 * 2LCD), αισθητήρας χρώματος TCS3200.
Λογισμικό: ARDUINO IDE (ARDUINO κάθε βράδυ).
Διάγραμμα κυκλώματος και εξήγηση εργασίας
Σε LCD 16x2 υπάρχουν 16 ακίδες πάνω από όλα αν υπάρχει οπίσθιο φως, εάν δεν υπάρχει πίσω φως θα υπάρχουν 14 ακίδες. Κάποιος μπορεί να τροφοδοτήσει ή να αφήσει τις πίσω ακίδες. Τώρα στις 14 ακίδες υπάρχουν 8 καρφίτσες δεδομένων (7-14 ή D0-D7), 2 ακροδέκτες τροφοδοσίας (1 & 2 ή VSS & VDD ή GND & + 5v), 3ος ακροδέκτης για έλεγχο αντίθεσης (VEE-ελέγχει πόσο παχύ πρέπει να είναι οι χαρακτήρες φαίνεται) και 3 ακίδες ελέγχου (RS & RW & E)
Στο κύκλωμα, μπορείτε να παρατηρήσετε ότι έχω πάρει μόνο δύο ακίδες ελέγχου. Το bit αντίθεσης και το READ / WRITE δεν χρησιμοποιούνται συχνά, ώστε να μπορούν να βραχυκυκλωθούν στη γείωση. Αυτό θέτει την οθόνη LCD σε υψηλότερη αντίθεση και λειτουργία ανάγνωσης. Πρέπει απλώς να ελέγξουμε ENABLE και RS καρφίτσες για να στείλουμε ανάλογα χαρακτήρες και δεδομένα.
Οι συνδέσεις που γίνονται για LCD δίνονται παρακάτω:
PIN1 ή VSS στη γείωση
PIN2 ή VDD ή VCC σε ισχύ + 5v
PIN3 ή VEE στη γείωση (δίνει τη μέγιστη αντίθεση καλύτερα για έναν αρχάριο)
PIN4 ή RS (Επιλογή καταχώρησης) στο PIN8 του ARDUINO UNO
Το PIN5 ή το RW (Ανάγνωση / Εγγραφή) στη γείωση (θέτει την οθόνη LCD σε λειτουργία ανάγνωσης διευκολύνει την επικοινωνία για τον χρήστη)
PIN6 ή E (Ενεργοποίηση) στοPIN9 του ARDUINO UNO
PIN11 ή D4 έως PIN7 του ARDUINO UNO
PIN12 ή D5 έως PIN11 του ARDUINO UNO
PIN13 ή D6 έως PIN12 του ARDUINO UNO
PIN14 ή D7 έως PIN13 του ARDUINO UNO
Οι συνδέσεις που γίνονται για τον αισθητήρα χρώματος δίνονται παρακάτω:
VDD έως + 5V
GND έως GROUND
OE (έξοδος Ενεργοποίηση) στο GND
S0 έως UNO pin 2
S1 έως UNO pin 3
S2 έως UNO pin 4
S3 έως UNO pin 5
OUT στο UNO pin 10
Το χρώμα που πρέπει να ανιχνευθεί από τον αισθητήρα χρώματος επιλέγεται από δύο ακίδες S2 και S3. Με αυτούς τους λογικούς ελέγχους δύο ακίδων μπορούμε να πούμε στον αισθητήρα ποια ένταση χρώματος φωτός πρέπει να μετρηθεί.
Ας πούμε ότι πρέπει να αισθανθούμε την ΚΟΚΚΙΝΗ ένταση χρώματος που πρέπει να ρυθμίσουμε και τους δύο ακροδέκτες. Μόλις γίνει αυτό, ο αισθητήρας ανιχνεύει την ένταση και στέλνει την τιμή στο σύστημα ελέγχου μέσα στη μονάδα.
S2 |
S3 |
Τύπος φωτοδιόδου |
μεγάλο |
μεγάλο |
το κόκκινο |
μεγάλο |
Η |
Μπλε |
Η |
μεγάλο |
Διαγραφή (χωρίς φίλτρο) |
Η |
Η |
Πράσινος |
Το σύστημα ελέγχου μέσα στη μονάδα φαίνεται στο σχήμα. Η ένταση του φωτός που μετράται από τον πίνακα αποστέλλεται στο μετατροπέα ρεύματος σε συχνότητα. Αυτό που κάνει είναι, βάζει ένα τετράγωνο κύμα του οποίου η συχνότητα σχετίζεται με το ρεύμα που αποστέλλεται από την ARRAY
Έχουμε λοιπόν ένα σύστημα που στέλνει ένα τετράγωνο κύμα του οποίου η συχνότητα εξαρτάται από την ένταση του φωτός του χρώματος που επιλέγεται από τα S2 και S3.
Η συχνότητα σήματος που αποστέλλεται από τη μονάδα μπορεί να διαμορφωθεί ανάλογα με τη χρήση. Μπορούμε να αλλάξουμε το εύρος ζώνης συχνότητας σήματος εξόδου.
S0 |
S1 |
Κλιμάκωση συχνότητας εξόδου (f 0) |
μεγάλο |
μεγάλο |
Διακοπή ρεύματος |
μεγάλο |
Η |
2% |
Η |
μεγάλο |
20% |
Η |
Η |
100% |
Η κλιμάκωση συχνότητας γίνεται με δύο bits S0 και S1. Για ευκολία, θα περιορίσουμε την κλιμάκωση συχνότητας στο 20%. Αυτό γίνεται ρυθμίζοντας το S0 στο υψηλό και το S1 στο LOW. Αυτή η δυνατότητα είναι χρήσιμη όταν χρησιμοποιούμε τη μονάδα στο σύστημα με χαμηλό ρολόι.
Η ευαισθησία Array στο χρώμα φαίνεται στο παρακάτω σχήμα.
Αν και τα διαφορετικά χρώματα έχουν διαφορετική ευαισθησία, για μια κανονική χρήση δεν θα κάνει μεγάλη διαφορά.
Το UNO στέλνει εδώ σήμα στη μονάδα για την ανίχνευση χρωμάτων και τα δεδομένα που λαμβάνονται από τη μονάδα εμφανίζονται στην οθόνη LCD 16 * 2 που είναι συνδεδεμένη σε αυτήν.
Το UNO ανιχνεύει τρεις εντάσεις χρώματος ξεχωριστά και τις εμφανίζει σε LCD.
Το Uno μπορεί να ανιχνεύσει τη διάρκεια του παλμού σήματος με την οποία μπορούμε να λάβουμε τη συχνότητα των τετραγωνικών κυμάτων που αποστέλλονται από τη μονάδα. Με τη συχνότητα που έχουμε στο χέρι μπορούμε να την αντιστοιχίσουμε με χρώμα στον αισθητήρα.
|
Όπως και στην παραπάνω συνθήκη, το UNO διαβάζει τη διάρκεια παλμού στο 10 ο πείρο του UNO και το αποθηκεύει σε ακέραιο αριθμό "συχνότητας".
Θα το κάνουμε και για τα τρία χρώματα για αναγνώριση χρώματος. Και οι τρεις εντάσεις χρώματος εμφανίζονται με συχνότητες σε LCD 16x2.