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

רצף LED לתכנות RGB (באמצעות Arduino ו- Adafruit Trellis): 7 שלבים (עם תמונות)
רצף LED לתכנות RGB (באמצעות Arduino ו- Adafruit Trellis): 7 שלבים (עם תמונות)

וִידֵאוֹ: רצף LED לתכנות RGB (באמצעות Arduino ו- Adafruit Trellis): 7 שלבים (עם תמונות)

וִידֵאוֹ: רצף LED לתכנות RGB (באמצעות Arduino ו- Adafruit Trellis): 7 שלבים (עם תמונות)
וִידֵאוֹ: Веб-программирование – информатика для руководителей бизнеса 2016 2024, יולי
Anonim
Image
Image
חבר את לוח הנהגים
חבר את לוח הנהגים

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

אני הולך להראות לך כיצד לבנות את הבקר הפשוט והניתן לתכנות זה של RGB LED באמצעות Arduino Uno (או ננו), Adafruit Trellis, וקומץ חלקים אחרים.

ה- Trafis Adafruit הוא אחד הצעצועים החדשים האהובים עלי ביותר של ליידי עדה והצוות. קודם כל, זה רק 9.95 $ ללוח, ועוד 4.95 $ עבור כרית הכפתור של אלסטומר סיליקון (מחירים נכון לכתיבת שורות אלה). זה הרבה מאוד עבור מטריצת 4x4 עם 16 כפתורים עם יכולת LED. זה לא מגיע עם שום נוריות מותקנות, אתה צריך לספק אותן, אבל זה נותן לך את הגמישות לבחור את הצבעים שאתה רוצה (ושומר על עלות ומורכבות לעומת בניית נוריות כתובות). כדי לבנות את הפרויקט הזה כמו שלי, תזדקק לקומץ נוריות 3 מ מ. השתמשתי ב -2 אדום, 2 ירוק, 2 כחול, 4 צהוב ו -6 לבן.

הטרליס משתמש ב- I2C כדי לתקשר, ולכן הוא דורש רק שני סיכות קלט/פלט (נתונים ושעון) לשליטה על 16 כפתורים ו -16 נוריות LED.

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

הנהג משתמש בשלושה MOSFET IRLB8721 ושלושה נגדים. וכמובן, תצטרך רצועת LED לנהיגה; כמעט כל רצועת LED רגילה של 12V RGB תעשה. אלה נוריות LED פשוטות, כמו 5050 SMD, לא מפוארות שניתן להתייחס אליהן בנפרד (ללא NeoPixels וכו ')-זה עוד פרויקט! אתה גם צריך ספק כוח 12V גדול מספיק כדי להניע את מספר נוריות שאתה מתכוון להשתמש.

אז לסיכום, להלן צרכי החומרה הבסיסיים לפרויקט זה:

  • אחד Arduino Uno או Nano (הוראות אלה מיועדות ל- Uno עם כותרות נקבות מותקנות, אך Nano על קרש לחם עובד מצוין) (Adafruit, Amazon, Mouser);
  • לוח Adafruit Trellis אחד וכרית כפתור סיליקון (Adafruit);
  • שלוש IOSB8721 ערוצי MOSFET (Adafruit, Amazon, Mouser);
  • שלושה נגדים של 1K (אמזון, מוזר);
  • שלושה נגדים של 220 אוהם (אמזון, Mouser)
  • לוח פרוטו אחד קטן (הראשון שלי היה בגודל 1/4-בחר בכל גודל שאתה יכול לעבוד איתו בנוחות) (Adafruit, Amazon);
  • רצועת LED 12V RGB (SMD 5050) (Adafruit, אמזון);
  • ספק כוח 12V - בחרו בהספק המתאים למספר הלדים שאתם מתכננים להניע.

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

בואו נתחיל…

שלב 1: חבר את לוח הנהגים

חבר את לוח הנהגים
חבר את לוח הנהגים

הנה מעגל הנהג LED. זה מאוד פשוט. הוא משתמש ב- MOSFET N-channel IRBLxxx עבור כל ערוץ ברצועת ה- LED. רצועת ה- LED היא אנודה נפוצה, כלומר +12V נשלח לרצועת ה- LED, וערוצי ה- LED האדומים, הירוקים והכחולים נשלטים על ידי מתן קרקע בחיבור המתאים לרצועה. אז, נחבר את הניקוז של ה- MOSFET לערוצי הצבע LED, והמקור לקרקע. השערים יחוברו ליציאות דיגיטליות של Arduino, והנגדים מספקים משיכה הנפתחת המבטיחה שכל MOSFET יופעל או יכבה באופן מלא לפי הצורך.

ה- Arduino מציע אפנון ברוחב הדופק על חלק מהיציאות הדיגיטליות שלו, לכן נשתמש ביציאות אלה (במיוחד D9, D10, D11) כך שניתן לשלוט בעוצמה של כל ערוץ צבע.

אם אתה מבולבל לגבי מה להתחבר היכן ב- MOSFET IRLB8721, החזק אחד בידך כשהחזית פונה אליך כפי שמוצג בתמונה למעלה. הסיכה בצד שמאל (סיכה 1) היא השער, ויתחבר לסיכת פלט דיגיטלית של Arduino והנגד (הקצה השני של הנגד צריך להתחבר לקרקע). הסיכה במרכז (סיכה 2) היא הניקוז, ומתחברת לערוץ צבע רצועת LED. הסיכה מימין (סיכה 3) היא המקור, ומחוברת לאדמה. הקפד לעקוב אחר הטרנזיסטור המתחבר לאיזה ערוץ צבעי LED.

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

אתה יכול גם ללוח את זה. זה בהחלט יהיה מהיר יותר מהלחמת הכל על לוח פרוטו, אבל פחות קבוע.

לאחר חיבור הנהג, חבר את כניסות שער MOSFET לפיני הפלט הדיגיטליים של Arduino: D9 לערוץ הירוק, D10 לערוץ האדום ו- D11 לערוץ הכחול. חבר את רצועת ה- LED גם ללוח הפרוטו שלך.

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

לבסוף, עבור הספק LED, חבר את ההובלה השלילית (הארקה) של ספק 12V לקרקע בלוח הנהג שלך. לאחר מכן חבר את ההובלה החיובית של אספקת 12V למוביל האנודה של רצועת ה- LED שלך (זהו חוט שחור בכבלים שלי המוצג בתמונה).

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

שלב 2: שים נוריות LED על הסורג

שים נוריות על הסבכה
שים נוריות על הסבכה

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

הלחם נוריות 3 מ מ שלך ללוח. בהסתכלות על החלק הקדמי של הלוח, כתוב טקסט בצד ימין למעלה, המתג השמאלי העליון/מיקום ה- LED הוא מספר 1, הימנית העליונה היא #4, השמאלית התחתונה היא #13 והימין התחתון הוא #16. להלן הצבעים בהם השתמשתי בכל מיקום (ויש סיבה לכך, לכן אני ממליץ לך לעקוב אחר התבנית שלי לפחות בשתי השורות העליונות):

1 - אדום 2 - ירוק 3 - כחול 4 - לבן 5 - אדום 6 - ירוק 7 - כחול 8 - לבן 9 - לבן 10 - לבן 11 - צהוב 12 - צהוב 13 - לבן 14 - לבן 15 - צהוב 16 - צהוב

ייחוס CC: התמונה של סורג לעיל היא של Adafruit ומשמשת אותה תחת רישיון Creative Commons - ייחוס/שיתוף דומה.

שלב 3: חבר את הסורג לארדואינו

חבר את הסורג לארדואינו
חבר את הסורג לארדואינו

לטרליס יש חמישה כריות חיווט, אך רק ארבע משמשות בפרויקט זה. הטרלי צריך SDA ו- SCL כדי לתקשר עם ה- Arduino (באמצעות I2C) ו- 5V ו- GND לצורך הספק. הכרית האחרונה, INT, אינה בשימוש. רפידות הסורג מופיעות בכל ארבעת הקצוות של הלוח. אתה יכול להשתמש בכל סט רפידות שאתה רוצה.

הלחמה חוט מחובר מוצק לרפידות 5V, GND, SDA ו- SCL. לאחר מכן, חבר את חוט 5V לסיכה 5V בארדואינו, ה- GND לסיכה הארקה, חוט ה- SDA ל- A4 וחוט ה- SCL ל- A5.

לאחר מכן, אנו הולכים להפעיל את הארדואינו ולהעלות אליו את הסקיצה. עכשיו זה זמן טוב לשים את כפתור הסיליקון על הלוח Trellis. הוא פשוט יושב על הלוח (שים לב ל"נקודות "בתחתית הכרית המתאימות לחורים בלוח), כך שתרצה להשתמש בכמה פיסות קלטת בכדי להחזיק את שולי הכרית ללוח למשך עַכשָׁיו.

ייחוס CC: תמונת החיווט של Trellis למעלה היא גרסה קצוצה של תמונה זו על ידי Adafruit, ומשמשת אותה תחת רישיון Creative Commons - ייחוס/שיתוף דומה.

שלב 4: הורד את סקיצת הפרויקט והעלה אותו ל- Arduino

אתה יכול להוריד את הסקיצה ממאגר Github שלי לפרויקט זה.

לאחר שהבנת אותו, פתח אותו ב- Arduino IDE, חבר את Arduino באמצעות כבל USB והעלה את הסקיצה ל- Arduino.

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

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

אתה יכול לנסות להשתמש בשתי השורות העליונות כדי להאיר ולעמעם את ערוצי ה- LED כמבחן ראשון. אם זה עובד, אתה מוזמן להמשיך לשלב הבא. אם לא, בדוק:

  1. ספק כוח LED מחובר והדלק;
  2. מכשירי MOSFET של לוח הנהגים מחוברים כראוי. אם אתה משתמש באותם IRLB8721 בהם השתמשתי, בדוק:

    • כניסות אות לוח הנהג (שערי MOSFET, פין 1 IRLB8721) מחוברים ל- Arduino D9 = ירוק, D10 = אדום, D11 = כחול (ראה הערה להלן);
    • רצועת LED מחוברת ללוח הנהג וערוצי צבע LED מחוברים לניקוז MOSFET (סיכה 2 IRLB8721);
    • סיכות מקור MOSFET (סיכה 3 IRLB8721) מחוברות לקרקע בלוח הנהג;
  3. חיבור קרקע בין לוח הנהג לסיכת הארקה Arduino.

בשלב הבא נשחק עם כמה מהפונקציות של ממשק המשתמש של כפתור הכפתורים.

הערה: אם הבקר שלך פועל אך כפתורי העוצמה אינם שולטים בצבעים הנכונים, אל תדאג ואל תעשה חיבור מחדש! פשוט היכנס לסקיצה ב- IDE של Arduino ושנה את הגדרות הסיכה אדום, ירוק וכחול ליד החלק העליון של הקובץ.

שלב 5: פונקציות בקרה בסיסיות

פונקציות שליטה בסיסיות
פונקציות שליטה בסיסיות

עכשיו כשהמערכת מופעלת, נוכל לשחק עם כמה מהכפתורים ולגרום לה לעשות דברים.

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

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

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

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

כדי לכבות את המערכת, לחץ והחזק את הלחצן השמאלי התחתון (#13) למשך שנייה אחת או יותר ושחרר. רצועה הסורג וה- LED יחשיך.

שלב 6: עריכת דפוסים בלוח המקשים

עריכת דפוסים בלוח המקשים
עריכת דפוסים בלוח המקשים

כפי שאמרתי בשלב הקודם, המערכון שומר שמונה דפוסי ברירת מחדל ב- EEPROM בפעם הראשונה שהוא מופעל. אתה יכול לשנות 7 מתבניות אלה למשהו אחר אם תרצה באמצעות מצב עריכת התבניות בלוח הכפתורים.

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

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

לאחר יציאת עריכת תבניות, התבנית מתנגנת אוטומטית.

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

שלב 7: חומרה טובה יותר: מגן מנהלי התקן RGB LED

Image
Image
חומרה טובה יותר: RGB LED מגן ומארז
חומרה טובה יותר: RGB LED מגן ומארז
חומרה טובה יותר: RGB LED מגן ומארז
חומרה טובה יותר: RGB LED מגן ומארז

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

ניקיתי את סכמטי הנייר שלי על ידי הזנתו ל- ExpressSCH, כלי חינמי המוצע על ידי ExpressPCB, מייצר לוחות המציע ריצות קצרות וזולות של לוחות PC קטנים. אני משתמש ב- ExpressPCB כבר למעלה מעשור בפרויקטים, אך משתמש בכל הכלים והמכשירים שאתה מעדיף, בכל האמצעים.

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

החלטתי שהכוח לפרויקט צריך לבוא מהמגן. 12V המסופק למגן מניע הן את רצועת ה- LED והן את הארדואינו. הספק לארדואינו מסופק על ידי חיבור כניסת האספקה לסיכת ה- VIN של הארדואינו, הדו-כיוונית (אתה יכול לספק כוח לארדואינו בסיכה זו, או אם תחבר כוח לארדואינו במקום אחר, הוא ייתן לך את המסופק כוח על הסיכה הזו). דיודת ההגנה D1 מונעת מכל כוח המחובר ישירות ל- Arduino (למשל USB) לנסות להפעיל את הנורות.

למה לא להשתמש בשקע החשמל של הארדואינו ופשוט לחבר לשם 12V? למרות שיכולתי לספק 12V לשקע החשמל של הארדואינו ולהשתמש בסיכת ה- VIN כדי לתפוס את הכוח הזה למגן, חששתי שמא דיודת D1 והעקבות של Arduino לא יעמדו בזרמים הגבוהים האפשריים בהנעת הנורית. רצועות. אז, החלטתי שהמגן שלי ישתלט על קלט החשמל ויספק כוח לארדואינו במקום זאת. אני גם צריך 5V עבור הסורג, אבל הרגולציה החשמלית של Arduino מספקת 5V על מספר סיכות, אז השתמשתי באחד מהם עבור סוֹרָג. זה הציל אותי לשים מעגל רגולטור על המגן.

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

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

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

לאחר מכן התחלתי לעבוד על מארז. בעזרת Fusion 360 עיצבתי מארז פשוט שיכיל את שלושת הלוחות (Arduino Uno, shield, and Trellis). חורים במארז מאפשרים חיבור ליציאת ה- USB של הארדואינו, וכמובן, גישה לחיבור רצועת ה- LED ומגן על שקע החשמל. שקע החשמל של Arduino מכוסה במארז, על מנת להבטיח כי אין בו שימוש. לאחר כמה אבות טיפוס להתאמת מבחנים, סוף סוף היה לי עיצוב שהייתי מרוצה ממנו. פרסמתי את קבצי STL למארז ל- Thingiverse.

בעתיד אעשה גרסה של הלוח שאפשר לחבר אליו ננו ישירות, זה יהפוך את הפרויקט לקומפקטי עוד יותר. עד אז, תוכל גם להשתמש במתאם מגן Nano to Uno כזה.

אם אתה הולך לעשות את המגן, הנה מה שתצטרך בנוסף לחלקים שהוזכרו בשלב 1:

  • לוח מחשב מסוג RGB LED Driver Shield (מ- ExpressPCB או אחרים; אתה יכול להוריד את הקבצים ממאגר Github שלי לפרויקט);
  • דיודה 1N4002;
  • קבלים אלקטרוליטיים רדיאליים 100uF 25V (השתמש בעומס LED 220uF או 470uF)
  • שקע חשמל, PJ202-AH (דגם מדורג 5A).

החלקים הבאים הם אופציונליים:

  • 3 מ"מ LED - בכל צבע, למנורת טייס (ניתן להשמיט)
  • נגד 1500 אוהם - נחוץ רק אם משתמשים במנורת טייס LED

מוּמלָץ: