תוכן עניינים:
- אספקה
- שלב 1: היכרות עם לוח ממסר ערוצים מסדרת DockerPi 4
- שלב 2: תכונות
- שלב 3: מפת כתובת המכשיר
- שלב 4: חבר את הממסר למחזיק הנורה המופעל על ידי אספקת חשמל ראשית
- שלב 5: הגדרת I2C (פטל פטל)
- שלב 6: שליטה ישירה ללא תכנות (Raspberry Pi)
- שלב 7: תכנית בשפה C (Raspberry Pi)
- שלב 8: תכנית ב- Python (Raspberry Pi)
- שלב 9: תכנית ב- Java (Raspberry Pi)
וִידֵאוֹ: מערכת בקרת אורות: 9 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
לאחרונה עבדתי על הבנת מיקרו -בקרים והתקנים מבוססי IOT למטרות מחקר אבטחה. אז חשבתי לבנות מערכת אוטומציה ביתית קטנה לתרגול. אני עדיין לא צריך להשלים את זה, אך לצורך ההפעלה אשתף כיצד השתמשתי ב- Raspberry Pi 2 וכמה רכיבים חשמליים אחרים כדי לשלוט בתאורת החדר שלי בפוסט זה. כמו כן, לא אדבר כאן על התקנה ראשונית עבור פטל, ייתכן שתמצא הדרכות שונות לכך.
אבל בפרויקט הזה, אציג בפניכם את המוצר מסדרת pi docker הזו.
אספקה
רשימת רכיבים:
- 1 x פטל פי 3B+/3B/אפס/אפס W/4B/
- 1 x 16GB כרטיס TF מסוג Class 10
- 1 x סדרת ממסר 4 ערוצים של DockerPi (HAT)
- ספק כוח 1 x [email protected] שהוא מ- 52Pi
- 4 x רצועת אור
- 1 x מחבר DC
- ספק כוח 1 x 12V לרצועות האור.
- כמה חוטים.
שלב 1: היכרות עם לוח ממסר ערוצים מסדרת DockerPi 4
ממסר DockerPi 4 Channel הוא חבר בסדרת DockerPi, הנפוצה יותר ביישומי IOT.
ממסר DockerPi 4 Channel יכול להעביר AC/DC, במקום מתגים מסורתיים, כדי להשיג רעיונות נוספים. ממסר ערוץ DockerPi 4 יכול לערום עד 4, וניתן לערום אותו עם לוח הרחבה אחר של DockerPi. אם אתה צריך לרוץ במשך זמן רב, אנו ממליצים לך גם להשתמש בלוח הרחבה של DockerPi Power כדי לספק יותר כוח.
הערה זהירות לפני שנמשיך הלאה ברצוני להזהיר אותך לגבי הסכנה של התנסות ב"חשמל החשמלי ". אם משהו משתבש התוצאה הגרועה ביותר היא מוות או לכל הפחות שריפת הבית שלך. לכן, אנא אל תנסה לעשות שום דבר שהוזכר במאמר זה אם אינך מבין מה אתה עושה או מוטב להיעזר באיזה חשמלאי מנוסה. בואו נתחיל.
שלב 2: תכונות
- סדרת DockerPi
- ניתן לתכנות
- שליטה ישירה (ללא תכנות)
- הארך את סיכות GPIO
- ממסר 4 ערוצים
- 4 תמיכה ב- Alt I2C Addr
- תמיכה ב- Leds Status Status
- תמיכה 3A 250V AC
- 3A 30V DC
- יכול לערום עם לוח Stack אחר ללא תלות בחומרת לוח האם (דורש תמיכה ב- I2C)
שלב 3: מפת כתובת המכשיר
ללוח זה יש כתובת רישום נפרדת, ואתה יכול לשלוט בכל ממסר באמצעות פקודה אחת.
דרישות אחרות:
הבנה בסיסית של Python או C או shell או Java או כל שפה אחרת (אני אשתמש ב- C, python, shell ו- java)
- הבנה בסיסית של מערכות לינוקס
- קוֹר רוּחַ
כעת, לפני שתמשיך קדימה, עליך להבין את הרכיבים החשמליים בהם נשתמש:
1. ממסר:
ממסר הוא מכשיר חשמלי המשמש בדרך כלל לשליטה על מתח גבוה באמצעות מתח נמוך מאוד ככניסה. זה מורכב מסליל הכרוך סביב מוט ושני דשי מתכת קטנים (צמתים) המשמשים לסגירת המעגל. אחד הצמתים קבוע והאחר ניתן להזיז אותו. בכל פעם שמעביר חשמל דרך הסליל, הוא יוצר שדה מגנטי ומושך את הצומת הנע לעבר הצומת הסטטי והמעגל מסתיים. אז רק על ידי הפעלת מתח קטן להפעלת הסליל נוכל למעשה להשלים את המעגל למתח גבוה. כמו כן, מכיוון שהצומת הסטטית אינה מחוברת פיזית לסליל, יש הרבה פחות סיכוי שהמיקרו -בקר המפעיל את הסליל ייפגע אם משהו משתבש.
שלב 4: חבר את הממסר למחזיק הנורה המופעל על ידי אספקת חשמל ראשית
עכשיו לחלק המסובך, נחבר את הממסר למחזיק הנורה המונע על ידי אספקת החשמל הראשי. אבל קודם כל אני רוצה לתת לך מושג קצר על האופן שבו האורות מופעלים ומכבים באמצעות אספקת חשמל ישירה.
כעת, כאשר הנורה מחוברת לאספקה הראשית, בדרך כלל אנו עושים זאת על ידי חיבור שני חוטים לנורה. אחד החוטים הוא חוט "נייטרלי" ואחד הוא החוט ה"שלילי "אשר למעשה נושא את הזרם, כמו כן, יש מתג נוסף לכל המעגל לשליטה במנגנון ON ON OFF. לכן, כאשר הסווט מחובר (או מופעל) הזרם זורם דרך הנורה והחוט הנייטרלי, ומשלים את המעגל. זה מפעיל את הנורה. כאשר המתג מופעל, הוא שובר את המעגל והנורה נכבית. להלן תרשים מעגלים קטן המסביר זאת:
כעת, לצורך הניסוי שלנו, נצטרך לגרום ל"חוט השלילי "לעבור בממסר שלנו כדי לשבור את המעגל ולשלוט על זרימת הכוח באמצעות מיתוג ממסר. לכן, כאשר הממסר יופעל, הוא אמור להשלים את המעגל והנורה צריכה להידלק ולהיפך. עיין בתרשים שלהלן עבור מעגל מלא.
שלב 5: הגדרת I2C (פטל פטל)
הפעל את sudo raspi-config ופעל לפי ההנחיות להתקנת תמיכה i2c עבור ליבת ARM וליבת לינוקס
עבור אל אפשרויות ממשק
שלב 6: שליטה ישירה ללא תכנות (Raspberry Pi)
הפעל ממסר ערוץ מס '1
i2cset -y 1 0x10 0x01 0xFF
כבה את ממסר הערוץ מספר 1
i2cset -y 1 0x10 0x01 0x00
הפעל ממסר ערוץ מספר 2
i2cset -y 1 0x10 0x02 0xFF
כבה ממסר ערוץ מספר 2
i2cset -y 1 0x10 0x02 0x00
הפעל ממסר ערוץ מספר 3
i2cset -y 1 0x10 0x03 0xFF
כבה את ממסר הערוץ מספר 3
i2cset -y 1 0x10 0x03 0x00
הפעל ממסר ערוץ מס '4
i2cset -y 1 0x10 0x04 0xFF
כבה ממסר ערוץ מס '4
i2cset -y 1 0x10 0x04 0x00
שלב 7: תכנית בשפה C (Raspberry Pi)
צור קוד מקור ושם אותו "relay.c"
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#הגדר DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (void)
{
printf ("הפעל ממסרים ב- C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
ל(;;){
עבור (i = 1; i <= 4; i ++)
{
printf ("הפעל ממסר מס '$ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
שינה (200);
printf ("כבה ממסר מס '$ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
שינה (200);
}
}
החזר 0;
}
הידור זה
ממסר gcc.c -lwiringPi -o ממסר
להוציא אותו לפועל
./ממסר
שלב 8: תכנית ב- Python (Raspberry Pi)
מומלץ לבצע את הקוד הבא באמצעות Python 3 ולהתקין את ספריית smbus:
צור קובץ בשם: "relay.py" והדבק את הקוד הבא:
זמן הייבוא כ- t
יבוא smbus
ייבוא sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
אוטובוס = smbus. SMBus (DEVICE_BUS)
בעוד שזה נכון:
לְנַסוֹת:
עבור i בטווח (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t.sleep (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t.sleep (1)
למעט KeyboardInrupt as e:
הדפס ("צא מהלולאה")
sys.exit ()
* שמור אותו ולאחר מכן הפעל כ- python3:
python3 relay.py
שלב 9: תכנית ב- Java (Raspberry Pi)
צור קובץ חדש בשם: I2CRelay.java והדבק את הקוד הבא:
יבוא java.io. IOException;
יבוא java.util. Arrays;
ייבא com.pi4j.io.i2c. I2CBus;
ייבא com.pi4j.io.i2c. I2CDevice;
יבוא com.pi4j.io.i2c. I2CFactory;
ייבא com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
ייבא com.pi4j.platform. PlatformAlreadyAssignedException;
יבוא com.pi4j.util. Console;
Class I2CRelay {
// כתובת הרישום של ממסר.
פומבי סופי סטטי ציבורי DOCKER_PI_RELAY_ADDR = 0x10;
// ערוץ ממסר.
סטייט סופי ציבורי סטטי DOCKER_PI_RELAY_1 = (בייט) 0x01;
סטייט סופי ציבורי סטטי DOCKER_PI_RELAY_2 = (בייט) 0x02;
בייט סופי ציבורי סטטי DOCKER_PI_RELAY_3 = (בייט) 0x03;
סטייט סופי ציבורי סטטי DOCKER_PI_RELAY_4 = (בייט) 0x04;
// סטטוס ממסר
סטייט סופי ציבורי סטטי DOCKER_PI_RELAY_ON = (בייט) 0xFF;
סטייט סופי ציבורי סטטי DOCKER_PI_RELAY_OFF = (בייט) 0x00;
פוסט סטטי ציבורי (String args) זורק InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
מסוף המסוף הסופי = קונסולה חדשה ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
מכשיר I2CDevice = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("הפעל ממסר!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.sleep (500);
console.println ("כבה ממסר!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
מוּמלָץ:
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: 8 שלבים (עם תמונות)
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: ניסיתי למצוא דרך להסביר כיצד PWM פועל לתלמידי, אז הנחתי לעצמי את המשימה לנסות לשלוט על בהירות הנורית באמצעות 2 כפתורי לחיצה. - כפתור אחד מגביר את הבהירות של נורית LED והשני מעמעם אותו. לפרוגרה
אורות גן סולאריים על מערכת שמש גדולה יותר: 6 שלבים
אורות גן סולאריים על מערכת שמש גדולה יותר: חיפשתי מערכת תאורה לגינה 12V לחצר האחורית שלי. בזמן שחיפשתי באינטרנט אחר מערכות שום דבר לא ממש תפס אותי ולא ידעתי לאיזה כיוון אני רוצה ללכת.אם עלי להשתמש בשנאי לחשמל או ללכת למערכת השמש. אני יודע
אורות בקרת קול אלקטרוניקה רצועות LED RGB ועוד עם אוטומציה ביתית של Cortana ו- Arduino: 3 שלבים
אורות בקרת קול אלקטרוניקה רצועות Led RGB ועוד עם אוטומציה ביתית של Cortana ו- Arduino: כמו הרעיון לשלוט בדברים באמצעות הקול שלך? או שאתה לא אוהב לקום מהמיטה כדי לכבות את האורות? אבל כל הפתרונות הקיימים כמו Google home יקרים מדי? עכשיו אתה יכול להכין את זה בעצמך תחת 10 $. ואפילו יותר טוב זה מאוד קל
אורות חצר אינטראקטיביים, אורות שביל: 3 שלבים
אורות חצר אינטראקטיביים, אורות שביל: רציתי לבנות איזו אורות חצר אינטראקטיביים לחצר האחורית שלי. הרעיון היה שכאשר מישהו ילך בדרך אחת זה יניע אנימציה בכיוון שבו אתה הולך. התחלתי עם אורות שמש $ 1.00 דולר ג'נרל
אורות חג המולד עשויים מוזיקה - אורות בית כוריאוגרפים: 15 שלבים (עם תמונות)
אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים: אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים זה לא עשה זאת בעצמך מתחיל. תזדקק להבנה מושכלת של אלקטרוניקה, מעגל, תכנות בסיסי וחכמה כללית בנושא בטיחות חשמל. DIY זה מיועד לאדם מנוסה ולכן