תוכן עניינים:
- שלב 1: מה שאתה צריך
- שלב 2: בנה את המעגל שלך
- שלב 3: צור סקריפט לשליטה ובדיקת הנורות
- שלב 4: הוספת גמישות באמצעות פרמטרים והצהרות מותנות
וִידֵאוֹ: שליטה במספר נוריות עם פיתון וסיכות ה- GPIO של הפטל שלך: 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
מדריך זה מדגים כיצד לשלוט במספר סיכות GPIO ב- RaspberryPi שלך להפעלת 4 נוריות LED. הוא גם יציג בפניך פרמטרים והצהרות מותנות ב- Python.
ההדרכה הקודמת שלנו באמצעות סיכות ה- GPIO של הפטל פטל שלך לשליטה על נורית LED מדגימה כיצד להדליק ולכבות נורית אחת באמצעות הפקודה GPIO.output. מדריך זה מבוסס על ידע זה כדי ללמד אותך כיצד להשיג שליטה רבה יותר במעגל שלך.
שלב 1: מה שאתה צריך
- RaspberryPi עם Raspbian כבר מותקן. יהיה עליך גם לגשת ל- Pi באמצעות צג, עכבר ומקלדת או באמצעות שולחן עבודה מרוחק. אתה יכול להשתמש בכל דגם של Raspberry Pi. אם יש לך אחד מדגמי Pi Zero, ייתכן שתרצה להלחים כמה סיכות כותרת ליציאת GPIO.
- נוריות אדומות, כחולות, צהובות וירוקות
- קרש אבות טיפוס ללא הלחמה
- 4 x 330 אוהם נגדים
- כמה חוטי מגשר זכר לנקבה
שלב 2: בנה את המעגל שלך
בנה את המעגל הנ ל בלוח הלחם שלך וודא שאף אחד ממרכיבי הרכיבים לא נוגע ושהנורות LED מחוברות בצורה הנכונה.
כיצד אתה מזהה את הלידים החיוביים והשליליים (הקוטביות) על הלדים שלך? אם תסתכל על נורית LED, תראה שיש לה שתי פיסות מתכת קטנות בתוך המעטפת הצבעונית. אלה נקראים האנודה והקתודה. הקתודה היא הגדולה מבין השניים ומחוברת גם להוביל השלילי של ה- LEDs.
לאחר שבדקת את המעגל שלך, חבר את כבלי המגשר של סיכות ה- GPIO של ה- Raspberry Pi שלך על ידי ביצוע התרשים לעיל.
שלב 3: צור סקריפט לשליטה ובדיקת הנורות
ב- Raspberry Pi שלך, פתח את IDLE (תפריט> תכנות> Python 2 (IDLE)).
פתח פרויקט חדש עבור אל קובץ> קובץ חדש. לאחר מכן הקלד (או העתק והדבק) את הקוד הבא:
ייבא RPi. GPIO כ- GPIO
זמן ייבוא GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. פלט (23, שקר)
שמור את הפרויקט שלך כ- multilights.py (קובץ> שמור בשם) בתיקיית מסמכי Raspberry Pis.
ב- Raspberry Pi פתח את הטרמינל (תפריט> אביזרים> מסוף) ונווט אל תיקיית המסמכים שלך על ידי הקלדת הדברים הבאים:
cd/home/pi/Documents
כעת תוכל להריץ את הסקריפט החדש שלך על ידי הקלדת הדברים הבאים:
python multilights.py
האורות יקבלו את זה בתורו כדי להדליק ולכבות. התסריט לעיל משתמש בפקודה time.sleep ליצירת הפסקה בין כל שלב, מה שהופך כל אור להישאר דולק במשך 3 שניות ולהמתין שנייה אחת לפני הדלקת הנורה הבאה.
שלב 4: הוספת גמישות באמצעות פרמטרים והצהרות מותנות
באמצעות פרמטרים והצהרות מותנות אנו יכולים להפוך את הסקריפט לעיל לגמיש בהרבה.
פרמטר מאפשר לך לאחסן ערך שבו תוכל להשתמש בהמשך התסריט. סוגי הערכים הנפוצים ביותר הם מחרוזות (טקסט), מספרים שלמים (מספרים שלמים) או מצופים (מספרים עשרוניים).
הצהרה מותנית תקבע אם יש לבצע קטע קוד או לא על ידי בדיקה אם מתקיים תנאי מסוים. המצב יכול לכלול גם פרמטרים.
פתח את IDLE ב- Raspberry Pi שלך ופתח פרויקט חדש (קובץ> קובץ חדש). לאחר מכן הקלד את הדברים הבאים. הקפד לוודא שכל הכניסות (הכרטיסיות) כלולות באמצעות מקש הכרטיסייה:
ייבא RPi. GPIO כ- GPIO
זמן יבוא מ- sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) if whichled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. פלט (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)
שמור את הפרויקט שלך בתור controllight.py (קובץ> שמור בשם) בתיקיית המסמכים שלך. פתח כעת מסוף (תפריט> אביזרים> מסוף) והקלד את הפקודה הבאה:
python controllight.py b on
הנורית השנייה צריכה להידלק. כעת הקלד את הדברים הבאים:
python controllight.py b כבוי
הנורית השנייה אמורה לכבות.
בשורות 5, 6, 7 & 8, אנו יוצרים את הפרמטרים LEDa, LEDb, LEDc ו- LEDd לאחסון איזה פין GPIO חיברנו לאיזה LED. זה מאפשר לנו להשתמש בסיכות GPIO חלופיות מבלי לבצע שינויים מהותיים בתסריט.
לדוגמה, אם היינו מחברים את נוריות הלדים הראשונות ל- Pin 3 (GPIO 2) במקום זאת, פשוט היינו צריכים לשנות את קו 5 לדברים הבאים:
LEDa = 2
שורה 4 מאחסן את הערכים שהקלדת לאחר controllight.py בפרמטרים אשר (c) ו- ledaction (מופעל). לאחר מכן התסריט משתמש בפרמטרים אלה, לצד מספר הצהרות מותנות כדי להחליט באיזו נורית לשלוט ואם להדליק או לכבות אותו.
שורה 16 (אם ledaction == "מופעל":) היא הצהרה מותנית. השורות המסוכנות שאחרי משפט זה יפעלו רק אם מתקיים תנאי ההצהרה. בתרחיש זה, התנאי הוא ש- ledaction מכיל את הטקסט.
על ידי קריאת ההצהרות המותנות האחרות של התסריט, האם תוכל לחזות מה יקרה כאשר תקליד את הפקודה הבאה בטרמינל?
python controllight.py הכל הלאה
למה לא לנסות ולפרסם את התשובה שלך בסעיף ההערות למטה.
מוּמלָץ:
דלעת ליל כל הקדושים של IoT - נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: 4 שלבים (עם תמונות)
דלעת ליל כל הקדושים IoT | נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: שלום לכולם, לפני כמה שבועות היה ליל כל הקדושים ובעקבות המסורת גילפתי דלעת נחמדה למרפסת שלי. אבל כשהדלעת שלי בחוץ, הבנתי שזה די מעצבן שצריך לצאת כל ערב כדי להדליק את הנר. ואני
הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 לפאי הפטל שלך: 10 שלבים
הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 ל- Raspberry Pi שלך: בין היתר בגלל ההתעניינות שלי לעשות דבר כזה, וחלק בגלל ההתעניינות שלי בקודסיס יש לי את זה על דעתי כבר זמן מה נסה לחבר יציאת ממשק רשת נוספת ל- Raspberry Pi. אז בזמן שעשיתי פרויקטים אחרים אני דבורה
גרף עמודות צבע כפול עם מעגל פיתון: 5 שלבים (עם תמונות)
גרף עמודות בצבעים כפולים עם מעגל פייתון: ראיתי את גרף העמודים של LED באתר פימורוני וחשבתי שזה עשוי להיות פרויקט זול ומהנה תוך נעילה של covid-19. הוא מכיל 24 נוריות LED, אדום וירוק, בכל אחת מהן 12 קטעים, כך שבתיאוריה אתה אמור להיות מסוגל להציג
כריית ביטקוין על פטל הפטל שלך: 6 שלבים
כריית ביטקוין ב- Raspberry Pi שלך: ביטקוין הוא מטבע קריפטוגרפי, סוג של מזומן אלקטרוני. זהו מטבע דיגיטלי מבוזר ללא בנק מרכזי או מנהל יחיד שניתן לשלוח אותו ממשתמש למשתמש באמצעות רשת הביטקוין. ישנן שתי שיטות עיקריות להשגת ביטקוין
שליטה אורות בבית שלך עם המחשב שלך: 3 שלבים (עם תמונות)
בקרת אורות בבית באמצעות המחשב שלך: האם אי פעם רצית לשלוט על האורות בבית שלך מהמחשב שלך? למעשה זה די סביר לעשות זאת. אתה יכול אפילו לשלוט במערכות ממטרות, תריסי חלונות אוטומטיים, מסכי הקרנה ממונעים וכו