תוכן עניינים:
- שלב 1: נדרשת חומרה
- שלב 2: חיבור חומרה
- שלב 3: תקשורת באמצעות פרוטוקול I2C
- שלב 4: תכנות המודול
- שלב 5: יצירת קובץ והפעלת הקוד
- שלב 6: יישומים
- שלב 7: משאבים
וִידֵאוֹ: אוטומציה ביתית עם פטל פי באמצעות לוח ממסר: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
מספר גדול של אנשים רוצה נוחות רבה אך במחירים סבירים. אנו מרגישים עצלנים להאיר את הבתים בכל ערב כאשר השמש שוקעת ולמחרת בבוקר, לכבות את האורות שוב או להדליק/לכבות את המזגן/מאוורר/תנורי חימום כמו מזג האוויר או טמפרטורת החדר.
פתרון זול למניעת עבודה נוספת של כיבוי המכשירים בעת הצורך נמצא כאן. זה להפוך את הבתים שלכם לאוטומטיים בעלויות יחסית נמוכות יותר באמצעות מוצרי plug and play פשוטים. זה עובד כמו כשהטמפרטורה עולה או יורדת, היא מפעילה את המזגן או החימום, בהתאמה. כמו כן, בעת הצורך, זה יעזור להדליק או את אורות הבית שלך מבלי להדליק אותם ידנית. ועוד ניתן לשלוט במכשירים רבים נוספים. להפוך את העולם לאוטומטי. תן לנו להתחיל את הבית שלך.
שלב 1: נדרשת חומרה
אנו נשתמש ב:
פאי פטל
ה- Raspberry Pi הוא מחשב מבוסס לינוקס מבוסס לוח בודד. המחשב הקטן הזה מביא לאגרוף רישום כוח, המשמש כתרגילי אלקטרוניקה ופעולות מחשב כמו גיליונות אלקטרוניים, עיבוד תמלילים, גלישה באינטרנט ודוא"ל ומשחקים
I2C Shield או כותרת I2C
מתאם INPI2 (מתאם I2C) מספק את Raspberry Pi 2/3 יציאת I²C לשימוש עם התקני I2C מרובים
בקר ממסר I2C MCP23008
MCP23008 מ- Microchip הוא מרחיב יציאות משולב השולט על שמונה ממסרים דרך האוטובוס I²C. אתה יכול להוסיף ממסרים נוספים, קלט/פלט דיגיטלי, ממירים אנלוגיים לדיגיטליים, חיישנים והתקנים אחרים באמצעות יציאת הרחבה I²C המשולבת
חיישן טמפרטורה MCP9808
MCP9808 הוא חיישן טמפרטורה בעל דיוק גבוה המספק אותות חיישן מכוילים, ליניאריים בפורמט דיגיטלי, I²C
חיישן זוהר TCS34903
TCS34903 הוא מוצר משפחתי של חיישן צבע המספק את הערך של רכיב RGB של אור וצבע
כבל חיבור I2C
כבל חיבור I2C הוא כבל בעל 4 קווים שמיועד לתקשורת I2C בין שני התקני I2C המחוברים דרכו
מתאם מיקרו USB
כדי להפעיל את Raspberry Pi, אנו זקוקים לכבל מיקרו USB
מתאם מתח 12V ללוח ממסר
בקר ממסר MCP23008 פועל על מתח חיצוני של 12V וניתן לספק זאת באמצעות מתאם מתח 12V
אתה יכול לקנות את המוצר על ידי לחיצה עליהם. כמו כן, תוכל למצוא עוד חומר נהדר בחנות Dcube.
שלב 2: חיבור חומרה
החיבורים הנדרשים (עיין בתמונות) הם כדלקמן:
- זה יעבוד על I2C. קח מגן I2C עבור Raspberry pi וחבר אותו בעדינות לסיכות GPIO של Raspberry Pi.
- חבר את הקצה האחד של כבל I2C ליציאה של TCS34903 והקצה השני למגן I2C.
- חבר את הסיר של חיישן MCP9808 לשקע ה- TCS34903 באמצעות כבל I2C.
- חבר את הסיר של MCP23008 לחיישן MCP9808 באמצעות כבל I2C.
- חבר גם את כבל ה- Ethernet לנתב Raspberry Pi. Wi-Fi יכול לשמש גם לאותו.
- לאחר מכן, הפעל את ה- Raspberry Pi באמצעות מתאם מיקרו USB ולוח ממסר MCP23008 באמצעות מתאם 12V.
- לבסוף, חבר את האור עם ממסר ראשון ומאוורר או דוד עם ממסר שני. אתה יכול להרחיב את המודול או לחבר התקנים נוספים עם הממסרים.
שלב 3: תקשורת באמצעות פרוטוקול I2C
כדי להפעיל את Raspberry Pi I2C, המשך כפי שהוזכר להלן:
- במסוף, הקלד את הפקודה הבאה כדי לפתוח את הגדרות התצורה: sudo raspi-config
- בחר כאן "אפשרויות מתקדמות".
- בחר "I2C" ולחץ על "כן".
- אתחל את המערכת כדי להגדיר אותה בהתאם לשינויים שבוצעו באמצעות הפקודה אתחול מחדש.
שלב 4: תכנות המודול
הפרס על השימוש ב- Raspberry Pi הוא, כלומר מספק לך את הגמישות לבחור בשפת התכנות שבה אתה רוצה לתכנת לממשק את מכשיר החישה עם Raspberry Pi. תוך ניצול היתרון הזה של Raspberry Pi, אנו מדגימים כאן את התכנות שלה ב- Java.
כדי להגדיר את סביבת הג'אווה, התקן את "pi4j libraby" מתוך https://pi4j.com/1.2/index.html Pi4j היא ספריית קלט/פלט של Java עבור Raspberry Pi. שיטה קלה ומועדפת ביותר להתקנת "pi4j ספרייה "היא לבצע את הפקודה שתוארה ישירות ב- Raspberry Pi שלך:
תלתלים -s get.pi4j.com | sudo bash
אוֹ
תלתלים -s get.pi4j.com
יבוא com.pi4j.io.i2c. I2CBus; יבוא com.pi4j.io.i2c. I2CDevice; יבוא com.pi4j.io.i2c. I2CFactory; יבוא java.io. IOException; class MCP23008 {main static void main (String args ) זורק חריגה {int status, value, value1 = 0x00; // צור אוטובוס I2C אוטובוס I2CBus = I2CFactory.getInstance (I2CBus. BUS_1); // קבל מכשיר I2C, כתובת I2C MCP23008 היא 0x20 (32) מכשיר I2CDevice = bus.getDevice (0x20); // קבל מכשיר I2C, כתובת I2C MCP9808 היא 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // קבל מכשיר I2C, כתובת I2C TCS34903 היא 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // הגדר רישום זמן המתנה = 0xff (255), זמן המתנה = 2.78 ms TCS34903.write (0x83, (בייט) 0xFF); // אפשר גישה לערוץ IR TCS34903.write (0xC0, (בייט) 0x80); // הגדר את רישום Atime ל- 0x00 (0), מספרים מקסימליים = 65535 TCS34903.write (0x81, (byte) 0x00); // הפעלה, ADC מופעל, המתן מופעל TCS34903.write (0x80, (בייט) 0x0B); Thread.sleep (250); // קרא 8 בתים של נתונים עם נתונים ברורים/ir LSB בייט ראשון data1 = בתים חדשים [8]; // קרא נתוני טמפרטורה בייט נתונים = בתים חדשים [2]; status = device.read (0x09); // הגדירו את כל הסיכות כ- OUTPUT device.write (0x00, (בייט) 0x00); Thread.sleep (500); בעוד (נכון) {MCP9808.read (0x05, data, 0, 2); // המרת נתונים int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); אם (טמפ '> 4096) {טמפ' -= 8192; } cTemp כפול = טמפ ' * 0.0625; System.out.printf ("הטמפרטורה בצלזיוס היא: %.2f C %n", cTemp); TCS34903.read (0x94, data1, 0, 8); ir כפול = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00; אדום כפול = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00; ירוק כפול = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; כחול כפול = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // חשב את הארה כפולה = (-0.32466) * (אדום) + (1.57837) * (ירוק) + (-0.73191) * (כחול); System.out.printf ("תאורה היא: %.2f lux %n", תאורה); אם (הארה 30) {value = value1 | (0x01); } אחרת {value = value1 & (0x02); } device.write (ערך 0x09, (בתים)); Thread.sleep (300); }}}
שלב 5: יצירת קובץ והפעלת הקוד
- ליצירת קובץ חדש בו ניתן לכתוב/להעתיק את הקוד, תעשה שימוש בפקודה הבאה: sudo nano FILE_NAME.javaEg. סודו ננו MCP23008.java
- לאחר יצירת הקובץ נוכל להזין כאן את הקוד.
- העתק את הקוד שצוין בשלב הקודם והדבק אותו בחלון כאן.
- הקש Ctrl+X ואז "y" ליציאה.
- לאחר מכן הרכיב את הקוד באמצעות הפקודה הבאה: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- אם אין שגיאות, הפעל את התוכנית באמצעות הפקודה שלא ציינה: pi4j FILE_NAMEEg. pi4j MCP23008.java
שלב 6: יישומים
מערכת זו מאפשרת לך לשלוט במכשירים מבלי ללכת למתגי הקיר. יש לו יכולות נרחבות שכן זמני ההפעלה או כיבוי המכשירים מתוזמנים באופן אוטומטי. ישנם קומץ יישומים של מודול זה מבתים לתעשיות, בתי חולים, תחנות רכבת ומקומות רבים נוספים שניתן להפוך לאוטומטיים בצורה נוחה וקלה על ידי רכיבי התוסף וההפעלה שלו.
שלב 7: משאבים
למידע נוסף על בקר ממסר TSL34903, MCP9808 MCP23008, עיין בקישורים הבאים:
- גיליון נתונים TSL34903
- גיליון נתונים MCP9808
- גיליון נתונים MCP23008
מוּמלָץ:
אוטומציה ביתית של IR באמצעות ממסר: 6 שלבים (עם תמונות)
אוטומציה ביתית של IR באמצעות ממסר: מערכת אוטומציה ביתית מרוחקת (אזהרה: שכפול הפרויקט על אחריותך בלבד! פרויקט זה כרוך במתח גבוה)
אוטומציה ביתית באמצעות קול ו- Snips של פטל פי (חלק 2): 8 שלבים
אוטומציה ביתית באמצעות קול ו- Snips של Raspberry Pi (חלק 2): עדכון אוטומציה ביתית באמצעות Voice ו- Snips של Raspberry Pi. ב- PWM זה משמש לשליטה בלדים חיצוניים ובמנוע סרוו כל הפרטים המופיעים בחלק 1 https://www.instructables.com/id/Controlling-Light
אוטומציה ביתית המבוססת על שרת MQTT מקומי באמצעות לוח פאי ולוח NODEMCU: 6 שלבים
אוטומציה ביתית המבוססת על שרת MQTT LOCAL בשימוש ב- RASPBERRY PI ו- NODEMCU: עד כה הכנתי מספר סרטוני הדרכה בנוגע לשליטה במכשירי חשמל באינטרנט. ובשביל זה תמיד העדפתי את שרת MQTT Adafruit מכיוון שהוא היה קל לשימוש וידידותי למשתמש. אבל כל הדבר הזה התבסס על אינטרנט. זה אומר שאנחנו
אוטומציה ביתית באמצעות בלוטות '(לוח חכם): 6 שלבים
אוטומציה ביתית באמצעות בלוטות '(לוח חכם): אנא קראו בעיון האוטומציה הביתית כוללת אוטומציה של ציוד לסביבה ביתית. בניסיון להשיג אותו, עיצבנו לוח חכם שיהיה קל להתקנה וניתן לשלוט על הציוד המצורף באמצעות אפליקציית סמארטפון
אוטומציה ביתית: לוח מתגים אוטומטי עם בקרת דימר באמצעות בלוטות 'באמצעות Tiva TM4C123G: 7 שלבים
אוטומציה ביתית: לוח מתגים אוטומטי עם בקרת דימר באמצעות Bluetooth באמצעות Tiva TM4C123G: כיום יש לנו שלט רחוק למכשירי הטלוויזיה שלנו ולמערכות אלקטרוניות אחרות, שהפכו את חיינו לקלים באמת. האם תהית אי פעם לגבי אוטומציה ביתית שתאפשר את השליטה במנורות צינור, מאווררים וחשמל אחר