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

לוח אדים מסוג Arduino-Raspberry Pi: 9 שלבים (עם תמונות)
לוח אדים מסוג Arduino-Raspberry Pi: 9 שלבים (עם תמונות)

וִידֵאוֹ: לוח אדים מסוג Arduino-Raspberry Pi: 9 שלבים (עם תמונות)

וִידֵאוֹ: לוח אדים מסוג Arduino-Raspberry Pi: 9 שלבים (עם תמונות)
וִידֵאוֹ: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, נוֹבֶמבֶּר
Anonim
לוח אב טיפוס Arduino-Raspberry Pi
לוח אב טיפוס Arduino-Raspberry Pi

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

*שימו לב: הקוד לפרויקט מלא של 99%, אך אינו תפקודי.

ה- Raspberry Pi שולט במסך LCD בגודל 16x2 ובמקודד הסיבוב בעוד שהארדואינו קורא את הכניסות האנלוגיות מנגדים רגישים לכוח (FSR) ושולח אות לארדואינו להשמעת צליל. שנינו מעולם לא השתמשנו בארדואינו או פי לפני השיעור הזה, אך הפרופסור שלנו נתן לנו את כל הכלים וההנחיות הדרושים כדי לקודד ולבנות את הפרויקט הזה. TinkerCad, כלי דוגמנות תלת מימד מקוון בחינם של AutoDesk, שימש לדגם הפרויקט שלנו.

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

נדרש כישורים

  • הבנה פשוטה של C/C ++ לקידוד Arduino
  • הבנה פשוטה של פיתון לקידוד פטל פטל
  • ידע על אופן חיבור לוח לוח
  • יכולות בסיסיות של דוגמנות תלת מימד
  • רצון ללמוד ולהרחיב תכנות, חיווט ובניית משהו די מסודר

רשימת חלקים

1 x פטל פטל 3

1 x Elegoo Uno או Arduino Uno

1 x 830 קרש עניבה

1 x לוח פריצת GPIO (RSP-GPIO)

1 x כבל סרט ללוח פריצה

4 x נגדים רגישים לכוח קטן

1 x מסך LCD בסיסי של 16 x 2

1 x מודול מקודד סיבובי

24 x חוטי זכר לנקבה

10 x חוטי זכר לזכר

נגדים 4 x 10k

1 x 10k פוטנציומטר

1 x כרית ברך קצף לגינה (חנות בדולר)

שלב 1: בדוק את ה- FSR עם הארדואינו

בדוק את FSR עם הארדואינו
בדוק את FSR עם הארדואינו

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

שלב 2: צייר את התוכניות ללוח

צייר את התוכניות ללוח
צייר את התוכניות ללוח
צייר את התוכניות ללוח
צייר את התוכניות ללוח

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

שלב 3: דגם הלוח ב- TinkerCad

דגם הלוח ב- TinkerCad
דגם הלוח ב- TinkerCad
דגם הלוח ב- TinkerCad
דגם הלוח ב- TinkerCad
דגם הלוח ב- TinkerCad
דגם הלוח ב- TinkerCad

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

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

שלב 4: בדוק את מסך ה- LCD

בדוק את מסך ה- LCD
בדוק את מסך ה- LCD

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

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

שלב 5: בדוק את המקודד הרוטרי עם מסך ה- LCD

בדוק את המקודד הרוטרי עם מסך LCD
בדוק את המקודד הרוטרי עם מסך LCD

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

שלב 6: הרכבת הלוח

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

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

שלב 7: חברו הכל

לחבר הכל
לחבר הכל
לחבר הכל
לחבר הכל

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

שלב 8: סיים את הקידוד של הכל

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

אנא עיינו בקוד המצורף, הערות קיבלו הערות בקוד Python עבור ה- Pi. קוד Arduino צריך להיות 100%.

שלב 9: סיכום

לְהַסִיק
לְהַסִיק

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

מוּמלָץ: