תוכן עניינים:

צבע LED LED RGB באמצעות בקרת DIY: 5 שלבים
צבע LED LED RGB באמצעות בקרת DIY: 5 שלבים

וִידֵאוֹ: צבע LED LED RGB באמצעות בקרת DIY: 5 שלבים

וִידֵאוֹ: צבע LED LED RGB באמצעות בקרת DIY: 5 שלבים
וִידֵאוֹ: 20 товаров для автомобиля с Алиэкспресс, автотовары №28 2024, יולי
Anonim
בקרת DIY RGB LED LED באמצעות Bluetooth
בקרת DIY RGB LED LED באמצעות Bluetooth

נורות חכמות הולכות וגוברות בפופולריות לאחרונה והן הופכות בהתמדה לחלק מרכזי בערכת הכלים של הבית החכם. נורות חכמות מאפשרות למשתמש לשלוט באור שלו באמצעות אפליקציה מיוחדת בטלפון החכם של המשתמש; ניתן להדליק ולכבות את הנורה ולשנות את הצבע מממשק היישום. בפרויקט זה בנינו בקר נורה חכם הניתן לשליטה באמצעות כפתור ידני או יישום נייד באמצעות בלוטות '. כדי להוסיף קצת כישרון לפרויקט זה הוספנו כמה תכונות המאפשרות למשתמש לבחור צבע תאורה מרשימת הצבעים הכלולים בממשק היישום. הוא יכול גם להפעיל "ערבוב אוטומטי" כדי ליצור אפקטים של צבע ולשנות את התאורה כל חצי שנייה. המשתמש יכול ליצור תמהיל צבעים משלו באמצעות תכונת PWM אשר יכולה לשמש גם כעמעם לשלושת הצבעים הבסיסיים (אדום, ירוק, כחול). הוספנו גם לחצנים חיצוניים למעגל כך שהמשתמש יכול לעבור למצב ידני ולשנות את צבע האור מכפתור חיצוני.

הוראה זו מורכבת משני חלקים; עיצוב GreenPAK ™ ועיצוב אפליקציות אנדרואיד. עיצוב GreenPAK מבוסס על שימוש בממשק UART לתקשורת. UART נבחר מכיוון שהוא נתמך על ידי רוב מודולי Bluetooth, כמו גם רוב ציוד היקפי אחר, כגון מודולי WIFI. כתוצאה מכך, ניתן להשתמש בעיצוב GreenPAK בסוגי חיבורים רבים.

כדי לבנות פרויקט זה, אנו הולכים להשתמש ב- SLG46620 CMIC, מודול Bluetooth ומנורת RGB. ה- GreenPAK IC עומד להיות ליבת השליטה בפרויקט זה; הוא מקבל נתונים ממודול Bluetooth ו/או כפתורים חיצוניים, ואז מתחיל את ההליך הנדרש להצגת התאורה הנכונה. הוא גם מייצר את אות ה- PWM ומוציא אותו לנורית ה- LED. איור 1 להלן מציג את תרשים הבלוק.

מכשיר GreenPAK המשמש בפרויקט זה מכיל ממשק חיבור SPI, קוביות PWM, FSM ועוד הרבה בלוקים נוספים שימושיים ב- IC אחד. הוא מאופיין גם בגודלו הקטן ובצריכת האנרגיה הנמוכה שלו. זה יאפשר ליצרנים לבנות מעגל מעשי קטן באמצעות IC יחיד, ולכן עלויות הייצור יצטמצמו בהשוואה למערכות דומות.

בפרויקט זה, אנו שולטים על LED RGB אחד. כדי להפוך את הפרויקט לכדאי מבחינה מסחרית, סביר להניח שמערכת תצטרך להגדיל את רמת הבהירות על ידי חיבור נוריות רבות במקביל ושימוש בטרנזיסטורים המתאימים; יש לקחת בחשבון גם את מעגל החשמל.

אתה יכול לעבור את כל השלבים כדי להבין כיצד תוכנן שבב GreenPAK לשליטה בצבע LED RGB באמצעות Bluetooth. עם זאת, אם אתה רק רוצה לתכנת את ה- IC בקלות מבלי להבין את כל המעגלים הפנימיים, הורד את תוכנת GreenPAK כדי לצפות בקובץ העיצוב GreenPAK שכבר הושלם. חבר את ערכת הפיתוח של GreenPAK למחשב שלך והקש על התוכנית כדי ליצור את ה- IC המותאם אישית לשליטה בצבע LED RGB באמצעות Bluetooth.

עיצוב GreenPAK מורכב ממקלט UART, יחידת PWM ויחידת בקרה המתוארים בשלבים שלהלן.

שלב 1: מקלט UART

מקלט UART
מקלט UART

ראשית, עלינו להגדיר את מודול ה- Bluetooth. רוב מכשירי ה- Bluetooth תומכים בפרוטוקול UART לתקשורת. UART מייצג מקלט / משדר אוניברסלי אוניברסלי. UART יכול להמיר נתונים הלוך ושוב בין פורמטים מקבילים וסדריים. הוא כולל מקלט סידורי למקבילי וממיר מקביל לטורי ששניהם מתאפיינים בנפרד.

הנתונים שיתקבלו במודול ה- Bluetooth יועברו למכשיר GreenPAK שלנו. מצב הסרק עבור Pin10 הוא HIGH. כל תו שנשלח מתחיל בסיבוב התחלה נמוך של לוגיקה, ואחריו מספר נתוני הגדרה של נתוני נתונים ואחת או יותר סיביות עצירה גבוהות של לוגיקה.

משדר UART שולח סיביות START 1, 8 סיביות נתונים וביט STOP אחד. בדרך כלל, קצב השידור המוגדר כברירת מחדל עבור מודול Bluetooth של UART הוא 9600. אנו נשלח את נתוני הנתונים ממעגל ה- Bluetooth לבלוק SPI של GreenPAK ™ SLG46620.

מכיוון שלבלוק GreenPAK SPI אין בקרת סיביות של START או STOP, נשתמש בביטים אלה כדי להפעיל ולבטל את אות שעון SPI (SCLK). כאשר Pin10 יורד לרמה נמוכה, אנו יודעים שקיבלנו ביט START, ולכן אנו משתמשים בגלאי קצה נפילת PDLY כדי לזהות את תחילת התקשורת. גלאי קצה נופל זה משעון את DFF0, המאפשר לאות SCLK לשעון את בלוק ה- SPI.

קצב השידור שלנו הוא 9600 סיביות לשנייה, ולכן תקופת ה- SCLK שלנו צריכה להיות 1/9600 = 104 מיקרון. לכן הגדרנו את תדר OSC ל- 2MHz והשתמשנו ב- CNT0 כמפריד תדרים.

2 MHz-1 = 0.5 μs

(104 μs / 0.5 μs) - 1 = 207

לכן, אנו רוצים שערך הנגד CNT0 יהיה 207. על מנת להבטיח שלא נפספס נתונים, עלינו לעכב את שעון ה- SPI בחצי מחזור שעון כך שבלוק ה- SPI ישעון בזמן הנכון. השגנו זאת באמצעות CNT6, 2-bit LUT1, והשעון החיצוני של בלוק OSC. התפוקה של CNT6 לא עולה גבוה עד 52 מיקרומטר לאחר השעון של DFF0, המהווה מחצית מתקופת ה- SCLK של 104 המיקרופונים. כאשר CNT6 גבוה שער ה- LUT1 AND 2 סיביות מאפשר לאות OSC 2MHz לעבור אל ה- EXT. קלט CLK0, שהפלט שלו מחובר ל- CNT0.

שלב 2: יחידת PWM

יחידת PWM
יחידת PWM

האות PWM נוצר באמצעות PWM0 ומחולל דופק שעון קשור (CNT8/DLY8). מכיוון שרוחב הדופק ניתן לשליטה על ידי משתמשים, אנו משתמשים ב- FSM0 (שניתן לחבר אותו ל- PWM0) כדי לספור נתוני משתמשים.

ב- SLG46620 ניתן להשתמש ב- FSM1 של 8 סיביות עם PWM1 ו- PWM2. יש לחבר את מודול ה- Bluetooth, כלומר יש להשתמש בפלט המקביל SPI. סיבי הפלט המקבילים SPI 0 עד 7 מוקמו עם DCMP1, DMCP2 ו- OUT1 ו- OUT0 של LF OSC CLK. PWM0 משיג את הפלט שלו מ- 16 סיביות FSM0. אם זה נשאר ללא שינוי הדבר גורם לעומס יתר על רוחב הדופק. כדי להגביל את ערך המונה ב -8 סיביות נוסף FSM נוסף; FSM1 משמש כמצביע כדי לדעת מתי המונה מגיע ל- 0 או 255. FSM0 משמש ליצירת דופק ה- PWM. FSM0 ו- FSM1 חייבים להיות מסונכרנים. מכיוון שלשני FSM יש אפשרויות שעון מוגדרות מראש, CNT1 ו- CNT3 משמשים כמתווכים להעברת ה- CLK לשני ה- FSM. שני המונים מוגדרים לאותו ערך, שהוא 25 עבור הוראה זו. אנו יכולים לשנות את קצב השינוי של ערך ה- PWM על ידי שינוי ערכי המונה הללו.

ערך FSMs גדל ויורד על ידי האותות '+' ו- '-', שמקורם בפלט SPI Parallel.

שלב 3: יחידת בקרה

יחידת בקרה
יחידת בקרה

בתוך יחידת הבקרה הבייט שהתקבל נלקח ממודול ה- Bluetooth לפלט המקביל של SPI ולאחר מכן מועבר לפונקציות המשויכות. בהתחלה, יציאות PWM CS1 ו- PWM CS2 ייבדקו אם תבנית PWM מופעלת או לא. אם הוא מופעל אז הוא יקבע איזה ערוץ עומד להוציא את ה- PWM דרך LUT4, LUT6 ו- LUT7.

LUT9, LUT11 ו- LUT14 אחראים על בדיקת מצבם של שני הלדים האחרים. LUT10, LUT12 ו- LUT13 בודקים אם הלחצן הידני מופעל או לא. אם מצב ידני פעיל, יציאות RGB פועלות בהתאם למצבי הפלט D0, D1, D2, המשתנים בכל פעם שלחיצה על לחצן הצבע. זה משתנה עם הקצה העולה שמגיע מ- CNT9, המשמש כמשחרר קצה עולה.

סיכה 20 מוגדרת ככניסה ומשמשת למעבר בין שליטה ידנית ו- Bluetooth.

אם מצב ידני מושבת ומצב מיקסר אוטומטי מופעל, הצבע משתנה כל 500 ms כשהקצה העולה מ- CNT7. LUT1 של 4 סיביות משמש למניעת מצב '000' עבור D0 D1 D2, מכיוון שמצב זה גורם לכיבוי האור במצב מיקסר אוטומטי.

אם מצב ידני, מצב PWM ומצב מערבל אוטומטי אינם מופעלים אז פקודות ה- SPI האדומות, הירוקות והכחולות זורמות לפינים 12, 13 ו -14, המוגדרים כפלט ומחוברים לנורית ה- RGB החיצונית.

DFF1, DFF2 ו- DFF3 משמשים לבניית מונה בינארי של 3 סיביות. ערך המונה עולה עם פעימות CNT7 שעוברות דרך P14 במצב מיקסר אוטומטי, או מאותות המגיעים מכפתור הצבע (PIN3) במצב ידני.

שלב 4: יישום אנדרואיד

יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד
יישום אנדרואיד

בחלק זה, אנו הולכים לבנות יישום אנדרואיד שיפקח ויציג את בחירות השליטה של המשתמש. הממשק מורכב משני חלקים: החלק הראשון מכיל קבוצת כפתורים בעלי צבעים מוגדרים מראש כך שכאשר נלחץ על כל אחד מהלחצנים הללו, נורה נורית באותו צבע מקביל. החלק השני (ריבוע MIX) יוצר צבע מעורב עבור המשתמש.

בחלק הראשון, המשתמש בוחר את סיכת ה- LED שהוא רוצה שאות ה- PWM יעבור דרכה; ניתן להעביר את אות ה- PWM רק לסיכה אחת בכל פעם. הרשימה התחתונה שולטת בשני הצבעים האחרים בהפעלה/כיבוי לוגי במהלך מצב PWM.

כפתור המיקסר האוטומטי אחראי להפעלת התבנית האוטומטית של שינוי האור, שבה האור ישתנה כל חצי שנייה. הקטע MIX מכיל שתי רשימות תיבות סימון כך שהמשתמש יכול להחליט אילו שני צבעים לערבב יחדיו.

בנינו את האפליקציה באמצעות אתר ממציא האפליקציות MIT. זהו אתר המאפשר בניית יישומי אנדרואיד ללא ניסיון תוכנה קודם באמצעות בלוקי תוכנה גרפיים.

בהתחלה עיצבנו ממשק גרפי על ידי הוספת קבוצת כפתורים האחראים להצגת הצבעים המוגדרים מראש, הוספנו גם שתי רשימות תיבות סימון, ולכל רשימה 3 אלמנטים; כל אלמנט מתואר בתיבה האישית שלו, כפי שמוצג באיור 5.

הכפתורים בתוך ממשק המשתמש מקושרים לפקודות תוכנה: כל הפקודות שהאפליקציה תשלח באמצעות Bluetooth יהיו בפורמט בייט, וכל ביט אחראי על פונקציה מסוימת. טבלה 1 מציגה את צורת מסגרות הפקודה הנשלחות ל- GreenPAK.

שלושת הביטים הראשונים, B0, B1 ו- B2, יחזיקו את מצב נוריות ה- RGB במצב שליטה ישירה באמצעות כפתורי הצבעים המוגדרים מראש. לפיכך, בעת לחיצה על כל אחד מהם, הערך המתאים של הכפתור יישלח, כפי שמוצג בטבלה 2.

הביטים B3 ו- B4 מחזיקים בפקודות '+' ו- '-', שאחראיות להגדלת והקטנת רוחב הדופק. כאשר לוחצים על הכפתור ערך הסיביות יהיה 1, וכאשר הכפתור משתחרר ערך הסיביות יהיה 0.

סיביות B5 ו- B6 אחראים על בחירת הסיכה (הצבע) שאותה PWM יעבור: ייעודי הצבע של סיביות אלה מוצגים בטבלה 3. הסיביה האחרונה, B7, אחראית להפעלת המיקסר האוטומטי.

איור 6 ואיור 7 מדגימים את תהליך קישור הכפתורים עם בלוקים לתכנות האחראים לשליחת הערכים הקודמים.

לצפייה בעיצוב האפליקציה המלא, ניתן להוריד את הקובץ המצורף ".aia" עם קבצי הפרויקט ולפתוח אותו בתוך האתר הראשי.

איור 8 להלן מציג את תרשים המעגל ברמה העליונה.

שלב 5: תוצאות

הבקר נבדק בהצלחה וערבוב הצבעים, יחד עם תכונות אחרות, הוכח לעבוד כראוי.

סיכום

במדריך זה, מעגל נורות חכם נבנה לשליטה אלחוטית על ידי יישום אנדרואיד. ה- GreenPAK CMIC המשמש בפרויקט זה גם עזר לקצר ולהטמיע מספר מרכיבים חיוניים לבקרת אור למעגל אחד קטן.

מוּמלָץ: