אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » רספברי פיי » מבוא ל-IOT ברספברי פיי: ממשק ה-GPIO

מבוא ל-IOT ברספברי פיי: ממשק ה-GPIO

רן בר-זיק ינואר 17, 2022 11:39 am תגובה אחת

הפעלה ראשונה של מעגל חשמלי עם GPIO והדלקת נורה באופן ממוחשב

במאמרים הקודמים על IoT דיברנו על הבסיס. מה זה מעגל חשמלי וגם מה זה נגדים. את הידע הזה אנחנו חייבים על מנת לבנות מעגל חשמלי מתפקד עם נורת LED. כמובן שנורת LED זו רק ההתחלה.

אז נבנה מעגל חשמלי עם רספברי פיי. אנחנו צריכים את המצרכים הבאים:

  1. רספברי פיי עם לינוקס שיש לנו גישת SSH אליו שמחובר לחשמל.
  2. breadboard – לוח חשמלי.
  3. נורת LED אדומה בצבע אדום. צריכה מקסימום 2 וולט ו-20 מיליאמפר.
  4. נגד עם 150Ω לפחות או יותר (אני משתמש באחד שהוא 250Ω).
  5. כבלים זכר/נקבה

את 1-4 קונים כזכור בעלי אקספרס. ככה זה נראה:

רכיבים של רספברי פיי - מעגל חשמלי פשוט
רכיבים של רספברי פיי – מעגל חשמלי פשוט

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

מעגל חשמלי פשוט

ניקח את ה-breadboard. הרכיב שעליו הכל יושב:

Breadbasket

נחבר את הכבל זכר/נקבה באיזור של הפלוס מעכשיו כל העמודה "מוארת" נשים את הנגד ממש מעליו.

הנגד, שמתאים לנורת LED, קופץ מעל התעלה לשורה 29, שם נחבר את נורת ה-LED כשזרוע אחת שלה בצד אחד של ה-breadboard והזרוע השניה מעל התעלה. למה? כי אנחנו רוצים שהזרם יעבור דרכה. באותה שורה אנו נוציא את הזרם.

ככה זה נראה

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

אנו נחבר פין אחד לגראונד, פין מספר 6 והשני לפין מספר 2 או 4. מה שנוח. ברגע שנחבר את הכל כמו שצריך – הכל יעבוד והמנורה תדלק באופן קבוע.

אם זה לא עובד – נסו לבדוק את הדברים הבאים:

  1. האם המנורה עובדת? תחליפו אותה במנורה אחרת. ייתכן שהיא תקולה.
  2. האם החיבורים מהודקים?
  3. האם החיבורים בקו ישר בדיוק כפי שרואים?

אם הכל עובד – מה הלאה?

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

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

חיבור ל-GPIO17

המנורה לא תדלק. למה? כיוון שאין מתח. עכשיו אנחנו נעביר מתח באמצעות לינוקס. נתחבר ב-SSH לרספברי פיי ונפתח פתח אל הבאס או ליתר דיוק אל GPIO17.

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

echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction

הכל מוכן. מה שעשינו פה הוא להגדיר את GPIO17 ולהגדיר את הנתונים שלו כ"יציאה". עכשיו אם נעביר 1, הוא יופעל והמתח יעבור בו. נעביר 0? הוא ייכבה. אם תקלידוL

echo "1" > /sys/class/gpio/gpio17/value

תראו שהמנורה עובדת!

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

אם נקליד

echo "0" > /sys/class/gpio/gpio17/value

המנורה תכבה.

ומהרגע הזה? פתאום יש עולם של אפשרויות. למשל לחבר עוד GPIO ולחבר כמה נורות. למשל:

שימו לב שכאשר אני מחבר כמה נורות, אני צריך רק גראונד אחד. כל פין עם מתח מתחבר ל-GPIO אחר. איזה? אנחנו נבחר. זוכרים את https://pinout.xyz ? זה האתר שבו אנו נשתמש על מנת לבחור את הפינים ולראות מה המספר הפיזי שלהם לעומת המספר שלהם ב"מערכת".

אבל זו השיטה הישנה. מה השיטה החדשה שבה משתמשים? על כך במאמר הבא. ואז נכנס קצת ל-C++.

למאמר הקודם על רספברי פיימבוא ל-IoT ברספברי פיי: הנגד (resistor)
למאמר הבא על רספברי פייעבודה עם Node.js ו-GPIO
אם אתם רוצים ללמוד עוד:
לכל המאמרים על רספברי פיי
Raspberry Pi אלקטרוניקה

תגובה אחת

  1. @halperinko - Kobi Halperin הגב ינואר 17, 2022 בשעה 12:35 pm

    מכיוון שמאמר זה מיועד להדיוטות (בתחום האלק') רצוי להזכיר כי ל LED יש כיווניות – אז רצוי להסביר איזו רגל (קצרה/ארוכה) לחבר לצד ה+ , בכדי שיהיה פחות שימוש לעצה של להחליף נורה (כיוון ששרפתם אותה…)
    (אגב – לכולם יש כנראה צעצועים ישנים בבית – ניתן לפרק מהם את הלדים במקום לחכות למשלוח מדוד עלי)

    "נעביר מתח באמצעות לינוקס" – זה לא מדויק – אלא נשלוט על העברת המתח באמצעות פקודות לינוקס.

    וכמובן השלב הבא – כתיבת ממשק GUI שבעזרתו נוכל להגדיר את הפורטים, לשלוט על הפעלת הלדים, או לקרוא מצב אות הכניסה (לדוגמא ממתג המדמה חיישן של מערכת אזעקה)

    בהצלחה והנאה

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

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

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד