רספברי פיי המחשב שעושה

הפעלת רכיבים עם הרספברי פיי

ערכת רספברי פיי למתחילים

‫‪

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

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

מבוסס על ערכת רספברי פיי למתחילים

פרקים:

  1. מה מבדיל אותו ממחשב רגיל?
  2. רגלי פלט / קלט
  3. רכיבים אנלוגיים ודיגיטליים
  4. נורת לד
  5. זמזם
  6. מטריצת לדים
  7. ממסר
  8. חיישן תנועה אינפרא-אדום
  9. חיישן מרחק אולטראסוני
  10. לוח מקשים
  11. מסך LCD I2C
  12. מנוע DC
  13. מנוע סרוו
  14. פוטנציומטר
  15. חיישן אור
  16. חיישן טמפרטורה אנלוגי
  17. ג’ויסטיק
  18. שלט אינפרא-אדום
  19. אוגר הזזה

מה מבדיל אותו ממחשב רגיל?

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


רגלי פלט / קלט

רספברי פיי פינים GPIO

 

הרגליים בתמונה הן המוח של הרספברי פיי ואותן אפשר להדליק ולכבות על ידי קוד שנכתוב בפייתון . סך הכל יש לנו 26 רגליים שיכולות לשמש לבקרה שעוד מעט נעבור על הדרך להפעיל אותן.
מתח הלוגיקה של הרספברי פיי הוא 3.3 וולט בניגוד לארדואינו שבו מתח הלוגיקה הוא של 5 וולט.

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

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

אם המתח של הבטריה או הספק גבוה מזה אז צריך להוריד אותו על ידי מייצב מתח. אפשרות פשוטה יותר ברספברי פיי היא לספק להם כח מרגל 5 וולט שנמצאית על הרספברי פיי(יש שתיים כאלה). רגל 5V ברספברי פיי יכולה לספק כח לרכיבים אך כאמור לא לשלוט עליהם כי מתח הלוגיקה שלו פועל על 3.3 וולט. בשביל לשלוט בהם נשתמש ברגלי הפלט/קלט שלו.
בשביל לספק כח לרכיבים שדורשים 12 וולט כבר נהיה חייבים ספק כח.


רכיבים אנלוגיים ודיגיטליים

את הרכיבים בערכה אפשר לחלק לכמה סוגים:

  • רכיבים דיגיטליים אשר צריך לתת להם פלט(output) – מטריצת לדים, נורות, ממסר, ספרת 7 מקטעים, מסך LCD, זמזם
  • רכיבים דיגיטליים שצריך לקבל מהם קלט(input) – כפתור, לוח מקשים, חיישן תנועה, מקלט אינפרה אדום, חיישן טמפרטורה דיגיטלי, חיישן מרחק אולטראסוני
  • רכיבים שצריך לתת להם פלט משתנה(PWM) – מנוע DC, מנוע סרוו, גם לנורות וזמזם אפשר לתת מתח משתנה
  • רכיבים אנלוגיים שצריך לקבל מהם קלט משתנה – פוטנציומטר, ג’ויסטיק, חיישן טמפרטורה אנלוגי, חיישן אור. לרספברי פיי אין ממיר אנלוגי/דיגיטלי(ADC) מובנה כמו לארדואינו אז נשתמש בממיר חיצוני 10 ביט MCP3008

רכיבים שמצריכים פלט משתנה אפשר לתת להם PWM על ידי התוכנה שזהו חיקוי של מתח אנלוגי משתנה ויכול לעשות את העבודה לעמעום נורה או מהירות מנוע אבל אם רוצים דיוק מירבי צריך להשתמש בממיר דיגיטלי/אנלוגי (DAC) שמספק מתח אנלוגי.
שוב צריך להזכיר שרגלי הפלט/קלט של הרספברי פיי מיועדות לבקרה והזרם המירבי שהן יכולות לספק הוא 20 מילי-אמפר כך שבשביל מטענים גדולים יותר כמו מנוע וסולנואיד צריך מקור מתח חיצוני.

מתאם פינים למטריצה

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

מתאם פינים למטריצה
מתאם פינים למטריצה

את המתאם צריך להכניס עם קצת לחץ כדי שישב כמו שצריך ואפשר לבדוק שהפינים עובדים כמו שצריך עם רב מודד – לבדוק ש- 5V 3.3V GND נותנים את המתח הרצוי.

הגיע הזמן להפסיק לדבר ולהתחיל לעשות.


הדלקה וכיבוי של נורת לד

אז קודם כל פותחים את סביבת הפיתוח של פייתון 3 ואז יוצרים קובץ חדש.

יצירת קובץ פייתון
יצירת קובץ פייתון

 

מכניסים אליו את הקוד הבא:

import RPi.GPIO as gpio
import time
gpio.setmode(gpio.BCM)
gpio.setup(18, gpio.OUT)

while True:
    gpio.output(18, 1)
    time.sleep(1)
    gpio.output(18, 0)
    time.sleep(1)

שתי השורות הראשונות מייבאות את הספריות הדרושות, ושתי השורות אחריהן מכינות את רגל 18 כפלט(output) .
לאחר מכן יוצרים לולאה אינסופית ובה מדליקים את רגל 18 מחכים שנייה ואז מכבים אותה.
שומרים את הקובץ כ- blink.py ומריצים אותו עם F5. סיומת של py אומרת למחשב שמדובר בקובץ פייתון.

 

קובץ הבהוב נורה
קובץ הבהוב נורה
הבהוב נורה
הבהוב נורה

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


זמזם

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

 

הפעלת זמזם
הפעלת זמזם

 

עכשיו ניצור אפקט של סירנה על ידי הקוד הבא:

import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
buzzer = GPIO.PWM(21, 1)
buzzer.start(10)
while True:
    for i in range(1, 2000):
    buzzer.ChangeFrequency(i)
    time.sleep(0.001)

אנחנו מעלים את התדר מ- 1 ל- 2000 ומחכים אלפית שניה כל פעם. כדי ליצור אפקט סירנה ארוך יותר אפשר לחכות מאית שניה – 0.01

יש כל מיני דוגמאות ברשת של מנגינות שאפשר לנגן ובשביל זה צריך לדעת מראש את התדר של כל תו, לדוגמה A בפסנתר זה תדר של 440 הרץ.


מטריצת לדים

כדי להפעיל את מטריצת הלדים בערכה אנחנו צריכים להוריד ספרייה שיכולה לתקשר עם הדוחף MAX7219. בנוסף צריך לאפשר תקשורת SPI עם הרספברי פיי:

 

תקשורת SPI
תקשורת SPI

נכנסים לתפריט הראשי > העדפות > ושינוי תצורה ופה אפשר כבר להפעיל SPI I2C SERIAL כי גם ככה נצטרך להשתמש בהם בהמשך. לאחר ששינינו נאשר ונאתחל מחדש את הפיי.
עכשיו נוריד את הספריה הדרושה להפעלת המטריצה. נכניס את הפקודה לטרמינל ברספברי פיי:

sudo pip3 install --upgrade max7219

 

מטריצת לדים
מטריצת לדים

אלה החיבורים של המטריצה לרספברי פיי:

VCC הולך ל 3.3V ברספברי פיי
GND הולך ל GND ברספברי פיי
DIN הולך ל MOSI ברספברי פיי
CS הולך ל SPICE0 ברספברי פיי
CLK הולך ל SPICLK ברספברי פיי

הנה הסבר על הספריה ומה אפשר לעשות איתה:
https://max7219.readthedocs.io/en/latest/intro.html

כדי לכתוב אות למטריצה נכניס את הקוד הבא:

 import max7219.led as led
 device = led.matrix()
 device.letter(0, ord("B"))

 

כתיבת אות במטריצת לדים
כתיבת אות במטריצת לדים

זה מדפיס למטריצה את האות B וכך אפשר גם להכניס מספר של כל תו אחר של ascii ואפשר להעזר בטבלה הבאה:
http://www.asciitable.com/

עכשיו כדי להריץ טקסט על המטריצה אפשר להעזר בפונקציה הבאה:

 device.show_message("raspberry pi")

אפשר להאיט את המהירות שהטקסט רץ על המסך ולכתוב מספרים ואותיות באנגלית.לצערנו אין תמיכה בעברית.
כל הפונקציות האפשריות נמצאות כאן:

https://max7219.readthedocs.io/en/latest/api-documentation.html#module-max7219.font


ניתן לרכוש את המדריך המלא כאן

כל הזכויות שמורות להאקסטור – 2017

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *