פרסומת

ה- Raspberry Pi הוא המחשב המושלם ללימוד. מערכת ההפעלה Raspbian מבוססת לינוקס כוללת את Python, מה שהופך אותה למערכת נהדרת ראשונה עבור קודאים מתחילים. סיכות קלט / פלט (GPIO) למטרה הכללית שלה מקלות על יצרני ניצנים להתנסות בפרויקטים של מוצרי אלקטרוניקה DIY.

זה קל במיוחד כשאתה משתמש בספריות קוד השולטות בסיכות האלה, וב- RPi הפופולרי. ספריית GPIO Python היא דוגמא מצוינת לספריה כזו. אך האם זה הדרך הטובה ביותר למתחילים? הצטרפו אלינו כשאנחנו חוקרים.

מהו אפס GPIO?

ספריית GPIO Zero היא ספריית Python לעבודה עם סיכות GPIO. זה נכתב ע"י מנהל הקהילה של פטל פי בן נוטל. מכוונת להיות אינטואיטיבית ו"ידידותית ", היא מייעלת את קוד הפיתון עבור רוב מקרי השימוש בפטל Pi הרגילים.

בשילוב של נוהלי שמות פשוטים ופונקציות תיאוריות, GPIO Zero נגיש יותר למתחילים להבין. אפילו משתמשים מנוסים של ה- RPi. ספריית GPIO עשויה להעדיף זאת - וכדי להבין מדוע, בואו נסתכל כיצד RPi. GPIO משווה ל- GPIO אפס.

מה לא בסדר עם RPi. GPIO?

שום דבר. שום דבר. RPi. GPIO שוחרר בתחילת 2012 על ידי המפתח בן קרוסטון. זוהי ספרייה חזקה המאפשרת למשתמשים לשלוט בסיכות GPIO מקוד. זה כולל

instagram viewer
כמעט כל פרויקט מתחיל 11 הפרויקטים הטובים ביותר של פטל פי למתחיליםפרויקטים אלה של Raspberry Pi למתחילים נהדרים להתחלה עם היכולות של כל דגם Raspberry Pi. קרא עוד כיסינו.

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

מה כל כך טוב ב- GPIO אפס?

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

שקול את הדוגמה הבאה, הגדרה והפעלה של נורית LED:

קוד להגדרה ו- LED לפלט באמצעות ה- RPi. ספריית GPIO

הקוד הקודם אמור להיות די מוכר לכל מי שיש לו השתמש ב- Pi שלהם כדי לשלוט על נוריות LED.

ה- RPi. ספריית GPIO מיובאת, ומוצהר סיכה עבור ה- LED. סוג פריסת הסיכה מוגדר (BCM ומצב לוח הם מוסבר במדריך ה- GPIO שלנו כל מה שצריך לדעת על סיכות פטל Pi GPIOה- Raspberry Pi הוא מחשב קטן ופנטסטי, אבל מה עושים הסיכות של ה- GPIO (קלט כללי / פלט כללי) בדיוק? בקיצור, הם פותחים עולם שלם של התמצאות והמצאה אלקטרונית של DIY. קרא עוד ), והסיכה מוגדרת כפלט. לאחר מכן, הסיכה מופעלת.

הגישה הזו הגיונית, אך דרך ה- GPIO Zero לעשות זאת היא הרבה יותר פשוטה:

הגדרת נורית LED עם GPIO Zero

ל- GPIO Zero יש מודול לד נוריות המיובא בתחילת הדרך. משמעות הדבר היא שאתה יכול להכריז על מספר הסיכה ולהתקשר למספר led.on () שיטה.

מדוע הגישה של GPIO Zero טובה יותר?

ישנן כמה סיבות לכך ששיטת עבודה זו היא שיפור ב- RPi. GPIO.

ראשית, הוא עונה על הדרישה "קלה לקריאה, קצרה ככל האפשר". ואילו ה- RPi. הצהרות הגדרת GPIO קלות להבנה, הן אינן נחוצות. נורית לד תהיה תמיד פלט, ולכן GPIO Zero מגדיר את הסיכות מאחורי הקלעים. התוצאה היא רק שלוש שורות קוד להגדרה ואז נדלק נורית LED.

ייתכן שתבחין כי אין הגדרת מצב לוח בדוגמה של GPIO Zero. הספרייה משתמשת במספרי Broadcom (BCM) רק עבור הסיכות. מעצב הספרייה בן נוטל מסביר מדוע בשנת 2015 ראיון RasPi.tv:

"מספור הלוחות אולי נראה פשוט יותר, אבל אני אומר שזה מוביל למשתמשים חדשים לחשוב שכל הסיכות הן מטרה כללית - והן לא. חבר נורית לד לפינים 11, מדוע לא לחבר עוד כמה לפינים 1, 2, 3 ו -4? טוב 1 הוא 3V3. 2 ו -4 הם 5V. חוסר מודעות למה מטרת הסיכות יכולה להיות מסוכנת. "

במילים אחרות, זה הגיוני לחלוטין להשתמש במספרים של BCM. בהתחשב בכך ש- GPIO Zero יהיה סטנדרטי בתיעוד של Raspberry Pi בעתיד, כדאי ללמוד!

האם אפס ה- GPIO אכן טוב יותר?

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

מצד שני, לדעת בדיוק מה קורה חשוב ללמידה. קח את הדוגמה של הגדרת כפתור מה - תיעוד GPIO אפס:

קוד דוגמה לאפס GPIO

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

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

משתמשי ה- RPi. ספריית GPIO תבחין כי הנגדים הפנימיים / הנפתחים הפנימיים של ה- Pi אינם מוגדרים בקוד. זה מעלה שאלה מעניינת. האם חיוני למתחילים לדעת על נגדים נפרדים / מורדים? שוב, לבן נוטל יש תשובה לשאלה זו:

"אתה יכול לטעון שכדאי לדעת על משיכות וירידות, ואתה צודק - אבל למה אני צריך ללמד את זה ביום הראשון? [...] אתה רוצה ללמד את האלקטרוניקה לעומק יש הרבה מקום לזה - אבל זה לא אמור להיות חובה אם אתה רק מקבל התחיל."

בסך הכל, הגישה הפשוטה של ​​GPIO Zero היא ככל הנראה דבר טוב למתחילים וותיקים כאחד. חוץ מזה, RPi. GPIO לא הולך לשום מקום. זה תמיד יהיה שם כדי לחזור אליו במידת הצורך.

האם פיתון הוא האפשרות היחידה?

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

לחלופין, אם כבר אתה מתכנת ב- JavaScript, ניתן להתקין את Node.js בקלות על ה- Pi. גישה ל- GPIO זמינה דרך ספריית rpi-gpio npm. אודם על מסילות ניתן להתקין גם ב- Raspberry Pi, אם כי ה- Pi עשוי להיות לא הדרך הטובה ביותר ללמוד מסילות!

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

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

תחילת העבודה עם GPIO אפס עצמך

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

בהתחשב בשימוש של פטל Pi בחינוך, כל דבר שהופך את הלמידה לטבעית יותר הוא דבר טוב. ואילו RPi. GPIO היה מושלם עד כה, GPIO Zero לוקח רעיון טוב והופך אותו לטוב אפילו יותר.

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

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