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

PCB לקישוט החג: 3 שלבים (עם תמונות)
PCB לקישוט החג: 3 שלבים (עם תמונות)

וִידֵאוֹ: PCB לקישוט החג: 3 שלבים (עם תמונות)

וִידֵאוֹ: PCB לקישוט החג: 3 שלבים (עם תמונות)
וִידֵאוֹ: שקף ציורים (טרנספר) 2024, נוֹבֶמבֶּר
Anonim
PCB קישוט לחג
PCB קישוט לחג
PCB קישוט לחג
PCB קישוט לחג
PCB קישוט לחג
PCB קישוט לחג

היי לכולם!

אותה תקופה בשנה והעונה של החלפת מתנות כמעט בפתח. אני אישית נהנה לעשות דברים ולשתף אותם עם המשפחה. השנה החלטתי להכין קישוטי חג באמצעות Atting85 וכמה נוריות WS2812C 2020. קוטרו של הקישוט כ- 80 מ מ כך שהוא קישוט בגודל סביר לעץ. אם אתה לא איש עץ אתה יודע מה, זה הופך גם לקישוט שולחן נהדר. נוריות WS2812C 2020 הן באגרים קטנים בהירים להפליא אז אל תדאג שזה יהיה עמום מדי חחח. בדקתי אותו ב -3.3 וולט עם צריכת זרם של 0.013 אמפר ואז עבור 5 וולט הצריכה הנוכחית הייתה 0.023 אמפר. אתה יכול להפעיל לוח זה עם 5 וולט ישיר מאחור או דרך מחבר המיקרו USB בגב. אני יכול לחבר את זה למחשב הנייד שלי ולהפעיל אותו. יש גם אפשרות מאחור להפעיל אותו עם מקורות כוח אחרים במקסימום של 30 וולט, אבל זה לבטוח בגיליון הנתונים של הרגולטור 78L05 5V, לא הייתי דוחף אותו כל כך רחוק.

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

אם אתה מעוניין לקנות PCB מיוצר מראש או רק את ה- PCB עצמו בקר בחנות הטינדי שלי.

אספקה

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

כלים

- אקדח חום (כלי עיקרי)/מלחם (תיקון טעויות)

- פינצטה של ESD

- אלכוהול איזופרופיל

- סטנסיל SMT (מומלץ מאוד)

- הדבק הלחמה (אני משתמש במשחת הלחמה נטולת עופרת בטמפרטורה נמוכה הנמכרת באמזון)

אספקה

- נוריות x10 WS2812 2020

- מיקרו בקר Attiny85 x1

- קבלים x11 0.1uf 0603

- x1 0.1uf 0402 קבלים (אתה יכול לברוח עם מכסה 0603)

- מחבר מיקרו USB מסוג SMD x1

- x1 1.5K אוהם נגד

- x1 4.7uf 0805 קבלים

- רגולטור x1 78L05 5V

- דיודה x1 SOD123 (השתמשתי בחוט כתחליף מכיוון שזה לא הכרחי, אבל שכחתי להסיר אותו בעיצוב הלוח)

- x2 דיודות SOD323

- x2 66.5 אוהם נגדים (אתה יכול להשתמש גם בנגדי x2 24 אוהם גם כאן, אני מאמין שכל זוג תואם יעשה זאת למעשה - אל תצטט אותי)

אופציונאלי

- x1 24 Ohm Resistor

- x1 30 Ohm Resistor

(אלה מיועדים למחלק מתח אם ברצונך למדוד את מתח הכניסה עבור צג מתח נמוך - רק אופציה)

שלב 1: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

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

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

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

הסר בזהירות את הסטנסיל שלך ונתחיל להניח חלקים !!

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

- סגול כהה = 0.1uf 0603

- כחול = דיודות

- ליים ירוק = 4.7 uf 0805 (יכול להשתמש ב 0603, כנראה)

- סגול = גשר תיל

- ורוד = נגדי מפרידי מתח

- אדום = נוריות WS2812C (שימו לב לכיוון שלהן, החלק הכהה יותר יהיה בתחתית)

- צהוב = 78L05 הרגולטור 5V 100mA

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

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

אני גם אתקן את זה אם תקנה ממני לוח אז אל תדאג שם.

שלב 2: קידוד

סִמוּל
סִמוּל
סִמוּל
סִמוּל

אז לפני שעיצבתי את זה חשבתי, "הו נוריות WS2812 קטנות, הן חייבות להשתמש באותו קוד כמו של ה- WS2812b, זה הולך להיות טיול בפארק!" שגוי

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

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

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

#כלול #הגדר PIXELS 3000 #הגדר PIXEL_PORT PORTB #הגדר PIXEL_DDR DDRB #הגדר PIXEL_BIT 0 #הגדר T1H 700 #הגדר T1L 320 #הגדר T0H 320 #הגדיר T0L 700 #הגדר RES 300000 #הגדרת NS_PER_L_ECE_LINE_100_DE_DE_DE_DE_DE_DE_SERVICE_100_DE_DE_DE_SERVICE #הגדר NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #הגדר NS_TO_CYCLES (n) ((n) / NS_PER_CYCLE)

sendBit inline void (bool bitVal) {

אם (bitVal) {asm נדיף ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t "" cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [port]" I "(_SFR_IO_ADDR (PIXEL_PORT)), [bit]" I "(PIXEL_BIT), [onCycles]" I "(NS_TO_CYCLES (T1H) - 2), [offCycles]" I "(NS_TO_CYCLES (T1L) - 2));

} אחר {

asm נדיף ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t" "cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [port]" I "(_SFR_IO_ADDR (PIXEL_PORT)), [קצת] "I" (PIXEL_BIT), [onCycles] "I" (NS_TO_CYCLES (T0H) - 2), [offCycles] "I" (NS_TO_CYCLES (T0L) - 2));

} }

inline void sendByte (בתים צ'אר לא חתומים) {עבור (סימן char חסר = 0; ביט <8; ביט ++) {sendBit (bitRead (בת, 7)); בייט << = 1; }}

void ledsetup () {

bitSet (PIXEL_DDR, PIXEL_BIT); }

send inix void sendPixel (תו לא חתום, תו לא חתום, תו ב לא חתום) {

sendByte (g); // Neopixel רוצה צבעים בירוק ואז אדום ואז כחול סדר sendByte (r); sendByte (ב); }

מופע ריק () {

_enday_us ((RES / 1000UL) + 1); // עיגול כיוון שהעיכוב חייב להיות _לפחות_ כל כך ארוך (קצר מדי אולי לא יעבוד, יותר מדי זמן אין בעיה)}

void showColor (תו לא חתום, תו לא חתום, תו לא חתום) {

cli (); עבור (int p = 0; p

8;

step char charged = currentPixelHue & 0xff; switch (phase) {case 0: sendPixel (~ שלב, שלב, 0); לשבור; מקרה 1: sendPixel (0, ~ שלב, שלב); לשבור;

מקרה 2:

sendPixel (שלב, 0, ~ שלב); לשבור; } currentPixelHue+= pixelAdvance; } sei (); הופעה(); firstPixelHue += frameAdvance; }}

הגדרת בטל () {

ledsetup (); }

לולאת חלל () {

rainbowCycle (1000, 10, 10); לַחֲזוֹר; }

שלב 3: הכל בוצע

הכל בוצע
הכל בוצע
הכל בוצע
הכל בוצע
הכל בוצע
הכל בוצע

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

1. לוח לא מזוהה על ידי Arduino - ודא שהתקנת את ספריית digispark ואתה קורא כיצד להשתמש בלוחות digispark.

2. הקוד לא יעלה - עליך ללחוץ על upload ואז לחבר את המודול למחשב, מטומטם אני יודע, אבל ככה זה עובד.

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

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

5. נוריות מהבהבות מוזרות - או שזוהי בעיה בקוד או שאחת מהעמידות שלך לא יושבת כראוי על לוח האיתות.

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

7. עדיין שבור - באמת שאין לי פתרונות, שלח לי מסר.

ובכן, אני מקווה שנהנית מהמדריך שלי! אנא השאר הערה אם עשית זאת.

הטוב ביותר, ניק

מוּמלָץ: