תוכן עניינים:
- שלב 1: חומר נחוץ
- שלב 2: הכפתורים
- שלב 3: מארז הכפתורים
- שלב 4: פי הפטל
- שלב 5: תכנות
- שלב 6: הפעל את סקריפט Python בכל הפעלה
- שלב 7: סיום הערה
וִידֵאוֹ: מקליט הפעלה עם פטל פי: 7 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
שלום כולם, במדריך זה אני מסביר כיצד הכנתי מקליט השמעה באמצעות פטל פטל. המכשיר הוא מדגם 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: סיום הערה
ספר לי מה אתה חושב על הפרויקט הזה בקטע ההערות, הודע לי על ההמלצות שלך והצביע עבורי בתחרות פטל פטל אם אהבת.
מצפה לקרוא אותך!
מוּמלָץ:
עבודה מהבית מקליט זמן באמצעות פי פטל: 7 שלבים
עבודה מהבית מקליט זמן באמצעות פטל פטל: בשנה האחרונה הייתה לי הזדמנות לעבוד מהבית. לשם כך הייתי צריך לעקוב אחר השעות שאני עובד. התחלתי באמצעות גיליון אלקטרוני של Excel והזן ידנית את זמני 'שעון הכניסה' וה'שעון החוצה ', גיליתי במהרה שזהו
קופסת מאוורר פטל פטל עם מחוון טמפרטורת מעבד: 10 שלבים (עם תמונות)
פטל פאס תיבת קירור מאוורר עם מחוון טמפרטורת מעבד: הצגתי פטל פאי (להלן RPI) מעגל מחוון טמפרטורות מעבד בפרוייקט הקודם. המעגל פשוט מציג RPI 4 רמת טמפרטורת מעבד שונה כדלקמן.- נורית ירוקה נדלקת כאשר טמפרטורת המעבד היא בתוך 30 ~
מגה ראספי - פטל פטל בכונן מגה מגה / בראשית: 13 שלבים (עם תמונות)
Mega RasPi - Raspberry Pi ב- Sega Mega Drive / Genesis: מדריך זה לוקח אתכם להמרה של Sega Mega Drive ישן לקונסולת משחקים רטרו, באמצעות פטל פי. ביליתי אינספור שעות בילדותי במשחקי וידאו על סגה מגה דרייב שלי. לרוב החברים שלי היה גם אחד, אז היינו
ועידת וידאו אוטומטית לסבתא עם פטל פטל: 9 שלבים (עם תמונות)
ועידת וידאו אוטומטית לסבתא עם פטל פטל: אני דואג לסבתי בת ה -90 כי אפילו היא צריכה להישאר בבית במהלך מגיפת COVID, היא כל הזמן יוצאת החוצה, עושה " חיוני " דברים ברחוב, כמו רכישת כרטיסי הגרלה, דיבור עם שכנים. אני
סוג הפעלה מסוג Z80 מערכת הפעלה ו- SBC: 6 שלבים (עם תמונות)
סוג הפעלה מסוג Z80 מערכת הפעלה ו- SBC: EfexV4 הוא ROM צג עם מכלול מובנה ופירוק ושירותים בסיסיים לכתיבה, הפעלה וניפוי באגים של תוכניות z80 שלך בחומרה אמיתית EfexMon אינה זקוקה ל- CP/M, N8VEM או חומרה מסובכת אחרת. אתה צריך רק ארכיטקטורה סטנדרטית של Z80 SBC ו