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

עט LED RGB לצביעת אור: 17 שלבים (עם תמונות)
עט LED RGB לצביעת אור: 17 שלבים (עם תמונות)

וִידֵאוֹ: עט LED RGB לצביעת אור: 17 שלבים (עם תמונות)

וִידֵאוֹ: עט LED RGB לצביעת אור: 17 שלבים (עם תמונות)
וִידֵאוֹ: LED Light Pen Holder 2024, נוֹבֶמבֶּר
Anonim
עט LED RGB לצביעת אור
עט LED RGB לצביעת אור
עט LED RGB לצביעת אור
עט LED RGB לצביעת אור
עט LED RGB לצביעת אור
עט LED RGB לצביעת אור

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

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

הכלי מורכב מ:

  • מארז המודפס בתלת מימד
  • מיקרו Arduino
  • מנורת WS2816B
  • שני פוטנציומטר (10K או 100K)
  • שני מתגים
  • כפתור לחיצה
  • וכמה כבלים.

מיקרו Arduino מושלם לכך מכיוון שהוא קטן במיוחד ונהדר לשליטה על נוריות RGB. אתה עשוי גם להשתמש בבקרי מיקרו קטנים עוד יותר כמו LilyPad או אפילו ATtiny85, אך לעתים קרובות אני משתמש במיקרו מכיוון שהוא קל לשימוש מכיוון שהוא מגיע עם מחבר USB מוכן לשימוש. הן ה- Arduino והן ה- LED מופעלים עם 5V, כך שעליך לדאוג לתמיכת חשמל נאותה. כלי זה מיועד לשימוש בארבע סוללות נטענות מסוג AAA מכיוון שבדרך כלל יש להם 1.2V ומשולב 4.8V וזה מספיק בכדי להניע את הארדואינו ואת הנורית. הקפד לא להשתמש בסוללות AAA רגילות, מכיוון שיש להן 1.5V והמתח המשולב עשוי להיות גדול מדי עבור הרכיבים ועלול לפגוע בהם. אם אתה רוצה להשתמש בסוללות רגילות אנא השתמש רק בשלוש, המתח עדיין אמור להספיק. השתמשתי בחלק גדול אחר המודפס בתלת מימד ממישהו אחר למארז הסוללות שניתן למצוא כאן: "מחזיקי סוללות גמישים".

שלב 1: תכנות

ראשית אתה צריך את Arduino IDE כדי לתכנת את בקר הבקרה שניתן להוריד בחינם ולהשתמש בו. זה נשמע די מסובך ממבט ראשון, אבל זה די פשוט. לאחר התקנת התוכנה תקבל חלון עורך טקסט פשוט המשמש לקידוד הסקיצה המועלת ל- Arduino. כלי זה משתמש גם בספריית FastLED שהיא ספרייה נהדרת וקלה לשליטה השולטת כמעט בכל סוג של RGB LED שתוכל לקנות. לאחר הורדת הספרייה עליך להתקין על ידי הצבת הקבצים בתיקיית הספרייה שנוצרה על ידי Arduino IDE. בדרך כלל ניתן למצוא זאת תחת "C: / Users {User Name} Documents / Arduino / libraries" אם לא שינית אותו. לאחר הכנסת הספרייה לתיקייה זו עליך להפעיל מחדש את ה- IDE אם היא כבר פועלת. כעת אנו מוכנים ליצור את הקוד לבקר.

שלב 2: הקוד

כדי להשתמש בספריית FastLED תחילה עלינו לכלול אותה בקוד שלנו. זה נעשה בראש הקוד לפני כל דבר אחר בשורה זו:

#לִכלוֹל

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

#הגדר HUE_PIN A0

#הגדר BRIGHT_PIN A1 #הגדר LED_PIN 3 #הגדר LIGHT_PIN 6 #הגדר COLOR_PIN 7 #הגדר RAINBOW_PIN 8

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

הפוטנציומטר על פין A0 משמש לשליטה בגוון הצבע, הפוטנציומטר על פין A1 משמש לשליטה על הבהירות. פין D3 משמש כאות לנורית כך שהארדואינו יכול לשלוח נתונים כדי לשלוט בצבע. סיכה D6 משמשת להחלפת האור וסיכה D7 ו- D8 משמשים להגדרת מצב הבקר. יישמתי למצבים בבקר זה, אחד פשוט שם את הצבע שהוגדר על ידי פוטנציומטר הצבע על הלד, והשני ידהה בכל הצבעים. בשלב הבא אנו זקוקים גם למספר הגדרות עבור ספריית FastLED:

#הגדר COLOR_ORDER GRB

#הגדר CHIPSET WS2811 #הגדר NUM_LEDS 5

ערכת שבבים משמשת לספרייה באיזה סוג LED אנו משתמשים. FastLED תומך כמעט בכל LED RGB הזמין (כמו NeoPixel, APA106, WS2816B וכו '). הנורית בה אני משתמש נמכרת כ- WS2816B אך נראית מעט שונה ולכן היא פועלת בצורה הטובה ביותר באמצעות ערכת השבבים WS2811. סדר הבייטים שנשלח לנורית כדי להגדיר את הצבע יכול להיות שונה גם בין היצרנים, כך שיש לנו גם הגדרה לסדר הבייט. ההגדרה כאן רק אומרת לספרייה לשלוח את הצבע בסדר ירוק, אדום, כחול. ההגדרה האחרונה היא לכמות נוריות המחוברות. אתה תמיד יכול להשתמש בפחות נוריות ואז אתה מגדיר בקוד, אז אני מגדיר את המספר ל -5 כי עם הכלי הזה לא אעצב עטים עם יותר מ -5 נוריות. אתה יכול להגדיר את המספר הרבה יותר גבוה אבל בגלל הביצועים אני שומר אותו קטן ככל שאני צריך אותו.

עבור הקוד הראשי אנו זקוקים גם לכמה משתנים:

בהירות int = 255;

int undir_pot_Reading1 = 0; int undir_pot_Reading1 = 0; LastTick ארוך ללא סימן ארוך = 0; int wheel_Speed = 10;

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

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

נוריות CRGB [NUM_LEDS];

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

הגדרת בטל () {

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip); pinMode (LIGHT_PIN, INPUT_PULLUP); pinMode (COLOR_PIN, INPUT_PULLUP); pinMode (RAINBOW_PIN, INPUT_PULLUP); }

השורה הראשונה מאתחלת את ספריית FastLED באמצעות ההגדרות שהגדרנו קודם לכן. שלושת השורות האחרונות אומרות ל- Arduino שהסיכות משמשות כקלט וכי אם לא מחוברות לשום דבר יש להגדיר את המתח שלהן גבוה (PULLUP). המשמעות היא שעלינו לחבר את הסיכות האלה ל- GND כדי לעורר משהו.

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

לולאת חלל () {

גוון uint8_t סטטי = 0; סטטי uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); גוון = מפה (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); בהירות = מפה (pot_Reading2, 0, 1023, 0, 255);

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

בשלב הבא אנו הולכים להעריך את כפתור הלחיצה:

if (digitalRead (LIGHT_PIN) == LOW) {

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

ראשית בואו נדאג רק להדליק את הלד בצבע אחד:

אם (digitalRead (COLOR_PIN) == LOW) {

if (גוון <2) {FastLED.showColor (CRGB:: לבן); FastLED.setBrightness (בהירות); } אחר {FastLED.showColor (CHSV (גוון, 255, בהירות)); FastLED.setBrightness (בהירות); } עיכוב (10);

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

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

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

לאחר מכן אנו מקודדים את דהיית הצבע:

אחרת אם (digitalRead (RAINBOW_PIN) == LOW) {

wheel_Speed = map (pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, בהירות)); }

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

לסיום הקוד:

} אחר {

FastLED.showColor (CRGB:: שחור); }}

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

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

ברגע שיש לך את הקוד המלא תוכל להעלות אותו ל- Arduino. לשם כך חבר את Arduino למחשב האישי שלך באמצעות כבל USB ובחר את סוג ה- Arduino ב- IDE.

בהוראות אלה אני משתמש ב- Arduino Pro Micro. לאחר הגדרת דגם ה- Arduino עליך לבחור את היציאה שבה ה- IDE יכול למצוא אותה. פתח את תפריט הנמל ותראה את הארדואינו המחובר שלך.

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

שלב 3: הרכבת האלקטרוניקה לבקר

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

שלב 4:

תמונה
תמונה

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

שלב 5:

תמונה
תמונה

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

שלב 6:

תמונה
תמונה
תמונה
תמונה

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

שלב 7:

תמונה
תמונה

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

שלב 8:

תמונה
תמונה

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

שלב 9:

תמונה
תמונה

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

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

שלב 10:

תמונה
תמונה

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

שלב 11: הרכבת עט האור

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

שלב 12:

תמונה
תמונה
תמונה
תמונה

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

שלב 13:

תמונה
תמונה
תמונה
תמונה

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

שלב 14:

תמונה
תמונה
תמונה
תמונה

לחץ על התאמת הכפתור בפתח והכן את שאר הכבלים. עדיף להלחם את הכבלים למנורת הלד כך שהם יפנו לכיוון אמצע הלד מכיוון שהכבלים עוברים באמצע העט. הלחם את החוט האדום לרפידת הלחמה 5V, החוט השחור למשטח הלחמה GND והחוט הירוק לרפידת הלחמה דין. אם יש לך יותר מנורת LED אחת, משטח הלחמת ה- Dout של הנורית הראשונה מחובר לדין של הנורית הבאה וכן הלאה.

שלב 15:

תמונה
תמונה
תמונה
תמונה

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

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

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

שלב 16: דוגמאות

דוגמאות
דוגמאות
דוגמאות
דוגמאות
דוגמאות
דוגמאות
דוגמאות
דוגמאות

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

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

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

בכיף לנסות את אלה! זו צורת אמנות מדהימה.

הוספתי הוראה זו לממציאים ואתגר שימושים יוצאי דופן, אז אם אתה אוהב השאירו הצבעה;)

שלב 17: הקבצים

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

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

מוּמלָץ: