2 דרכים להוסיף כפתור לפרויקט ה- Raspberry Pi שלך

2 דרכים להוסיף כפתור לפרויקט ה- Raspberry Pi שלך

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





מדריך זה יראה לך שתי דרכים להוסיף כפתור לפרויקט Raspberry Pi שלך. הכפתור ישמש לשליטה במנורת LED. הוראות בכתב זמינות מתחת לסרטון.





אתה תצטרך

כדי להתחיל, ודא שיש ברשותך את הרכיבים הבאים:





  • 1 x פטל פטל (כל מה שיעשה, דגם 3B משמש במדריך זה)
  • 1 x לחצן לחיצה
  • 1 x LED
  • 1 x 220 Ohm Resistor (ערכים גבוהים יותר בסדר, ה- LED שלך רק יהיה עמום יותר)
  • 1 x לוח לחם
  • חיבור חוטים

לאחר איסוף, אמורים להיות לך רכיבים שנראים כך:

תצטרך גם כרטיס SD עם מערכת ההפעלה Raspbian מותקנת. הדרך המהירה ביותר לעשות זאת היא באמצעות תמונת NOOBS (New Out of the Box Software). הוראות כיצד לעשות זאת זמינות בסרטון זה:



הגדרת המעגל

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

הגדר את המעגל שלך לפי התרשים הזה:





  • ה 5v ו GND סיכות מתחברות למסילות החשמל של לוח הלחם.
  • פין 12 (GPIO 18) מתחבר לרגל החיובית של ה- LED.
  • רגל אחת של ה נַגָד מתחבר לרגל השלילית של ה- LED, והרגל השנייה מתחברת למעקה הקרקע של לוח הלחם.
  • סיכה 16 (GPIO 23) מתחבר לצד אחד של הכפתור, הצד השני מתחבר למעקה הקרקע של לוח הלחם.

לאחר ההתקנה, כך זה צריך להיראות:

בדוק את המעגל שלך כדי לוודא שהוא נכון ולאחר מכן הפעל את ה- Raspberry Pi שלך.





שיטה 1: ספריית RPi.GPIO

לאחר האתחול של ה- Pi, עבור אל התפריט ובחר תכנות> Thonny Python IDE . סקריפט פייתון חדש ייפתח. אם אתה חדש לגמרי ב- Python, זוהי שפה מצוינת למתחילים ויש הרבה מקומות מצוינים ללמוד עוד על Python לאחר שתסיים עם הדרכה זו!

התחל על ידי ייבוא ​​ספריית RPi.GPIO והגדרת מצב הלוח.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

כעת הצהירו על המשתנים עבור מספרי הלדים והסיכות.

ledPin = 12
buttonPin = 16

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

הגדרת הכפתור

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

GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

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

לפני שנמשיך, בואו נסתכל על נגדי משיכה ומשיכה.

הפסקה: נגדים למשוך למעלה/למטה

כאשר אתה מגדיר סיכת GPIO לקלט, הוא קורא את הסיכה הזו כדי לקבוע את מצבה. במעגל זה, עליך לקרוא האם סיכה היא גָבוֹהַ אוֹ נָמוּך כדי להפעיל את הנורית בלחיצה על הכפתור. זה יהיה פשוט אם אלה היו המצבים היחידים שיכולים להיות סיכה, אך למרבה הצער, יש מצב שלישי: צָף .

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

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

כאשר אתה לוחץ על הכפתור, סיכת ה- GPIO מתחברת ישירות לסיכה הארצית, והלחצן קורא נמוך.

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

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

בואו נמשיך היכן שהפסקנו.

לולאת התוכנית

לאחר מכן, הגדר את לולאת התוכנית:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

ה בעוד נכון loop ממשיכה להריץ את הקוד בתוכו עד לסיום התוכנית. בכל פעם שהוא לולאות הוא מעדכן את כפתור State על ידי קריאת הקלט מתוך כפתור סיכה . אמנם הכפתור לא נלחץ, אך הוא נשאר גָבוֹהַ .

לאחר לחיצה על הכפתור, כפתור State הופך נָמוּך . זה מעורר את אם הצהרה , מאז שֶׁקֶר זהה ל נָמוּך , והנורית נדלקת. ה אַחֵר הצהרה מכבה את הנורית בכל פעם שה- pinPin אינו שקרי.

שמור והפעל את הסקריפט שלך

שמור את הסקריפט שלך על ידי לחיצה קובץ> שמור בשם ובחירת שם קובץ. אתה יכול להריץ את הסקיצה על ידי לחיצה על הירוק לְשַׂחֵק כפתור בסרגל הכלים של Thonny.

כעת לחץ על הכפתור והנורית שלך אמורה להידלק! לחץ על האדום תפסיק כפתור בכל עת להפסקת התוכנית

אם אתה נתקל בקשיים, בדוק היטב את קוד ההתקנה ואת המעגל אם יש שגיאות ונסה שוב.

שיטה 2: ספריית אפס GPIO

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

כדי לבדוק את הספרייה החדשה פתח קובץ Thonny חדש, וייבא את הספרייה.

from gpiozero import LED, Button
from signal import pause

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

הגדרת הפינים הרבה יותר קלה עם GPIO Zero:

led = LED(18)
button = Button(23)

מכיוון שלספריית GPIO Zero יש מודולים לנורית ולחצן, אין צורך להגדיר כניסות ויציאות כמו בעבר. תבחין כי למרות שהסיכות לא השתנו, המספרים כאן שונים מלמעלה. הסיבה לכך היא ש- GPIO Zero משתמש רק במספרי סיכות ה- GPIO (ידועים גם בשם מספרי Broadcom או BCM).

משגר הטוב ביותר עבור תיבת אנדרואיד טלוויזיה

שאר התסריט הוא שלוש שורות בלבד:

button.when_pressed = led.on
button.when_released = led.off
pause()

ה הַפסָקָה() שיחה כאן פשוט מפסיקה לצאת מהסקריפט כשהוא מגיע לתחתית. אירועי שני הכפתורים מופעלים בכל פעם שלוחצים על הלחצן ומשחררים אותו. שמור והפעל את הסקריפט שלך ותראה את אותה התוצאה כמו קודם!

שתי דרכים להוסיף כפתור ל- Raspberry Pi

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

השימוש בסיכות GPIO היא דרך מצוינת ללמוד ולהמציא מכשירים משלך, אך זה רחוק מכל מה שאתה יכול לעשות עם ה- Pi. המדריך הלא רשמי שלנו ל- Raspberry Pi שופע רעיונות יצירתיים והדרכות שתוכלו לנסות בעצמכם! לקבלת הדרכה נוספת כמו זו, בדוק כיצד ליצור כפתור מחובר Wi-Fi .

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 5 טיפים להטעין את מכונות הלינוקס של VirtualBox

נמאס לכם מהביצועים הגרועים שמציעות מכונות וירטואליות? הנה מה שאתה צריך לעשות כדי לשפר את ביצועי VirtualBox שלך.

קרא הבא
נושאים קשורים
  • עשה זאת בעצמך
  • פאי פטל
  • פִּיתוֹן
  • GPIO
  • הדרכות לפרויקט DIY
על הסופר איאן באקלי(פורסמו 216 מאמרים)

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

עוד מאת איאן באקלי

הירשם לניוזלטר שלנו

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

לחצו כאן להרשמה