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

מפה חכמה של איידהו עם נתוני LED + אמנות: 8 שלבים (עם תמונות)
מפה חכמה של איידהו עם נתוני LED + אמנות: 8 שלבים (עם תמונות)

וִידֵאוֹ: מפה חכמה של איידהו עם נתוני LED + אמנות: 8 שלבים (עם תמונות)

וִידֵאוֹ: מפה חכמה של איידהו עם נתוני LED + אמנות: 8 שלבים (עם תמונות)
וִידֵאוֹ: עשר הנשים הכי גבוהות בעולם┃טופטן 2024, נוֹבֶמבֶּר
Anonim
Image
Image

עקוב אחר מאת המחבר:

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

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

לצורך הוראה זו תזדקק לדברים הבאים:

  • (2) גיליון 2'x4 'של 1/4MDF
  • (1) לוח אורן בגודל 10 אינץ 'בגודל 8 אינץ'
  • (1) יריעת אור מפזר אקריליק
  • 2 מחרוזות של (50) ws2812B LED הניתן לאינדקס קבוע מראש
  • ספק כוח 5 וולט
  • כתם, צבע, דבק
  • Arduino Micro או שווה ערך

יש צורך בכלים

  • מכונת CNC
  • מלחם
  • מהדקים
  • נייר זכוכית

שלב 1: הדבק את העץ

הדבק את העץ
הדבק את העץ
הדבק את העץ
הדבק את העץ
הדבק את העץ
הדבק את העץ
הדבק את העץ
הדבק את העץ

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

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

עכשיו כשיש לנו את שלושת הלוחות שנזדקק להם בואו נעבור לעבודת ה- CNC!

שלב 2: CNC שלושת הלוחות (לוח גבול, אורן ליבה ולוח LED)

CNC שלושת הלוחות (לוח גבול, ליבת אורן ולוח LED)
CNC שלושת הלוחות (לוח גבול, ליבת אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)
CNC שלוש הלוחות (לוח גבול, ליבה אורן ולוח LED)

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

לוח הליבה LED הוא בעצם גיליון MDF בגודל 1/4 אינץ 'המחזיק את הלדים בהתאמה לחיכוך הדוק. תוכלו להבחין בלוח זה "כיס" גדול סביב הלד. זאת על מנת לאפשר לאור להתפזר מהר ככל אפשרי כך כדי למנוע נקודות חמות על האקריליק.

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

לבסוף הפאנל העליון מעובד רק עם קווי המתאר של המחוזות ושל פנסיון המדינה. לכל מחוז יש מדף קטן שיקבל אקריליק מפזר אור בגודל 1/8 אינץ '.

אם כבר מדברים על אקריליק, הגיע הזמן לעבד את הדברים הבאים.

שלב 3: מכונות המחוזות מגליון אקרילי

Image
Image
מכונות המחוזות מגליון אקרילי
מכונות המחוזות מגליון אקרילי
מכונות המחוזות מגליון אקרילי
מכונות המחוזות מגליון אקרילי

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

הצלחתי להשיג את הרזולוציה הדרושה לי עם קצת 8/8 אינץ 'חיתוך שני ספירלת חלילית במהירות 18, 500 סל ד וקצב הזנה של 200ipm. הזנה ומחשבון מהירויות שימושי כאן! אני ממליץ על זה ב- cnccookbook.com … מעט חליל אחד היה עובד אפילו טוב יותר, אך לא היה לי אחד בהישג יד. שמירה על כרטיסיות קטנות על החלקים האלה בעבודת ה- CAM חשובה כדי שהחלקים המוגמרים לא יתפרקו וייכנסו לחדר!

קיזוז הקסם להכנת המחוזות בגודל הנכון, התברר כהידרדרות של.075 מהקו האמצעי בציור ה- cad. זה איפשר 1/2 מהגבול בגודל 1/8 אינץ 'ועוד קצת נוסף כדי שהפאנל ייכנס למקומו. נדרשה כמות קטנה של שיוף על חלקים מסוימים כדי לגרום להם ליפול למקומם. שוב חבורה של חיכוכים. חלקים מתאימים עשו עבודה מהירה וקלה זו.

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

רק בשביל הכיף התחלתי לבדוק התאמה של חלקים. מתחיל לבוא. מגניב!

רוצה את הקבצים לעיבוד המחוזות. בטוח! ראה קובץ מצורף.

שלב 4: צבע וצבע

צבע וכתם
צבע וכתם
צבע וכתם
צבע וכתם
צבע וכתם
צבע וכתם

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

שלב 5: הדבק לוחות

הדבק לוחות
הדבק לוחות
הדבק לוחות
הדבק לוחות
הדבק לוחות
הדבק לוחות

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

שלב 6: חיבר את נוריות LED עם התאמת חיכוך וחיבור Arduino

חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino
חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino
חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino
חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino
חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino
חבר את נוריות ה- LED עם התאמת חיכוך וחבר Arduino

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

החיבור לארדואינו היה פשוט באמצעות לוח לחם קטן וחיבור חוטים. ספק הכוח היה רכישה באיביי. 5v ו- 8amps הם מוגזמים עבור הפרויקט הזה אבל נותנים הרבה תקורה. חיווט הדברים האלה פשוט מאוד. +5V לסיכת VCC, הארקה לסיכה הארקה ולאחר מכן הפעל את הגדיל עם אותו מקור 5V. הסיכה היחידה שנותרה היא סיכת הנתונים שמפעילה את המחרוזת! במקרה שלי, השתמשתי ב- D7 לנתונים. עכשיו קדימה לתכנות!

שלב 7: קידוד הארדואינו

קידוד הארדואינו
קידוד הארדואינו
קידוד הארדואינו
קידוד הארדואינו

נוריות LED מופעלות על ידי ארדואינו שמכין עוגת קידוד. חלק מהשיגורים הראשוניים הושאלו (כלומר נגנבו) מספריית ה- ws2813fx המעולה ב- github. היה קל לשנות את השגרות האלה כדי לעשות את מה שהייתי צריך לעשות. קשה יהיה להסביר את כל היקפו של הקוד במלואו, אך הנה כמה דגשים!

להלן שיטות ההדגמה הזמינות:

#define FX_MODE_STATIC 0 # להגדיר FX_MODE_BLINK 1 #define FX_MODE_BREATH 2 #define FX_MODE_COLOR_WIPE 3 #define FX_MODE_COLOR_WIPE_INV 4 #define FX_MODE_COLOR_WIPE_REV 5 #define FX_MODE_COLOR_WIPE_REV_INV 6 #define FX_MODE_COLOR_WIPE_RANDOM 7 #define FX_MODE_RANDOM_COLOR 8 #define FX_MODE_SINGLE_DYNAMIC 9 #define FX_MODE_MULTI_DYNAMIC 10 #define FX_MODE_RAINBOW 11 #define FX_MODE_RAINBOW_CYCLE 12 #define FX_MODE_SCAN 13 #define FX_MODE_DUAL_SCAN 14 #define FX_MODE_FADE 15 #define FX_MODE_THEATER_CHASE 16 #define FX_MODE_THEATER_CHASE_RAINBOW 17 #define FX_MODE_RUNNING_LIGHTS 18 #define FX_MODE_TWINKLE 19 #define FX_MODE_TWINKLE_RANDOM 20 #define FX_MODE_TWINKLE_FADE 21 #define FX_MODE_TWINKLE_FADE_RANDOM 22 #define FX_MODE_SPARKLE 23 #define FX_MODE_FLASH_SPARKLE 24 #define FX_MODE_HYPER_SPARKLE 25 #define FX_MODE_STROBE 26 #define FX_MODE_STROBE_RAINBOW 27 #define FX_MODE_MULTI_STROBE 28 #define FX_MODE_BLINK_RAINBOWE_de_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE_DE ne FX_MODE_CHASE_RANDOM 32 #define FX_MODE_CHASE_RAINBOW 33 #define FX_MODE_CHASE_FLASH 34 #define FX_MODE_CHASE_FLASH_RANDOM 35 #define FX_MODE_CHASE_RAINBOW_WHITE 36 #define FX_MODE_CHASE_BLACKOUT 37 #define FX_MODE_CHASE_BLACKOUT_RAINBOW 38 #define FX_MODE_COLOR_SWEEP_RANDOM 39 #define FX_MODE_RUNNING_COLOR 40 #define FX_MODE_RUNNING_RED_BLUE 41 #define FX_MODE_RUNNING_RANDOM 42 #define FX_MODE_LARSON_SCANNER 43 #define FX_MODE_COMET 44 #define FX_MODE_FIREWORKS 45 #define FX_MODE_FIREWORKS_RANDOM 46 #define FX_MODE_MERRY_CHRISTMAS 47 #define FX_MODE_FIRE_FLICKER 48 #define FX_MODE_FIRE_FLICKER_SOFT 49 #define FX_MODE_FIRE_FLICKER_INTENSE 50 #define FX_MODE_CIRCUS_COMBUSTUS 51 #define FX_MODE_HALLOWEEN 52 #define FX_MODE_BICOLOR_CHASE 53 #define FX_MODE_TRICOLOR_CHASE 54 #define FX_MODE_ICU 55

ומבט לאחת משגרות המדגם.

uint16_t WS2812FX:: mode_breath (void) {// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // step uint16_t breath_delay_steps = {7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10}; // מספרי קסמים לנשימה LED uint8_t breath_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}; // עוד מספרים קסומים!

אם (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = breath_brightness_steps [0] + 1; // אנו משתמשים ב- aux_param לאחסון הבהירות}

uint8_t breath_brightness = SEGMENT_RUNTIME.aux_param;

אם (SEGMENT_RUNTIME.counter_mode_step <8) {breath_brightness--; } אחר {breath_brightness ++; }

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

if (breath_brightness == breath_brightness_steps [SEGMENT_RUNTIME.counter_mode_step]) {SEGMENT_RUNTIME.counter_mode_step = (SEGMENT_RUNTIME.counter_mode_step + 1) % (sizeof (breath_brightness_steps)/sizeof (uint8_t)); }

int lum = מפה (נשימה_בהירות, 0, 255, 0, _ בהירות); // שמור על בהירות מתחת לבהירות שנקבעה על ידי המשתמש

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _brightness; // לשנות את צבעי RGBW עם מידע בהירות uint8_t r = (SEGMENT.colors [0] >> 16 & 0xFF) * lum / _brightness; uint8_t g = (SEGMENT.colors [0] >> 8 & 0xFF) * lum / _brightness; uint8_t b = (SEGMENT.colors [0] & 0xFF) * lum / _ בהירות; עבור (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = נשימה_בהירות;

החזר נשימה_השהיה_צעדים [SEGMENT_RUNTIME.counter_mode_step]; }

ניתן להוריד את המקור המלא ממאגר github ws2812fx.

שלב 8: ליהנות מתצוגת האור האמנותית

הייתי מאוד מרוצה מהתוצאה! זה ממש תענוג לצפות ואני נרגש להמשיך לשחק עם תצורות שונות של תצוגת נתונים! אל תהסס לשאול שאלות או פנה אלי למידע שפספסתי.

תחרות LED 2017
תחרות LED 2017
תחרות LED 2017
תחרות LED 2017

פרס שני בתחרות LED 2017

תחרות ארדואינו 2017
תחרות ארדואינו 2017
תחרות ארדואינו 2017
תחרות ארדואינו 2017

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

מוּמלָץ: