בפרויקט זה אנו הולכים לממשק חיישן צבע TCS3200 עם Arduino UNO. TCS3200 הוא חיישן צבע שיכול לזהות כל מספר צבעים באמצעות תכנות נכון. TCS3200 מכיל מערכי RGB (אדום ירוק כחול). כפי שמוצג באיור ברמה המיקרוסקופית ניתן לראות את התיבות המרובעות בתוך העין על החיישן. תיבות מרובעות אלה הן מערכים של מטריצת RGB. כל אחת מהקופסאות הללו מכילה שלושה חיישנים, האחד מיועד לחישה בעוצמת האור האדומה, האחד מיועד לחישה בעוצמת האור הירוקה והאחרון לחישה בעוצמת האור הכחולה.
כל אחד ממערכי החיישנים בשלושת המערכים הללו נבחר בנפרד בהתאם לדרישה. לפיכך הוא מכונה חיישן לתכנות. ניתן להציג את המודול כדי לחוש את הצבע המסוים ולעזוב את האחרים. הוא מכיל פילטרים למטרת בחירה זו. יש מצב קדימה שאינו מצב סינון. ללא מצב סינון החיישן מזהה אור לבן.
רכיבים נדרשים
חומרה: 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 rd סיכה לבקרת ניגודיות (VEE-שולט כמה עבה הדמויות צריכות להיות מוצג), ו -3 סיכות בקרה (RS & RW & E)
במעגל, תוכלו לראות שלקחתי רק שתי סיכות בקרה. ביט הניגודיות ו- READ / WRITE לא משמשים לעתים קרובות, כך שניתן לקצר אותם לקרקע. זה מכניס את LCD למצב הניגודיות והקריאה הגבוה ביותר. אנחנו רק צריכים לשלוט בסיכות ENABLE ו- RS כדי לשלוח תווים ונתונים בהתאם.
החיבורים שבוצעו עבור LCD מובאים להלן:
PIN1 או VSS לקרקע
PIN2 או VDD או VCC ל- + 5v כוח
PIN3 או VEE לקרקע (נותן ניגודיות מרבית הטובה ביותר למתחילים)
PIN4 או RS (בחירת רישום) ל- PIN8 של ARDUINO UNO
PIN5 או RW (קריאה / כתיבה) לקרקע (מכניס את LCD למצב קריאה מקל על התקשורת עבור המשתמש)
PIN6 או E (אפשר) ל- PININ9 של ARDUINO UNO
PIN11 או D4 ל- PIN7 של ARDUINO UNO
PIN12 או D5 ל- PIN11 של ARDUINO UNO
PIN13 או D6 ל- PIN12 של ARDUINO UNO
PIN14 או D7 ל- PIN13 של ARDUINO UNO
החיבורים שנעשים עבור חיישן צבע מובאים להלן:
VDD ל + 5 V.
GND לקרקע
OE (פלט אפשר) ל- GND
S0 לסיכת UNO 2
S1 לפין UNO 3
S2 לסיכה UNO 4
S3 ל- UNO סיכה 5
החוצה אל סיכה 10 של UNO
הצבע שצריך לחוש אותו על ידי חיישן הצבע נבחר על ידי שני סיכות S2 ו- S3. באמצעות שני בקרות לוגיות של סיכות אלה אנו יכולים לדעת לחיישן איזה עוצמת צבע הצבע נמדדת.
נניח שאנחנו צריכים לחוש את עוצמת הצבע האדום שעלינו להגדיר את שני הפינים ל LOW. לאחר סיום החיישן מזהה את העוצמה ושולח את הערך למערכת הבקרה בתוך המודול.
S2 |
S3 |
סוג פוטודיודה |
ל |
ל |
אָדוֹם |
ל |
ה |
כָּחוֹל |
ה |
ל |
נקה (ללא מסנן) |
ה |
ה |
ירוק |
מערכת הבקרה בתוך המודול מוצגת באיור. עוצמת האור הנמדדת על ידי המערך נשלחת לממיר הנוכחי לתדר. מה שהוא עושה זה, הוא מוציא גל מרובע שתדירותו ביחס לזרם שנשלח על ידי ARRAY.
אז יש לנו מערכת ששולחת גל מרובע שתדירותו תלויה בעוצמת האור של הצבע שנבחרה על ידי S2 ו- S3.
ניתן לווסת את תדר האות שנשלח על ידי המודול בהתאם לשימוש. אנו יכולים לשנות את רוחב הפס של תדר האות.
S0 |
S1 |
קנה מידה של תדר יציאה (f 0) |
ל |
ל |
הפסקת חשמל |
ל |
ה |
2% |
ה |
ל |
20% |
ה |
ה |
100% |
קנה המידה של התדרים נעשה על ידי שני ביטים S0 ו- S1. מטעמי נוחות אנו הולכים להגביל את קנה המידה של התדרים ל -20%. זה נעשה על ידי הגדרת S0 לגבוהה ו- S1 ל- LOW. תכונה זו שימושית כאשר אנו משתמשים במודול במערכת עם שעון נמוך.
רגישות המערך לצבע מוצגת באיור להלן.
למרות שלצבעים שונים יש רגישות שונה, אך לשימוש רגיל זה לא ישפיע הרבה.
ה- UNO כאן שולח אות למודול לזיהוי צבעים והנתונים שהתקבלו על ידי המודול מוצגים ב- LCD * 16 * 2 המחובר אליו.
ה- UNO מזהה שלוש עוצמות צבע בנפרד ומציג אותן על גבי LCD.
ה- Uno יכול לזהות את משך פעימות האות שבאמצעותו אנו יכולים לקבל את תדר הגל המרובע שנשלח על ידי המודול. עם התדר בהישג יד אנו יכולים להתאים אותו לצבע בחיישן.
|
כפי ידי מצב מעל UNO קורא משך דופק על 10 th סיכה של UNO ומאחסן אותו המעריכים שלמים "תדר".
אנו הולכים לעשות זאת עבור כל שלושת הצבעים לצורך זיהוי צבעים. כל שלוש עוצמות הצבע מוצגות על ידי תדרים על גבי LCD בגודל 16x2.