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

שיר נושא PUBG+אנימציה עם Arduino !: 13 שלבים (עם תמונות)
שיר נושא PUBG+אנימציה עם Arduino !: 13 שלבים (עם תמונות)

וִידֵאוֹ: שיר נושא PUBG+אנימציה עם Arduino !: 13 שלבים (עם תמונות)

וִידֵאוֹ: שיר נושא PUBG+אנימציה עם Arduino !: 13 שלבים (עם תמונות)
וִידֵאוֹ: בנינו יש אימפוסטור - שיר אמונג אס! 2024, נוֹבֶמבֶּר
Anonim
Image
Image
אוספים את כל החלקים
אוספים את כל החלקים

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

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

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

אז, בלי שום עיכוב נוסף, בואו נתחיל!

שלב 1: איסוף כל החלקים

אוספים את כל החלקים
אוספים את כל החלקים

המבנה מורכב בעיקר מננו Arduino המהווה את הליבה העיקרית לפרויקט זה. אתה יכול להשתמש בכל גרסאות אחרות של Arduino כמו ה- Arduino Uno הפופולרי, Arduino Pro Mini, Arduino Mega וכו '. כדי להציג את האנימציות והתמונות, החלטתי ללכת עם תצוגת OLED בגודל 0.96 אינץ' ברזולוציה של 128 על 64 פיקסלים. תצוגה זו יכולה להיות ממשקים עם הארדואינו עם פרוטוקול I2C הדורש שני חוטים בלבד עבור נתונים ושעון, ובכך להקטין את מספר החיבורים ולהפוך את הפרויקט לקומפקטי יותר. לנגינת מנגינת הנושא PUBG השתמשתי בזמזם 5V אשר חיברתי את הסיכה החיובית עם סיכה דיגיטלית 6 של ארדואינו והקרקע הולכת לקרקע של ארדואינו.

להלן רשימת החלקים הדרושים לפרויקט:

  1. Arduino Nano (או כל לוח ארדואינו אחר לבחירתכם)
  2. מודול תצוגה OLED בגודל 0.96 אינץ '
  3. זמזם 5V
  4. חוטי מגשר
  5. לוח לחם
  6. כבל תכנות ארדואינו

שלב 2: חיבור מסך OLED

חיבור מסך OLED
חיבור מסך OLED
חיבור מסך OLED
חיבור מסך OLED
חיבור מסך OLED
חיבור מסך OLED

יש צורך בסך הכל 4 חיבורים כדי לחבר את תצוגת OLED מארדואינו:

Vcc 5V של Arduino

Gnd Gnd מארדואינו

SDA A4 של Arduino

SCK A5 מארדואינו

סיכות A4 ו- A5 של הארדואינו משמשות למטרות מרובות של כניסות אנלוגיות וכן סיכות לתקשורת I2C. כאן השתמשנו בסיכות לפרוטוקול I2C לממשק עם מודול התצוגה.

הקישור לספריית Adafruit המשמשת בפרויקט זה:

שלב 3: חיבור הבאזר

חיבור הבאזר
חיבור הבאזר
חיבור הבאזר
חיבור הבאזר

לזמזם 5V יש מסוף אספקה חיובי ושלילי.

סיכה חיובית D6 של Arduino (סיכה דיגיטלית 6) (ניתן להשתמש בכל סיכה דיגיטלית של הארדואינו)

סיכה שלילית Gnd של Arduino

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

שלב 4: כל חיבורי החומרה הושלמו

כל חיבורי החומרה הושלמו
כל חיבורי החומרה הושלמו
כל חיבורי החומרה הושלמו
כל חיבורי החומרה הושלמו

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

שלב 5: כולל את הספרייה ואתחול פרוטוקולי תצוגה

כולל הספרייה ואתחול פרוטוקולי תצוגה
כולל הספרייה ואתחול פרוטוקולי תצוגה

התוכנית כולה הופצלה לשלושה מרכיבים:

  1. התוכנית העיקרית הכוללת אתחול ואת רצפי הצגת התמונה והלחן
  2. קובץ "pitches.h" המורכב מרשימת התווים המוסיקליים והתדירות המשויכת אליו
  3. קובץ "pictures.h" המורכב ממפות סיביות של התמונות שיוצגו.

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

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

שלב 6: לחן שיר הנושא

מנגינת שיר הנושא
מנגינת שיר הנושא
מנגינת שיר הנושא
מנגינת שיר הנושא

חיפשתי באינטרנט את התווים הבסיסיים הכוללים את שיר הנושא PUBG ולאחר מכן הוספתי אותם למערך הלחן.

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

שלב 7: השמעת השיר במהלך ההפעלה

השמעת השיר בזמן ההפעלה
השמעת השיר בזמן ההפעלה

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

שלב 8: המרת התמונות למפות סיביות

המרת התמונות למפות סיביות
המרת התמונות למפות סיביות

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

הקישור ליישום מקוון זה הוא:

הודות ליוצרים המדהימים של יישום זה, זה הופך את העבודה שלי להרבה יותר קלה.

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

שלב 9: התאמת הרזולוציה בהתאם לתצוגה שלך

התאמת הרזולוציה בהתאם לתצוגה שלך
התאמת הרזולוציה בהתאם לתצוגה שלך

בשלב הבא, עלינו לשנות את גודל התמונה בהתאם לרזולוציית התצוגה. עבור תצוגת OLED שלנו, רוחבו 28 פיקסלים וגובהו 64 פיקסלים, אשר התאמתי כפי שמוצג בתמונה. כוונן את סף הבהירות כדי לוודא שהתמונה ברורה במידה ניכרת (כאן נכנס היתרון בשימוש בתמונות עם צבעים אחידים, ככל שיורדי הצבע יהיו גבוהים יותר, איכות התמונה בתצוגה מונוכרום תתדרדר ככל שהיא תתבלבל עם סף הבהירות.).

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

שלב 10: יצירת מערך מפות הסיביות

יצירת מערך מפות הסיביות
יצירת מערך מפות הסיביות

לאחר התאמת פרמטרי התמונה, בשלב הבא פשוט בחר את קוד Arduino כפורמט פלט ולחץ על צור כדי לקבל את מערך מפת הסיביות הרצוי!

שם! הפכת את התמונה שלך בהצלחה למערך מפות הסיביות הרצוי. ביצעתי תהליך זה בסך הכל 7 תמונות ושמרתי אותן.

שלב 11: הצגת התמונות ברצף

הצגת התמונות כרצף
הצגת התמונות כרצף
הצגת התמונות כרצף
הצגת התמונות כרצף
הצגת התמונות כרצף
הצגת התמונות כרצף

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

קטעי הקוד מסבירים כיצד הפונקציות נקראות על סמך הפונקציה millis ().

כל מערכי מפת הסיביות של התמונות מאוחסנים בקובץ "pictures.h"

שלב 12: הקוד השלם:

כאן אני משתף את כל הקוד כדי שתוכלו לשחק ולהתנסות!

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

שלב 13: התוצאות:

התוצאות
התוצאות
התוצאות
התוצאות
התוצאות
התוצאות
התוצאות
התוצאות

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

אני מקווה שגרסתו של Arduino ל- PUBG היא פרויקט מרגש לכל חובבי המשחק והאלקטרוניקה שיש.

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

עד הפעם הבאה.

מוּמלָץ: