ה-Raspberry Pi Pico הוא לוח מיקרו-בקר בעלות נמוכה שמקל על מתחילים להתחיל עם פרויקטי אלקטרוניקה וללמוד כיצד לקודד.
עבור פרויקט זה, תלמד כיצד לקרוא אות אנלוגי מפוטנציומטר ולהמיר אותו ל-PWM אות (אפנון רוחב דופק) כדי לתפעל את התדר, או הטון, של זמזם בעזרת MicroPython קוד.
אילו חלקים נדרשים?
פרויקט זה מבוסס על ערכת ממציא Kitronik עבור Raspberry Pi Pico. כל הרכיבים האלקטרוניים הנדרשים כלולים בערכה; עם זאת, אלו הם רכיבים נפוצים שייתכן שיש לך שוכב:
- זמזם אלמנט פיזו
- פוטנציומטר סיבובי
- 7x חוטי מגשר זכר-זכר
- Raspberry Pi Pico עם פיני כותרת GPIO מולחמים
- קרש לחם
אם אתה חדש בתחום אפנון רוחב דופק (PWM) ופוטנציומטרים, עיין תחילה במדריך שלנו בנושא כיצד להשתמש בפוטנציומטר עם Raspberry Pi Pico שלך, המתאר כיצד להשתמש בו כדי להתאים את הבהירות של LED עם PWM.
הרכבה נדרשת
חוט מגשר אחד (צהוב בתמונה) מחבר את הצד השמאלי של הפוטנציומטר למסילה החיובית (+) של לוח הלחם. חוט מגשר נוסף מחבר את הצד הימני של הפוטנציומטר לצד השלילי (-) של לוח הלחם. מהפין האמצעי של הפוטנציומטר, תצטרך להעביר חוט מגשר לפין GP26/A0 ב-Pico.
לזמזם ה-piezo יצטרך חוט אחד שיעבור מהרגל השלילית שלו למסילת ה-breadboard השלילי ואז חיבור נוסף מהרגל החיובית שלו לפין GP15 ב-Raspberry Pi Pico.
תצטרך גם להפעיל חוט מגשר מסיכת GND ב-Pico למסילה השלילית על לוח הלחם, כדי לקרקע אותו. חוט מגשר נוסף יחבר את פין היציאה 3V3 ב-Pico למסילה החיובית של לוח הלחם, כדי להפעיל את הרכיבים.
צור את הקוד
אתה יכול לתפוס את הקוד מה- מאגר MUO GitHub. הורד את קובץ MicroPython בשם piezo-buzzer.py ולאחר מכן טען את זה על ה-Pico שלך דרך מחשב המחובר ל-USB שמריץ את Thonny IDE. בדוק כיצד לעשות זאת התחל עם MicroPython ב-Raspberry Pi Pico לפרטים.
החלקים השונים של הקוד עושים את הפעולות הבאות:
- בחלק העליון, אנו מייבאים את הדרוש מְכוֹנָה, מתמטיקה, ו זְמַן מודולי MicroPython.
- א זַמזָם המשתנה מוקצה לאחר מכן לפין GP15 כפלט PWM.
- א פוטנציומטר המשתנה מוקצה לממיר האנלוגי לדיגיטלי (ADC) בפין GP26/A0 של Pico.
- אנו מגדירים את א סוּלָם() פונקציה המשתמשת בפונקציות מתמטיות כדי להמיר את טווח תנועת הפוטנציומטר לפלט עבור הזמזם.
- ה בעוד: נכון לולאה אינסופית קוראת את קלט הפוטנציומטר, ואז משתמשת ב- סוּלָם פונקציה כדי להמיר אותו. לאחר בדיקה שהוא לא השתנה יותר מדי מהתדר הקודם, הוא שולח את המחושב תדירות לזמזם באמצעות PWM (אפנון רוחב דופק).
לסיכום, יש מאות פולסים שנשלחים בשנייה וצליל הזמזם יעבור בין 120Hz ל-5kHz כאשר הפוטנציומטר מסובב עם כיוון השעון או נגד כיוון השעון. סיבוב הפוטנציומטר משנה את המתח הנקרא על ידי פין הקלט האנלוגי של Pico, אשר בתורו משמש לכוונון תדר הזמזם באמצעות PWM.
הפעל את הקוד מתוני (לחץ על סמל ההפעלה או לחץ F5 במקלדת שלך) ונסה זאת בעצמך. האם לאחר הריצה הראשונה שלך, האם שינויים כלשהם בקוד ישפיעו על התוצאות הפיזיות? לדוגמה, מה יקרה אם תשנה את טווח (0 עד 65535)? חלק זה של הקוד ממוקם ממש מתחת בעוד נכון: איפה ה תדירות מוגדר.
הגדרת הטון
אם אתה מרגיש הרפתקני, אולי תרצה לנסות להשתמש בזמזם כדי ליצור צלילים מוזיקליים באמצעות מרטינקואי'ס פי-פיקו-גוונים ספרייה ב-GitHub. כברירת מחדל, ספרייה זו תיצור גלי סינוס; ארבעה מחוללי גוונים יכולים לפעול על ארבעה פיני פיקו שונים לפי בחירתך. שים לב שהפרויקט הזה מבוסס על C++ תוך שימוש ב-Raspberry Pi Pico SDK, ולא ב-MicroPython, אך הנחיות מלאות ניתנות ב-readme של GitHub.
הבאזז של פיקו אלקטרוניקה
מזל טוב: למדת כיצד לקרוא את הקלט האנלוגי מפוטנציומטר ולהמיר אותו לאות PWM כדי לשלוט בצליל זמזם. פוטנציומטר הוא התקן קלט רב תכליתי עבור אלקטרוניקה. זמזם piezo הוא רכיב שימושי נוסף: עם תוספת של חיישן תנועה אינפרא אדום PIR, למשל, תוכל לזהות נוכחות של פולשים ולהפעיל אזעקה.