- רכיבים נדרשים:
- מודול RF:
- הסבר עבודה:
- הסבר מעגל:
- התקנת ספריית wiringPi ב- Raspberry Pi:
- הסבר על תכנות:
בפגישה זו אנו מתכוונים לפתח שלט רחוק RF באמצעות Raspberry Pi, שניתן להשתמש בו כדי לשלוט בהתקנים באופן אלחוטי. אנו יכולים להפעיל ולכבות את המכשירים באמצעות שלט רחוק זה. פיתחנו בעבר פרויקטים רבים המשתמשים במודול RF כמו רובוט מבוקר RF, רובוט מבוקר ידני וכו ', בדוק אותם כדי להבין את פעולתו של מודול RF.
רכיבים נדרשים:
צד משדר:
- משדר RF (משדר היברידי ASK)
- HT12E IC
- 4 לחצני כפתור
- נגד 750k
- סוללה 9 וולט
צד המקלט:
- פאי פטל
- LCD בגודל 16x2
- עציץ 10K
- לוח לחם
- נגד 1K (חמישה)
- נגד 33K
- HT12D IC
- מקלט RF (מקלט היברידי ASK)
- נוריות (חמש)
- נגד 10K (ארבעה)
- חוט חיבור
- ספק כוח
מודול RF:
זהו מודול משדר ומקלט ASK היברידי הפועל בתדר 433Mhz. למודול זה מתנד מיוצב קריסטל לשמירה על בקרת תדרים מדויקת לטווח הטוב ביותר. שם אנחנו צריכים רק אנטנה אחת חיצונית עבור מודול זה.
מודול זה חסכוני מאוד כאשר נדרשת תקשורת RF ארוכת טווח. מודול זה אינו שולח נתונים באמצעות תקשורת UART של מחשב או מיקרו-בקר ישירות מכיוון שיש הרבה רעש בתדר זה ובטכנולוגיה האנלוגית שלו. אנו יכולים להשתמש במודול זה בעזרת ICs מקודדים ומפענחים המוציאים נתונים מהרעש.
טווח המשדר הוא כ- 100 מטר במתח אספקה מקסימלי ובמשך 5 וולט טווח המשדר הוא כ- 50-60 מטר באמצעות חוט פשוט של אנטנה באורך קוד יחיד באורך 17 ס"מ.
משדר RF תכונות:
- טווח תדרים: 433 Mhz
- הספק יציאה: 4-16dBm
- אספקת כניסה: 3 עד 12 וולט DC
תיאור סיכה של RF Tx:
- GND - אספקת קרקע
- Data In - סיכה זו מקבלת נתונים סדרתיים מקודד
- Vcc - +5 וולט צריך להיות מחובר לסיכה זו
- אנטנה - חיבור עטוף לסיכה זו להעברת נתונים נכונה
תכונות מקלט RF:
- רגישות: -105dBm
- תדר IF: 1 מגה-הרץ
- צריכת חשמל נמוכה
- זרם 3.5 mA
- מתח אספקה: 5 וולט
תיאור סיכה של RF Rx:
- GND - קרקע
- Data In - סיכה זו נותנת פלט נתונים טוריים למפענח
- Data In - סיכה זו נותנת פלט נתונים טוריים למפענח
- Vcc - +5 וולט צריך להיות מחובר לסיכה זו
- Vcc - +5 וולט צריך להיות מחובר לסיכה זו
- GND - קרקע
- GND - קרקע
- אנטנה - חיבור עטוף לסיכה זו לקבלת נתונים נכונה
הסבר עבודה:
העבודה של פרויקט זה קלה מאוד. בפרויקט זה השתמשנו בארבעה כפתורים בצד המשדר (משמש כשלט) כדי לשלוט על ארבעת הנוריות בקצה המקלט. כשאנחנו לוחצים על אחד מארבעת הכפתורים אז מקודד IC מקודד את האות ושולח אותו למשדר RF ומשדר RF משדר אותו בסביבה. כעת מקלט ה- RF מקבל את האות המשודר ומפענח אותו באמצעות מפענח IC HT12D ושולח את פלט 4 הסיביות שלו ל- Raspberry Pi. ואז פטל פי קורא את החלקים האלה ומבצע משימה קשורה ומדליק את ה- LED בהתאמה. זמזם מצפצף לשנייה בכל פעם שלוחצים על מקש כלשהו. LCD 16x2 משמש גם להצגת מצב 'ON או OFF' של כל נוריות הנוריות.
בפרויקט זה השתמשנו בארבע נוריות רק למטרת הדגמה, אנו יכולים להפעיל כל משימה על ידי לחיצה על הכפתור המתאים ב'מרחק RF '. כמו שאנחנו יכולים גם לחבר מכשירי חשמל ביתיים במקום נוריות, באמצעות הממסר ויכולים לשלוט במכשירים האלה באמצעות אותו 'RF מרחוק' באופן אלחוטי. אז אותו מעגל יכול לעבוד כפרויקט אוטומציה ביתית מבוסס RF באמצעות Raspberry Pi. פיתחנו בעבר פרויקטים רבים של אוטומציה ביתית הנשלטת באמצעות Bluetooth, DTMF, GSM וכו '. תוכל לבדוק הכל כאן פרויקטים של אוטומציה ביתית.
הסבר מעגל:
המעגל של שלט רחוק זה של Raspberry Pi RF הוא פשוט המכיל לוח Raspberry Pi, לחצן כפתור ו- LCD, זוג RF ומקודד / מפענח IC. Raspberry Pi שולט ב- LCD, קורא קלט ושולח פלט לפי קלט. השתמשנו כאן ב- Raspberry Pi 3, אבל כל דגם של Raspberry אמור לעבוד. המעגל מחולק לשני חלקים, אחד הוא מעגל מקלט RF והשני הוא מעגל משדר RF. שני המעגלים מוצגים בתרשים להלן.
בחלק המקלט, סיכת LCD rs, en, d4, d5, d6, d7 מחוברים בחיווט Pi GPIO Pin 11, 10, 6, 5, 4, 1 במצב 4 סיביות. מקלט RF מקבל את האות ממשדר RF ו- HT12D IC מפענח אותו. D8, D9, D10, D11 של מפענח HT12D IC מחוברים ישירות בחיווט סיכה GPIO GPI 25, 24, 23 ו 22. נוריות פלט מחוברות בחיווט סיכה GPIO Pi 26, 27, 28 ו- 29. זמזם משמש גם להתראה מקש לחוץ בחיווט Pi GPIO 0.
מעגל משדר RF מכיל את מקודד HT12E מקודד וארבעה כפתורי לחיצה לשליטה על 4 נוריות. בקודן ובמפענח IC כל קווי הכתובת מחוברים לקרקע.
התקנת ספריית wiringPi ב- Raspberry Pi:
כמו ב- Python אנו מייבאים ייבוא RPi.GPIO כקובץ כותרת IO בכדי להשתמש בסיכות GPIO של Raspberry Pi, כאן בשפת C עלינו להשתמש בספריית wiringPi בכדי להשתמש בסיכות GPIO בתוכנית C שלנו. אנו יכולים להתקין אותו באמצעות פקודות למטה אחת אחת, אתה יכול להריץ פקודה זו מטרמינל או מכמה לקוחות SSH כמו Putty (אם אתה משתמש ב- Windows). עברו על ההדרכה שלנו בנושא התחלת העבודה עם Raspberry Pi כדי ללמוד עוד על הטיפול והתצורה של ה- Raspberry Pi.
sudo apt-get להתקין git-core sudo apt-get לעדכן sudo apt-get שדרג git clone git: //git.drogon.net/wiringPi CD חיווט Pi git pull origin CD wiringPi.
בדוק את ההתקנה של ספריית wiringPi, השתמש בפקודות הבאות:
gpio -v gpio readall
הסבר על תכנות:
קודם כל אנו כוללים קבצי כותרת ומגדירים סיכות עבור LCD, ואז אתחול כמה משתנים וסיכות לצורך קבלת חיווי קלט ו- LED.
#לִכלוֹל
אחריה אנו נותנים הנחיה לכל סיכות GPIO המשומשות בפונקציות התקנת הריק () .
הגדרת חלל () {if (wiringPiSetup () == -1) {clear (); הדפס ("לא ניתן להתחיל"); setCursor (0,1); הדפס ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
בקוד השתמשנו בפונקציה digitalRead כדי לקרוא את הפלט של מפענח ו- digitalWrite כדי לשלוח את הפלט ל LED או למכשיר.
…………….. בעוד (1) {setCursor (0,0); הדפס ("D1 D2 D3 D4"); אם (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); אם (דגל 1% 2 == 1) {הדפס ("מופעל"); digitalWrite (led1, HIGH); }……………..
להלן מספר פונקציות נוספות אשר שימשו בפרויקט זה.
פונקציה חלל lcdcmd משמשת לשליחת פקודה ל- LCD ופונקציית כתיבת חלל משמשת לשליחת נתונים ל- LCD.
פונקציה void clear () משמשת לניקוי LCD, ריק setCursor משמש לקביעת מיקום הסמן והדפסה בטל לשליחת מחרוזת ל- LCD.
פונקציה בטל התחלה משמשת לאתחול LCD במצב 4 סיביות וזמזם ריק () לצפצוף על הזמזם.
בדוק את הקוד המלא עבור שלט רחוק זה של פטל.