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

מקליט הפעלה עם פטל פי: 7 שלבים (עם תמונות)
מקליט הפעלה עם פטל פי: 7 שלבים (עם תמונות)

וִידֵאוֹ: מקליט הפעלה עם פטל פי: 7 שלבים (עם תמונות)

וִידֵאוֹ: מקליט הפעלה עם פטל פי: 7 שלבים (עם תמונות)
וִידֵאוֹ: לעוף על אנה: השילוב שידענו שאנחנו חייביםםםם🔥 | טין ניק #shorts 2024, יולי
Anonim
Image
Image
חומר נחוץ
חומר נחוץ

שלום כולם, במדריך זה אני מסביר כיצד הכנתי מקליט השמעה באמצעות פטל פטל. המכשיר הוא מדגם B+פטל פטל, עם 7 כפתורי לחיצה למעלה, רמקול המחובר לאחת מיציאות ה- USB של ה- Pi, ומיקרופון המחובר ליציאות USB אחרות. כל כפתור משויך לצליל, כך שהוא יכול לנגן 7 צלילים שונים. הצלילים מושמעים לאחר לחיצה קצרה על הכפתור. כדי להקליט צליל חדש, פשוט לחץ על הכפתור למשך יותר משנייה אחת, הקלט לאחר הצפצוף והרפה מהלחצן בסוף ההקלטה. זה לא נהיה פשוט מזה!

שלב 1: חומר נחוץ

חומר נחוץ
חומר נחוץ
חומר נחוץ
חומר נחוץ

לפרויקט הזה הייתי צריך:

  • Raspberry Pi דגם B + ומיקרו SD כרטיס - 29.95 $ + 9.95 $
  • מארז פלסטיק של Raspberry Pi - 7.95 $
  • רמקולי USB - 12.50 $
  • מיקרופון USB - 5.95 $
  • לוח פרמה פרוטו בגודל חצי-4.50 $
  • 7 כפתורי לחיצה רגעיים - 2.50 $

הייתי צריך גם:

  • קצת חוט חשמלי
  • כותרות נקבות בזווית ישרה
  • קצת עץ, צבע שחור ודבק לתיק הכפתורים
  • מגהץ והלחמה

שלב 2: הכפתורים

הכפתורים
הכפתורים
הכפתורים
הכפתורים
הכפתורים
הכפתורים

הכפתורים בשימוש גבוהים למדי (6 מ מ) כך שהם יכולים לעבור את עובי המארז.

הנחתי את 7 הכפתורים שלי על לוח פרמה-פרוטו, שהוא כמו לוח לחם, למעט רכיבים מולחמים עליו. זה חזק יותר מלוח הלוח, וזול יותר מהדפסת לוח PCB. כל כפתור מקשר את הקרקע ל- GPIO ב- Raspberry Pi. אין לי נגדים כאן מכיוון שלפי יש כבר נגדי משיכה/למטה פנימיים שיוגדרו בתוכנית. במקרה זה הגדרתי אותם ל- pull-up (ראה תוכנית להלן).

הכפתורים ממוקמים כל 4 שורות, או כל 0.4 אינץ '.

שלב 3: מארז הכפתורים

מארז הכפתורים
מארז הכפתורים
מארז הכפתורים
מארז הכפתורים
מארז הכפתורים
מארז הכפתורים

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

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

שלב 4: פי הפטל

הפטל פטל
הפטל פטל
הפטל פטל
הפטל פטל
הפטל פטל
הפטל פטל

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

מכשירי ה- GPIO בהם משתמשים הם 21, 26, 20, 19, 13, 6 ו- 5. כמו כן נעשה שימוש בסיכה הטחונה.

המיקרופון והרמקול פשוט מחוברים לשניים מתוך 4 יציאות ה- USB.

ה- Pi מופעל באמצעות שקע המיקרו-USB

שלב 5: תכנות

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

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

  • aplay -D plughw: CARD = Device_1, DEV = 0 0.wav

    משחק 0.wav

  • arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20

    מקליט למשך 20 שניות לכל היותר בקובץ 0.wav, עם איכות תקליטור

קבצי הקול ממוקמים בספריית ברירת המחדל (/home/pi). יש צורך גם בקובץ צליל עבור הביפ, הממוקם בספריית ברירת המחדל ונקרא beep.wav.

קוד הפייתון עצמו הוא כדלקמן:

קוד פייתון עבור מקליט השמעה של Raspberry Pi

ייבא RPi. GPIO כ- GPIO
זמן יבוא
ייבוא מערכת הפעלה
#משתנים:
butPressed = [True, True, True, True, True, True, True] לחצו על כפתור #if, ואז Butpress הוא שקר
סיכה = [26, 19, 13, 6, 5, 21, 20] סיכות #GPIO של כל כפתור
recordBool = False#נכון אם רשומה מתבצעת
GPIO.setmode (GPIO. BCM)
עבור i בטווח (0, 7):
GPIO.setup (סיכה , GPIO. IN, pull_up_down = GPIO. PUD_UP) #s הגדרת הנגדים הפנימיים של פי למשיכה
בעוד שזה נכון:
עבור i בטווח (0, 7):
butPressed = GPIO.input (pin )#בודק אם נלחץ על כפתור
אם butPressed == שקר:#אם נלחץ על כפתור
previousTime = time.time ()
while butPressed == False and recordBool == False:
butPressed = GPIO.input (סיכה )
אם time.time () - previousTime> 1.0:#אם לוחצים על הכפתור יותר משנייה, אז recordBool הוא True
recordBool = נכון
אם recordBool == True: #if recordBool הוא נכון, הוא משמיע צליל ביפ ואז מקליט
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav")
os.system ("arecord %d.wav -D sysdefault: CARD = 1 -f cd -d 20 &" %i)#רשומות למשך 20 שניות לכל היותר בקובץ i.wav, עם איכות תקליטור
while butPressed == שקר:
butPressed = GPIO.input (סיכה )
os.system ("pkill -9 arecord")#השיא נעצר כאשר הכפתור משתחרר, או לאחר 20 שניות
recordBool = False
else: #if recordBool הוא שקר, הוא מנגן צליל i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
time.sleep (0.1)

הצג מקליט פלייבק המתארח אצל ❤ מאת GitHub

שלב 6: הפעל את סקריפט Python בכל הפעלה

כדי להריץ את סקריפט הפיתון בהפעלה של כל פי, השורות הבאות מוכנסות לקובץ בשם playback.desktop בתיקייה /home/pi/.config/autostart/

מפעיל playback.py בהפעלה של Raspberry Pi

[כניסה לשולחן העבודה]
קידוד = UTF-8
סוג = יישום
שם = הפעלה
Comment = זהו יישום הפעלה
Exec = python /home/pi/playback.py
StartupNotify = false
טרמינל = נכון
מוסתר = שקר

הצג rawplayback.desktop המתארח אצל ❤ על ידי GitHub

שלב 7: סיום הערה

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

מצפה לקרוא אותך!

מוּמלָץ: