בפגישה זו אנו הולכים להשתמש ב- Raspberry Pi ובפונקציות PYGAME כדי ליצור לוח קול. במילים פשוטות, אנו הולכים לחבר כמה כפתורים לסיכות Raspberry Pi GPIO וכאשר לוחצים על כפתורים אלה Raspberry Pi מנגן קבצי שמע המאוחסנים בזיכרון. ניתן להשמיע קבצי שמע אלה בזה אחר זה או שכולם ניגנים יחד. במילים אחרות אתה יכול ללחוץ על כפתור אחד או מרובים בו זמנית, Raspberry Pi ינגן קובץ שמע אחד או מרובים בהתאם בו זמנית. בדוק את סרטון ההדגמה בסוף מאמר זה. בדוק גם את סדרת ההדרכות של פטל פי יחד עם כמה פרויקטים טובים של IoT.
יש לנו 26 סיכות GPIO ב- Raspberry Pi שניתן לתכנת, מתוכן חלקן משמשות לביצוע כמה פונקציות מיוחדות ואז נותרו לנו 17 GPIO. כל סיכה של GPIO יכולה לספק או לצייר מקסימום 15mA. וסכום הזרמים מכל GPIO אינו יכול לחרוג מ- 50mA. כך שנוכל לצייר מקסימום 3mA בממוצע מכל אחד מהסיכות של GPIO אלה. נשתמש בנגדים להגבלת הזרימה הנוכחית. למידע נוסף על סיכות GPIO וכפתור ממשק עם Raspberry Pi כאן.
רכיבים נדרשים:
כאן אנו משתמשים ב- Raspberry Pi 2 דגם B עם Raspbian Jessie OS. כל דרישות החומרה והתוכנה הבסיסיות נדונו בעבר, אתה יכול לחפש את זה במבוא Raspberry Pi ו- Raspberry PI LED מהבהב להתחלה, מלבד זה שאנחנו צריכים:
- Raspberry Pi עם מערכת הפעלה מותקנת מראש
- ספק כוח
- רַמקוֹל
- נגד 1KΩ (6 חתיכות)
- לחצני כפתור (6 חתיכות)
- קבל 1000uF
הסבר עבודה:
כאן אנו מנגנים סאונד באמצעות כפתורים עם פטל פטל. השתמשנו בשישה כפתורי לחיצה להפעלת 6 קבצי שמע. אנו יכולים להוסיף עוד כפתורים וקבצי שמע כדי להרחיב את הלוח הזה ליצירת דפוס יפה יותר על ידי לחיצה על כפתורים אלה. לפני שתסביר עוד, השלם את השלבים הבאים.
1. קודם כל הורידו את 6 קבצי האודיו מהקישור המופיע למטה או שתוכלו להשתמש בקבצי האודיו שלכם, אך לאחר מכן עליכם לשנות את שמות הקבצים בקוד.
הורד קבצי שמע מכאן
2. צור תיקיה חדשה על מסך שולחן העבודה של Raspberry Pi ושמה "PI SOUND BOARD".
3. פתח את קבצי האודיו שהורדת לתיקיה שיצרנו ב- DESKTOP בשלב הקודם.
4. פתח את חלון המסוף ב- Raspberry Pi והזן מתחת לפקודה:
sudo amixer cset numid = 3 1
פקודה זו אומרת ל- PI לספק פלט שמע באמצעות שקע שמע 3.5mm.
אם אתה רוצה פלט שמע מיציאת HDMI, תוכל להשתמש בפקודה הבאה:
$ sudo amixer cset numid = 3 2
5. חבר רמקולים לשקע יציאת האודיו 3.5 מ"מ בלוח ה- Raspberry Pi.
6. צור קובץ PYTHON (סיומת *.py) ושמור אותו באותה תיקייה. עיין במדריך זה ליצירה והפעלת תוכנית Python ב- Raspberry Pi.
7. מערבל Pygame יותקן כברירת מחדל במערכת ההפעלה. אם התוכנית, לאחר הביצוע, לא זוכרת את PYMIXER, עדכן את מערכת ההפעלה של Raspberry Pi על ידי הזנת הפקודה למטה בחלון המסוף. ודא שפי מחובר לאינטרנט.
עדכון sudo apt-get
המתן מספר דקות עד שהמערכת תתעדכן.
כעת חבר כל רכיב לפי דיאגרמת המעגל המפורטת להלן, העתק את תוכנית PYHTON לקובץ PYHTON שנוצר על שולחן העבודה ולחץ לבסוף על הפעל כדי להשמיע את קבצי השמע דרך הכפתורים. תוכנית פייתון ניתנת בסוף עם סרטון ההדגמה.
תרשים מעגל:
הסבר על תכנות:
כאן יצרנו את Python Program להפעלת קבצי האודיו על פי לחיצה על הכפתור. כאן עלינו להבין כמה פקודות, בהן השתמשנו בתוכנית.
ייבא את RPi.GPIO כ- IO
אנו הולכים לייבא קובץ GPIO מהספרייה, הפקודה שלמעלה מאפשרת לנו לתכנת סיכות GPIO של PI. אנו גם משנים את השם "GPIO" ל- "IO", ולכן בתוכנית בכל פעם שברצוננו להתייחס לסיכות GPIO נשתמש במילה 'IO'.
IO.setwarnings (שקר)
לפעמים כאשר סיכות ה- GPIO בהן אנו מנסים להשתמש עשויות לבצע פונקציות אחרות. אז תקבל אזהרות בכל פעם שאתה מבצע תוכנית. פקודה זו אומרת ל- Raspberry Pi להתעלם מהאזהרות ולהמשיך בתוכנית.
IO.setmode (IO.BCM)
כאן אנו מתייחסים לסיכות i / o של PI לפי שם הפונקציה שלהם. אז אנו מתכנתים את ה- GPIO לפי מספרי PIN של BCM, המאפשרים לנו להתקשר למספרי PIN עם מספר ה- PIN של ה- GPIO שלהם. כמו שאנחנו יכולים לקרוא ל- PIN39 בתור GPIO19 בתוכנית.
יבוא pygame.mixer
אנו קוראים למיקסר pygame כדי להשמיע את קבצי האודיו.
audio1 = pygame.mixer.Sound ("buzzer.wav")
אנו קוראים לקובץ שמע 'buzzer.wav' המאוחסן בתיקיית שולחן העבודה. אם ברצונך להשמיע כל קובץ אחר, פשוט שנה את שם קובץ השמע בפונקציה המפורטת לעיל. אתה יכול לתת שם לכל הקבצים שנמצאים בתיקיית שולחן העבודה.
channel1 = pygame.mixer.Channel (1)
כאן אנו מקימים ערוץ לכל כפתור כדי שנוכל לנגן את כל קבצי האודיו בו זמנית.
אם (IO. קלט (21) == 0): channel1.play (audio1)
במקרה, התנאי אם הצהרה נכונה, ההצהרה שמתחתיה תבוצע פעם אחת. אז אם סיכת ה- GPIO 21 תהיה נמוכה או מקורקעת, היא תשמיע את קובץ השמע שהוקצה למשתנה audio1 . לפי דיאגרמת המעגל, אנו יכולים לראות כי סיכה GPIO 21 הולכת ונמוכה כאשר אנו לוחצים על הכפתור הראשון. כדי שנוכל לנגן כל קובץ שמע על ידי לחיצה על הכפתור המתאים.
בעוד 1: משמש לולאה לנצח, עם פקודה זו ההצהרות בתוך לולאה זו יבוצעו ברציפות.
אתה יכול לבצע שינויים בתוכנית הפיתון כדי להפוך את לוח הקול המספק ביותר עם Raspberry Pi. אתה יכול אפילו להוסיף כפתורים נוספים כדי להפוך את הדברים למעניינים יותר ולהשמיע יותר קבצי שמע.