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

איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi: 8 שלבים (עם תמונות)
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi: 8 שלבים (עם תמונות)

וִידֵאוֹ: איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi: 8 שלבים (עם תמונות)

וִידֵאוֹ: איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi: 8 שלבים (עם תמונות)
וִידֵאוֹ: Part 2 - Black Beauty Audiobook by Anna Sewell (Chs 20-36) 2024, נוֹבֶמבֶּר
Anonim
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi
איש ברזל נמוך פולי עם רצועות LED נשלטות באמצעות Wifi

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

חלקים וחומרים

  • 1/4 "עץ - 40" על 28 "(מידות מקסימליות לחותך הלייזר שלנו)
  • אקריליק אטום בגודל 1/8 אינץ ' - TAPPlastics (אני משתמש בתאורה לבנה, 69%)
  • מארז סוללות - סוללת TalentCell 12V/5V (השתמשתי בחבילת 12V/6000mAh)
  • רצועת LED RGB - 6ft ish (סטנדרטי 4 חוטים, גרסת 5050 שבה נורית ה- RGB נמצאת במודול אחד)
  • טרנזיסטור TIP122 לבקרת PWM של נורות רבות
  • רצועת LED WS2812B - 2ft ish (השתמשתי בגרסה עם 144 LED למטר)
  • בקר מיקרו ESP8266 NodeMCU
  • חוט מחבר מד 22 ליבות מוצק (link1 - link2 - link3 - link4)
  • כמה נגדים אישיים של 300Ω
  • מברשות צבע
  • צבע - השתמשתי בעיקר בצבע Craft Premium. פרטים בשלב הציור

כלים

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

שלב 1: עיצוב באילוסטרייטור

עיצוב באילוסטרייטור
עיצוב באילוסטרייטור
עיצוב באילוסטרייטור
עיצוב באילוסטרייטור

תמונת המקור היא איור של וויליאם טיל, אנא חפש בתיק העבודות שלו אחר יצירות נהדרות אחרות שלו: https://www.behance.net/tealeo93 (אני חושב שזה שלו - עקבתי אחר חור הארנבו של GoogleImages, פינטרסט, GraphicDesignJunction, Behance)

מצאתי את תמונת המקור בחיפוש בגוגל אחר "איש ברזל דל פולי" או "טפט איש ברזל גיאומטרי". הורדתי את התמונה ופתחתי אותה ב- Adobe Illustrator.

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

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

עבור החלק האקרילי רציתי למקסם את היעילות של פיסת האקריליק שלי אז העליתי אותו לאתר זה https://svgnest.com/ והעליתי קובץ עם רק החלקים החתוכים באקריליק ונתתי לו "לקנן" את החלקים. זה משתמש בכמה איטרציות ואלגוריתמים מגניבים כדי לקבוע את הפריסה היעילה ביותר של החלקים שלך בגיליון כדי למזער פסולת. הוא פלט את התצורה הנמצאת בקובץ IronManAcrylic.ai.

שלב 2: חיתוך בלייזר

Image
Image

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

כשחתכתי את המתאר לאורך כל העץ השתמשתי ב 100% כוח 6% מהירות (אני חושב) במכשיר ה- Epilog Fusion M2 40 של 60 וואט שלנו ב Clemson Makerspace. זה עבד ברובו, אבל העץ היה מעוות מאוד בפינה ולכן למעשה הייתי צריך למקד מחדש את הלייזר לפינה ההיא ולהריץ שוב את החלק הזה של החיתוך.

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

את האריליק בגודל 1/8 אינץ 'חתכתי לראשונה ב -100% עוצמה ובמהירות של 8% שזה היה קצת חזק מדי והשאיר כמה סימני חריכה באקריליק הלא מוגן, אז אז עשיתי את זה במהירות של 14% וזה עבד כמו קסם.

שלב 3: ציור

צִיוּר
צִיוּר
צִיוּר
צִיוּר
צִיוּר
צִיוּר

לכן. הַרבֵּה. צִיוּר. הייתי מעריך שזה בערך 20 שעות של ציור.

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

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

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

אני זול ואין לי הרבה ניסיון בציור אז השתמשתי בשני בקבוקי צבע של מיכל'ס או תחביב הלובי. גיליתי כי קו Craft Smart Premium מכוסה די טוב, ובסופו של דבר השתמשתי בצבע CraftSmart Premium Metallic Festive Red מעורבב עם לבן או שחור כדי ליצור 95% מהגוונים האדומים שלי. הצהוב היה רק צהוב ה- Craft Smart Premium, עם מעט זהב שנזרק כניסיון להפוך אותו למעט נוצץ.

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

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

שלב 4: חתיכות אקריליק ותאורה אחורית אקרילית

חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית
חתיכות אקריליק ותאורה אחורית אקרילית

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

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

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

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

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

שלב 5: שאר האלקטרוניקה

שאר האלקטרוניקה
שאר האלקטרוניקה
שאר האלקטרוניקה
שאר האלקטרוניקה
שאר האלקטרוניקה
שאר האלקטרוניקה

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

ניצלתי כבל מיקרו USB זול והחלפתי את קצה המיקרו USB בשקע חבית DC כך שאוכל פשוט להשתמש בכניסת 5V. שמתי 5V על מסילת מתח אחת של לוח הלחם ולתוך סיכת ה- ESP8266 Vin, ואז הקרקע לתוך מסילת הקרקע וסיכת הארקה של ה- ESP8266 (כל החיבורים צריכים להיות מחוברים יחד פנימה בבקר כך שזה לא משנה איזה מהם)

רצועות LED רגילות של RGB נשלטות על ידי אות PWM מהבקר. עם זאת, בקרי מיקרו יכולים לספק זרם של 20mA-50mA בלבד לפין בהתאם לבקר. כל נורית ברצועה דורשת כוח רב כל כך, ולכן עלינו להשתמש בטרנזיסטור כלשהו כדי לשלוט ברצועות. כמה מקומות שצצו בחיפושים בגוגל הציעו את הטרנזיסטור TIP122 שיכול להחליף 5 אמפר או 40 וואט - יותר ממספיק ליישום שלנו. הם לא באמת נועדו להתאים ללוח לחם, אבל אם תסובב כל חוט הצידה 90 ° הוא יתאים לחריצי לוח הלחם. תכננתי במקור להבריח גוף קירור קטן לכל אחד, אך לאחר כמה בדיקות קבעתי שהם לא מתחממים מספיק כדי שיהיה צורך. חיברתי כל קלט טרנזיסטור לפין ב- ESP8266 המיועד לפלט PWM

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

שלב 6: סקירת תכנות

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

בלינק -

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

עדכון OTA (Over the Air)- ספריית ברירת מחדל כלולה ב- ESP8266

אמולטור Alexa Wemo-https://github.com/witnessmenow/esp8266-alexa-wemo…

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

עריכת Arduino ב- Visual Studio באמצעות vMicro

אני משתמש ב- Visual Studio בעבודה כבר כמה חודשים ואני אוהב את כל הכלים להשלמה האוטומטית שהוא בנה, אז לאחר חיפושים גיליתי שאני יכול באמת להשתמש ב- Visual Studio במקום ב- Arduino IDE הרגיל. רישיון vMicro יחיד למחשב עולה 15 $ לסטודנטים, וזה לדעתי לגמרי שווה את זה אם אתה מתכוון להקדיש יותר מכמה שעות לתכנת קוד Arduino.

FastLED לעומת Neopixel

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

שלב 7: טיפים לתכנות

המבנה הכללי

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

אני משתמש במשתנה גלובלי (commandString) כדי לעקוב אחר מצב האור שבו הפרויקט נמצא. בנוסף, אני משתמש גם בבולאני שנקרא "אנימציה" כדי לקבוע אם הוא יפרוץ מפונקציה או לא. כך שכאשר תלחץ על כפתור "מצב קלאסי" ב- Blynk הקוד שלי יגדיר את האנימציה ל- false (כך שהוא יפרוץ מהפונקציה הנוכחית) ויגדיר את commandString ל- "RunClassic". כל פונקציה בודקת כל הזמן אם יש קלט מ- Blynk, Alexa ו- OTAUpdate על ידי הפעלת פונקציה "CheckInput".

משתנים גלובליים

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

  • בהירות גלובלית (0-255)
  • globalSpeed - מהירות ההנפשה של כל פונקציות מונפשות. לפרויקט הזה יש רק קשתות דועכות
  • globalDelayTime - FastLED זקוק לכ -30 מיקרו שניות בכדי לכתוב מידע לכל נורית LED, לכן הגדרתי משתנה זה ל- NUM_LEDS * 30/1000 + 1; לאחר מכן הוסף עיכוב (globalDelayTime) לאחר רוב הפעמים שאני עושה FastLED.show () כך שהפקודה לא תקטע.
  • _r, _g, _b - ערכי RGB גלובליים. כך לחצני ערכת צבעים שונים יכולים פשוט לשנות את ערכי ה- r/g/b הגלובליים וכולם קוראים לאותה פונקציה בסופו של דבר

מתן שם לבקר עדכון Arduino OTA

לקח לי חיפוש מעצבן עד שהבנתי איך קוראים לבקר באמצעות פונקציית העדכון בשידור. פשוט כלול את השורה הזו בקטע ההתקנה של הקוד שלך לפני "ArduinoOTA.onStart (" -

ArduinoOTA.setHostname ("IronMan");

vMicro עם טיפים ל- Visual Studio

לפעמים Visual Studio יזהה כמה בעיות בקבצים עמוקים כמו קבצי C ++ הסטנדרטיים ויזרוק כמה שגיאות. נסה להפעיל/לכבות את סוגי הודעות השגיאה השונות עד שתקבל שגיאות בפרויקט הפתוח שלך ולא בקבצים תומכים. אתה יכול גם לפתוח את הקוד ב- Arduino IDE ולראות אם הוא יתאסף שם או אם הוא יתן קוד שגיאה מועיל יותר.

FastLED

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

FastLED מופיע כתואם ל- ESP8266, אך ייתכן שהגדרות הסיכה אינן נכונות. בתיעוד של FastLED כתוב שתוכל לכלול אחת מהשורות הבאות לפני #include

  • //#הגדר FASTLED_ESP8266_RAW_PIN_ORDER
  • //#הגדר FASTLED_ESP8266_NODEMCU_PIN_ORDER
  • //#הגדר FASTLED_ESP8266_D1_PIN_ORDER

עם זאת, ניסיתי את שלושתם ומעולם לא התאמתי כל הסיכות שלי. כרגע אני משתמש בשורה האחרונה ורק קיבלתי שכשאני אומר ל- FastLED להשתמש בסיכה D2 הוא בעצם משתמש בסיכה D4 בבקר שלי.

למרות שהאורות שלי הם רק הסיכוי הסיני הזול של Neopixels, אני עדיין אומר ל- FastLED להתייחס אליהם כאל Neopixels בהתקנה

  • FastLED.addLeds (leds, NUM_LEDS);
  • FastLED.setCorrection (TypicalLEDStrip);
  • //FastLED.setMaxPowerInVoltsAndMilliamps (5, maxMilliamps); // שימושי לפרויקטים המונעים על סוללות
  • FastLED.setBrightness (globalBright);

שלב 8: מוצר סופי

מוצר סופי
מוצר סופי
מוצר סופי
מוצר סופי
מוצר סופי
מוצר סופי

טא-דה!

אל תהסס להגיב או לשלוח לי שאלות בדוא ל - אני אוהב את הדברים האלה ואשמח לעזור לאנשים אחרים ליצור פרויקטים מגניבים. בדוק באתר שלי כמה פרויקטים אחרים שעשיתי וכמה מהצילומים שלי: www.jacobathompson.com

מוּמלָץ: