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

מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED: 7 שלבים
מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED: 7 שלבים

וִידֵאוֹ: מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED: 7 שלבים

וִידֵאוֹ: מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED: 7 שלבים
וִידֵאוֹ: הכנת מחזיק מפתחות נוצה מחבלי מקרמה 2024, יולי
Anonim
Image
Image
מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED
מחזיק מפתחות לג'ק Arduino גיטרה עם זיהוי ג'ק ו- OLED

הקדמה:

מדריך זה יפרט את המבנה של מחזיק מפתחות התוסף מבוסס ה- Arduino מבוסס ה- Arduino שלי

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

שלב 1: חלקים וכלים

חלקים וכלים
חלקים וכלים
חלקים וכלים
חלקים וכלים
חלקים וכלים
חלקים וכלים

את רוב החלקים רכשתי מאמזון.co.uk או מאיביי, חלקם כבר הסתובבתי - הנה רשימה של מה שתזדקק להם.

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

רציתי לשמור על המבנה הזה בעלות נמוכה למדי ותקציב. אתה יכול להשתמש במסך TFT גדול יותר אם רצית כל כך, כמו גם בארדואינו אחר. אין להשתמש ב- NANO מכיוון שהוא יקרוס עקב שימוש בזיכרון גבוה. הקוד משתמש בכ -72% מהזיכרון RAM של ה- Pro Micro והוא יציב, אך מבדיקה, NANO יקרוס ויקפא.

(פרטים נוספים בשלב הקוד).

חלקים

1x Arduino Pro Micro -

1x 0.96 אינץ 'OLED עם צג צהוב וכחול -

4x WS2812 'פיקסלים' -

1x DS3231 RTC -

4x 1/4 מונו ג'ק (או כמה שאתה רוצה) - אמזון (זהב) או אמזון (כסף) או eBay.co.uk

חבילת התנגדות מעורבת -

4x 1/4 אינץ 'שקע גיטרה -

1x כבל הארכה של כבל מיקרו USB -

4 ברגים M3

כלים וחומרים

- מלחם (זה זה שקניתי - TS100 - כפי שהוא בא עם עצות נוספות

- הלחמה

- אקדח דבק חם (https://amzn.to/2UTd9PN)

- חוט (https://amzn.to/2VK2ILU)

- חותכי חוטים/חשפנים (https://amzn.to/2KzqUzp)

- מדפסת תלת מימד או שירות הדפסה תלת מימדית

אופציונלי - פריטים אלה הינם אופציונאליים, בהתאם לאופן שבו אתה בוחר לחבר הכל

- Veroboard/Stripboard (https://amzn.to/2KzMFPE)

- מחברי מסוף בורג (2 קוטב | 3 קוטב | 4 קוטב)

- כותרות PCB (https://amzn.to/2X7RjWf)

שלב 2: הדפסת תלת מימד

הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד
הדפסת תלת מימד

הדפסתי את שלי על Creality CR-10S שלי, באמצעות Black PLA+ (https://amzn.to/2X2SDtE)

הדפסתי בגובה 0.2 שכבה, עם 25% מילוי.

שלב 3: להרכיב הכל ביחד + סכמטי

לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי
לשים הכל יחד + סכמטי

האופן שבו אתה בוחר לחבר את הארדואינו שלך תלוי בך בלבד - אני אישית בחרתי להפוך את עצמי ל"מגן "כביכול. כדי להפוך את המגן, הלחמתי כותרות נקבות כדי להיות על הסיפון כדי להתאים ל- Pro Micro, ואז הוספתי מסילה של +5v ו- GND, בקצוות מנוגדים. השתמשתי בחוט מגשר כדי לחבר את ה- +5v ל'מסילה 'שלי עכשיו של 5v, ועשיתי את אותו הדבר עבור ה- GND. לאחר מכן הוספתי את נגדי 4x 100k שלי, קצה אחד מחובר ל -5 V לכולם, ואז הצד השני מתחבר ל- A0, A1, A2 ו- A3 בהתאמה. לאחר מכן הוספתי מסופי בורג לפינים אנלוגיים A0, A1, A2 & A3 וגם סיכות 2 (SDA), 3 (SCL) & 4

מדוד את החיווט שלך וחתך לאורכים המתאימים. התחלתי עם נוריות הפיקסל WS2812 תחילה - נורית ה- WS2812 FIRST מתחברת ל- +5v מהארדואינו, GND מהארדואינו ו- DIN מתחברת לפין 4. לאחר מכן, שלושת הנותרים כבולים יחד, ומשרשרים את כל 5v> 5v, GND> סיכות GND ו- DOUT מפיקסל אחד, מתחבר ל- DIN של הבא. לאחר ההלחמה, לחץ אותם בעדינות לתוך החורים המרובעים בחלק העליון, ודבק חם במקומו וגם כדי להגן על החלק האחורי מפני חיבורים או מכנסיים קצרים.

לאחר הלדים, דפקתי את שקעי הגיטרה של גיטרה. סיכה אחת מכל אחת מתחברת ל- GND, ואז הסיכה השנייה של כל אחת מתחברת ל- A0, A1, A2 ו- A3 בהתאם. אז זה שקע 1, ל- A0, שקע 2 עד A1, שקע 3 עד A2, ושקע 4 עד A3.

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

שימו לב לסיכות! בכמה OLEDs יש GND מבחוץ, ואז VCC, בחלקם יש VCC מבחוץ, ואז GND

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

חבר הכל כדי שיתאים לסכימה ולתמונות, וברגע שאתה שמח, תוכל להדביק חם גם את שעון ה- Pro Micro ו- RTC במקום ולאחר מכן לחבר את הרחבת ה- USB ל- Pro Micro.

השתמשתי בסיומת מיקרו USB כך שא) ניתן להשתמש ב- USB לאספקת חשמל, אך יותר מכך, ב) כך שניתן יהיה לתכנת מחדש את ה- Pro Micro במידת הצורך מבלי לפרק הכל לגזרים

לאחר שמח, הברג את המארז יחד עם 4 הברגים

שלב 4: הפלאגים

הפלאגים!
הפלאגים!
הפלאגים!
הפלאגים!
הפלאגים!
הפלאגים!

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

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

כרשת מחלקת מתח של נגדים R1 ו- R2, Vout = Vin * R2 / (R1 + R2) - אנו משתמשים ב- 100k עבור הנגד הידוע (R1) שלנו. זה נותן לנו את "ירידת המתח"

מכאן, כעת אנו יכולים לחשב את ההתנגדות של הנגד הלא ידוע (R2), R2 = Vout * R1 / (Vin - Vout) - כאשר R1 הוא הנגד של 100k (100, 000 אוהם) שלנו

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

אני משתמש ב -4 תקעי שקע. בחרתי להשתמש ב:

הנגד הידוע (x4) - 100k

תקע שקע 1 - 5.6k

תקע שקע 2 - 10k

תקע שקע 3 - 22k

תקע שקע 4 - 39k

אתה כמובן יכול להרחיב את זה ולקודד כמה שאתה רוצה.

שלב 5: הקוד

הקוד
הקוד

ראשית, תזדקק ל- Arduino IDE, הזמין מכאן:

יהיה עליך לוודא שיש לך גם כמה ספריות Arduino:

Adafruit NeoPixel:

u8g2:

Adafruit RTCLib:

Adafruit SleepyDog (אופציונלי):

הערה לגבי בחירת הלוח "ארדואינו" הנכון. במקור התחלתי את הפרויקט הזה עם Arduino Nano, מכיוון שהם סופר זולים במחיר של כ -3 עד 4 ליש"ט בבריטניה, או עד 1.50 ליש"ט אם אתה קונה מאליאקספרס (אבל לא אכפת לך מהמתנה של 30-50 יום)). הבעיה עם ה- Nano היא ש- SRAM שלו הוא 2 KB (2048 בתים). מערכון זה משתמש ב -1728 בתים של זיכרון דינאמי עם משתנים גלובליים. זה 84% מה- SRAM, ומשאיר 320 בייטים חינם למשתנים מקומיים. זה לא היה מספיק ויגרום לנאנו להינעל ולהקפיא.

ל- Pro Micro (לאונרדו) יש 2.5K SRAM (2560 בתים), כלומר יש 694 בתים בחינם למשתנים מקומיים (הסקיצה משתמשת ב- 72% מסרם ה- Pro Micro של Pro Micro). עד כה זה הוכח כיאה ויציבה לחלוטין לשימוש שלי. אם אתה מתכוון להשתמש בתקעי שקע רבים, ייתכן שתרצה להשתמש במשהו עם יותר SRAM.

מבחינת אחסון פלאש, מערכון זה משתמש ב -88% (25252 בתים) מתוך 30k (ל- ATMega328p [Nano] ו- ATMega32u4 [Pro Micro] שניהם 32k, אך 2k שמורים למטען האתחול)

כתבתי מאות מערכונים של Arduino במהלך השנים, אבל אני חובבני - אז קח בחשבון שחלקים מסוימים בקוד עשויים להיות לא יעילים או שיתכנו תרחישי "דרכים טובות יותר לעשות זאת". עם זאת, זה עובד עבורי בצורה מושלמת ואני שמח עם זה. השתמשתי בספריות שאמורות לעבוד ברוב הלוחות, בין אם זה AVR (Arduino הבסיסי ביותר) או SAMD21 (יש לי קומץ מכשירי Cortex M0)

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

sandhansblog.wordpress.com/2017/04/16/interfacing-displaying-a-custom-graphic-on-an-0-96-i2c-oled/

הקפד להשתמש ב- PROGMEM עבור הגרפיקה שלך. לְמָשָׁל:

סטטי const unsigned char YOUR_IMAGE_NAME PROGMEM = {}

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

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

#define PLUG1 "מפתחות"

#define PLUG2 "P2" #define PLUG3 "P3" #define PLUG4 "P4" #define GENERIC "NA"

ישנם גם כמה חלקים חשובים בקוד בתוך משתנים

לצוף R1 = 96700.0;

לצוף R2 = 96300.0; לצוף R3 = 96500.0; לצוף R4 = 96300.0;

אלה הם ערכי ההתנגדות המוכרים, באוהם, של כל אחד מ -4 הנגדים.

R1 מחובר ל- A0, R2 ל- A1, R3 ל- A2 ו- R4 ל- A3.

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

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

לצוף P1_MIN = 4000.0, P1_MAX = 7000.0; // 5.6K

לצוף P2_MIN = 8000.0, P2_MAX = 12000.0; // 10K float P3_MIN = 20000.0, P3_MAX = 24000.0; // 22K צף P4_MIN = 36000.0, P4_MAX = 42000.0; // 39K

הסיבה לכך היא להסביר את הקריאה האנלוגית ואת תנודות המתח הקטנות וכו '

אז מה שקורה הוא שאם ההתנגדות שזוהתה היא בין 4000 אוהם ל- 7000 אוהם, אנו מניחים שהשתמשת בנגד של 5.6k ולכן הקוד יראה זאת כמחבר 1. אם ההתנגדות הנמדדת היא בין 8000 אוהם לבין 12000 אוהם, ההנחה היא שמדובר בנגד 10k והוא Jack Plug 2 וכן הלאה.

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

//#הגדר SERIAL_DEBUG

//#הגדר WAIT_FOR_SERIAL

כדי לבטל תגובה, הסר את ה //…. כדי להעיר את השורה החוצה, הוסף מחדש את ה- // לחזית השורה.

SERIAL_DEBUG מאפשר ניפוי סדרתי ושימוש בדברים כגון (למשל)

Serial.println (F ("שלום עולם"));

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

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

בעת שימוש באפשרות SERIAL_DEBUG, הקוד שלי מכיל את הדברים הבאים:

#ifdef SERIAL_DEBUG

Serial.print (F ("ACTIVE JACK =")); Serial.println (ACTIVE_JACK); int len = sizeof (SOCKET_1234_HAS_PLUGTYPE_X)/sizeof (SOCKET_1234_HAS_PLUGTYPE_X [0]); for (int i = 0; i <len; i ++) {Serial.print (F ("SOCKET_1234_HAS_PLUGTYPE_X [")); Serial.print (i); Serial.print (F ("] =")); Serial.println (SOCKET_1234_HAS_PLUGTYPE_X ); } Serial.println (); if (INSERTED [socket]) {Serial.print (F ("שקע תקע")); Serial.print (שקע+1); Serial.print (F ("יש דמיון של:")); Serial.println (התנגדות); } #endif

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

שלב 6: הערות

אני חושב שסיקרתי הכל, אבל אנא הגיב ואעשה כמיטב יכולתי לקרוא ולענות כשאני יכול:)

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

תודה שקראתם.

מוּמלָץ: