תוכן עניינים:
וִידֵאוֹ: דימר LED חכם DIY מבוקר באמצעות בלוטות ': 7 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מדריך זה מתאר כיצד לבנות דימר דיגיטלי חכם. דימר הוא מתג אור נפוץ המשמש בבתים, בתי מלון ובניינים רבים אחרים. גרסאות ישנות יותר של מתגי דימר היו ידניים, ובדרך כלל היו משלבות מתג סיבוב (פוטנציומטר) או לחצנים לשליטה על רמת האור. מדריך זה מתאר כיצד לבנות דימר דיגיטלי בעל שתי דרכים לשלוט בעוצמת האור; סמארטפון וכפתורים פיזיים. שני המצבים יכולים לעבוד בצורה חלקה ביחד, כך שהמשתמש יכול להגדיל או להקטין את עוצמת האור הן מכפתור והן מהסמארטפון. הפרויקט מיושם באמצעות מודול Bluetooth SLG46620V CMIC, HC-06, כפתורי לחיצה ולדים.
אנו הולכים להשתמש ב- CMIC SLG46620V מכיוון שהוא מסייע למזער את רכיבי הפרויקט הנפרדים. מחשבי ה- GreenPAK ™ קטנים והם בעלי רכיבים מרובי שימושים, המאפשרים למעצב להקטין רכיבים ולהוסיף תכונות חדשות. בנוסף, עלות הפרויקט מופחתת לאחר מכן.
SLG46620V מכיל גם ממשק חיבור SPI, קוביות PWM, FSM והרבה בלוקים נוספים שימושיים בשבב זעיר אחד. רכיבים אלה מאפשרים למשתמש לבנות דימר חכם פרקטי הניתן לשליטה באמצעות מכשיר Bluetooth או כפתורי קיר, תמיכה בעמעם לזמן ממושך, ותוספת של תכונות לבחירה ללא שימוש במיקרו-בקר או ברכיבים יקרים.
להלן תיארנו את הצעדים הדרושים כדי להבין כיצד הפתרון תוכנת ליצירת דימר LED חכם הנשלט באמצעות בלוטות '. עם זאת, אם אתה רק רוצה לקבל את התוצאה של התכנות, הורד את תוכנת GreenPAK כדי לצפות בקובץ העיצוב GreenPAK שכבר הושלם. חבר את ערכת הפיתוח של GreenPAK למחשב שלך והקש על תוכנית כדי ליצור את דימר LED החכם הנשלט באמצעות Bluetooth.
שלב 1: תכונות הפרויקט וממשק
תכונות הפרויקט:
1. שתי שיטות שליטה; אפליקציה לנייד ולחצנים אמיתיים.
2. מעבר חלק-כיבוי חלק לאור. זה בריא יותר לעיני הצרכן. זה גם נותן תחושה יוקרתית יותר, שפונה לבתי מלון ותעשיות שירות אחרות.
3. תכונת מצב שינה. זה יהיה ערך מוסף ליישום זה. כאשר המשתמש מפעיל מצב זה, בהירות האור יורדת בהדרגה תוך 10 דקות. זה עוזר לאנשים הסובלים מנדודי שינה. הוא שימושי גם לחדרי שינה של ילדים וחנויות קמעונאיות (זמן סגירה).
ממשק הפרויקט
ממשק הפרויקט כולל ארבעה כפתורי לחיצה, המשמשים ככניסות של GreenPAK:
ON / OFF: הפעל את הנורית ON / OFF (התחלה רכה / עצור).
UP: הגדל את רמת האור.
למטה: הורדת רמת האור.
מצב שינה: על ידי הפעלת מצב שינה, בהירות האור יורדת בהדרגה במשך 10 דקות. זה נותן למשתמש זמן לפני השינה ומבטיח שהאור לא יישאר דולק כל הלילה.
המערכת תוציא אות PWM, שיועבר למחוון LED חיצוני ולמצב שינה של מצב שינה.
עיצוב GreenPAK מורכב מ -4 בלוקים עיקריים. הראשון הוא מקלט UART, המקבל נתונים ממודול ה- Bluetooth, מחלץ הזמנות ושולח אותם ליחידת בקרה. הבלוק השני הוא יחידת בקרה, המקבלת הזמנות שמגיעות ממקלט ה- UART או מהכפתורים החיצוניים. יחידת הבקרה קובעת את הפעולה הנדרשת (הפעלה/כיבוי, הגדלה, הפחתה, הפעלת מצב שינה). יחידה זו מיושמת באמצעות LUTs.
הבלוק השלישי מספק לגנרטורים של CLK. בפרויקט זה, מונה FSM משמש לשליטה ב- PWM. ערך FSM ישתנה (למעלה, למטה) בהתאם לפקודות הניתנות על ידי 3 תדרים (גבוה, בינוני ונמוך). בחלק זה ייווצרו שלושת התדרים וה- CLK הנדרש יעבור ל- FSM בהתאם לסדר הנדרש; בפעולת הפעלה/כיבוי, תדר גבוה עובר ל- FSM להפעלה/עצירה רכה. במהלך עמעום התדר הבינוני עובר. התדר הנמוך עובר במצב שינה כדי להפחית את ערך FSM לאט יותר. לאחר מכן, בהירות האור יורדת גם היא לאט. הבלוק הרביעי הוא יחידת ה- PWM, המייצרת פולסים לנורות חיצוניות.
שלב 2: עיצוב GreenPAK
הדרך הטובה ביותר לבנות דימר באמצעות GreenPAK היא באמצעות FSM 8 סיביות ו- PWM. ב- SLG46620, FSM1 מכיל 8 סיביות וניתן להשתמש בו עם PWM1 ו- PWM2. יש לחבר את מודול ה- Bluetooth, כלומר יש להשתמש בפלט המקביל SPI. סיביות הפלט המקבילות SPI 0 עד 7 מחוברות עם יציאות DCMP1, DMCP2 ו- LF OSC CLK, OUT1, OUT0 OSC. PWM0 משיג את הפלט שלו מ- FSM0 (16 סיביות). FSM0 אינו עוצר ב- 255; הוא גדל עד 16383. כדי להגביל את ערך המונה ב -8 סיביות נוסף FSM נוסף; FSM1 משמש כמצביע כדי לדעת מתי המונה מגיע ל 0 או 255. FSM0 שימש ליצירת דופק PWM. מכיוון שיש לשנות את ערכי שני FSM בו זמנית כדי לקבל אותו ערך, העיצוב הופך להיות מעט מורכב כאשר בשני FSM יש CLK מוגדר מראש, מוגבל, שניתן לבחור. CNT1 ו- CNT3 משמשים כמתווכים להעברת ה- CLK לשני ה- FSM.
העיצוב מורכב מהפרקים הבאים:
- מקלט UART
- יחידת בקרה
- מחוללי CLK ומכפיל
- PWM
שלב 3: מקלט UART
ראשית, עלינו להגדיר את מודול ה- Bluetooth HC06. HC06 משתמש בפרוטוקול UART לתקשורת. UART מייצג מקלט / משדר אוניברסלי אוניברסלי. UART יכול להמיר נתונים הלוך ושוב בין פורמטים מקבילים וסדריים. הוא כולל מקלט סידורי למקבילי וממיר מקביל לטורי ששניהם מתאפיינים בנפרד. הנתונים שיתקבלו ב- HC06 יועברו למכשיר GreenPAK שלנו. מצב הסרק עבור סיכה 10 הוא גבוה. כל תו שנשלח מתחיל בסיבוב התחלה נמוך של לוגיקה, ואחריו מספר נתוני הגדרה של נתוני נתונים, ואחת או יותר סיביות עצירה גבוהות של לוגיקה.
HC06 שולח 1 סיביות START, 8 סיביות נתונים וביט STOP אחד. קצב השידור המוגדר כברירת מחדל הוא 9600. אנו שולחים את בייט הנתונים מה- HC06 לבלוק ה- SPI של GreenPAK SLG46620V.
מאחר ולבלוק SPI אין בקרת סיביות START או STOP, הסיביות משמשות במקום זאת להפעלה וביטול של אות שעון SPI (SCLK). כאשר סיכה 10 יורדת, ה- IC קיבל ביט START, ולכן אנו משתמשים בגלאי קצה נפילת PDLY כדי לזהות את תחילת התקשורת. גלאי קצה נופל זה משעון את DFF0, המאפשר לאות SCLK לשעון את בלוק ה- SPI.
קצב השידור שלנו הוא 9600 סיביות לשנייה, ולכן תקופת ה- SCLK שלנו צריכה להיות 1/9600 = 104 מיקרון. לכן הגדרנו את תדר OSC ל -2 מגהרץ והשתמשנו ב- 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 מיקרון. כשהוא עולה גבוה, שער ה- LUT1 AND 2 סיביות מאפשר לאות OSC 2 מגה-הרץ לעבור אל ה- EXT. קלט CLK0, שהפלט שלו מחובר ל- CNT0.
שלב 4: יחידת בקרה
בחלק זה, הפקודות יבוצעו בהתאם לבייט שהתקבל ממקלט ה- UART, או על פי האותות מהלחצנים החיצוניים. סיכות 12, 13, 14, 15 מאתחלות ככניסות ומחוברות לכפתורים חיצוניים.
כל סיכה מחוברת פנימית לכניסת שער OR, בעוד הכניסה השנייה של השער מחוברת לאות המתאים שמגיע מהסמארטפון באמצעות בלוטות 'אשר יופיע בפלט SPI Parallel.
DFF6 משמש להפעלת מצב שינה שבו תפוקתו משתנה לגבוה כאשר הקצה העולה מגיע מ- LUT4 של 2 סיביות, בעוד DFF10 משמש לשמירה על מצב התאורה, ופלטו משתנה מנמוך לגבוה ולהיפך כאשר כל קצה עולה עולה מפלט 3 סיביות LUT10.
FSM1 הוא מונה של 8 סיביות; הוא נותן דופק גבוה על הפלט שלו כאשר הערך שלו מגיע ל -0 או 255. כתוצאה מכך הוא משמש כדי למנוע מ- FSM0 (16 סיביות) לחרוג מהערך 255, כשהפלט שלו מאפס DFFs והוא משנה את מצב DFF10 מ- on-off ו- להיפך אם התאורה נשלטת על ידי הכפתורים +, - והרמה המקסימלית/מינימלית הושגה.
האותות המחוברים לכניסות FSM1 שומרים, למעלה יגיעו ל- FSM0 דרך P11 ו- P12 כדי לסנכרן ולשמור על אותו ערך בשני המונים.
שלב 5: מחוללי CLK ומרבב
בחלק זה ייווצרו שלושה תדרים, אך רק אחד ישעזר את FSM בכל פעם. התדר הראשון הוא RC OSC, שנאסף מהמטריצה 0 עד P0. התדר השני הוא LF OSC שנלקח גם מהמטריצה 0 עד P1; התדר השלישי הוא פלט CNT7.
3 סיביות LUT9 ו -3 סיביות LUT11 מאפשרות לעבור תדר אחד, על פי פלט LUT14 של 3 סיביות. לאחר מכן, השעון הנבחר משדר ל- FSM0 ו- FSM1 דרך CNT1 ו- CNT3.
שלב 6: PWM
לבסוף, ערך FSM0 הופך לאות PWM כך שיופיע דרך סיכה 20 אשר מאתחלת כפלט והיא מחוברת לנוריות החיצוניות.
שלב 7: אפליקציית אנדרואיד
לאפליקציית אנדרואיד יש ממשק שליטה וירטואלי הדומה לממשק האמיתי. יש לו חמישה כפתורים; ON / OFF, UP, DOWN, מצב שינה וחיבור. אפליקציית אנדרואיד זו תוכל להמיר לחיצות כפתורים לפקודה ותשלח את הפקודות למודול ה- Bluetooth שיש לבצע.
יישום זה נוצר עם MIT App Inventor, שאינו דורש ניסיון בתכנות. ממציא האפליקציות מאפשר למפתח ליצור יישום למכשירי מערכת הפעלה אנדרואיד באמצעות דפדפן אינטרנט על ידי חיבור בלוקים לתכנות. אתה יכול לייבא את האפליקציה שלנו לממציא האפליקציות של MIT על ידי לחיצה על פרוייקטים -> ייבוא פרוייקט (.aia) מהמחשב שלי ובחירה בקובץ.aia הכלול בהערת אפליקציה זו.
כדי ליצור את אפליקציית Android יש להתחיל פרויקט חדש. נדרשים חמישה לחצנים: אחד הוא בורר רשימה עבור מכשירי Bluetooth, והאחרים הם לחצני הבקרה. עלינו להוסיף גם לקוח Bluetooth. איור 6 הוא צילום מסך של ממשק המשתמש של אפליקציית Android שלנו.
לאחר הוספת הכפתורים, אנו הולכים להקצות פונקציית תוכנה לכל כפתור. אנו הולכים להשתמש ב -4 סיביות כדי לייצג את מצב הכפתורים. לפיכך, כל כפתור אחד כאשר אתה לוחץ על הכפתור יישלח מספר ספציפי באמצעות Bluetooth למעגל הפיזי.
מספרים אלה מוצגים בטבלה 1.
סיכום
מדריך זה מתאר דימר חכם הניתן לשליטה בשתי דרכים; אפליקציית אנדרואיד ולחצנים אמיתיים. ארבעה בלוקים נפרדים מתוארים בתוך ה- GreenPAK SLG46620V השולטים על זרימת התהליך להגדלת או הקטנת ה- PWM של אור. בנוסף, תכונה של מצב שינה מתוארת כדוגמא לאפנון נוסף הזמין לאפליקציה. הדוגמה המוצגת היא מתח נמוך, אך ניתנת לשינוי ליישומי מתח גבוה יותר.