Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмж шаардлагатай
- Алхам 2: Тоног төхөөрөмжийн холболт
- Алхам 3: I2C протокол ашиглан харилцах
- Алхам 4: Модулийг програмчлах
- Алхам 5: Файл үүсгэх, кодыг ажиллуулах
- Алхам 6: Өргөдөл
- Алхам 7: Нөөц
Видео: Реле самбар ашиглан Raspberry Pi -тай гэрийн автоматжуулалт: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Ихэнх хүмүүс тохь тухтай байхыг хүсдэг боловч боломжийн үнээр. Орой болгон нар жаргаж, маргааш өглөө нь гэрлээ асааж, гэрлээ дахин унтраах, эсвэл агааржуулагч/сэнс/халаагуурыг цаг агаар эсвэл өрөөний температур шиг асаах/унтраахаас залхуурдаг.
Шаардлагатай үед цахилгаан хэрэгслийг унтраах нэмэлт ажил хийхээс зайлсхийх хямд шийдэл энд байна. Энэ бол энгийн залгуур, тоглуулах бүтээгдэхүүнийг ашиглан байшингаа харьцангуй бага зардлаар автоматжуулах явдал юм. Энэ нь температур дээшлэх эсвэл буурах үед агааржуулагч эсвэл халаагуурыг асаахтай адил ажилладаг. Түүнчлэн, шаардлагатай бол гэрийнхээ гэрлийг гараар асаахгүйгээр асаахад туслах болно. Мөн өөр олон төхөөрөмжийг хянах боломжтой. Дэлхийг автоматжуул. Бид танай гэрийг эхлүүлье.
Алхам 1: Тоног төхөөрөмж шаардлагатай
Бид ашиглах болно:
Raspberry Pi
Raspberry Pi бол Линукс дээр суурилсан ганц бие самбар юм. Энэхүү бяцхан компьютер нь электроникийн дасгал хийх, хүснэгт, текст боловсруулах, вэб серфинг, имэйл, тоглоом гэх мэт компьютерийн үйл ажиллагаанд ашигладаг бүртгэлийн чадварт ихээхэн түлхэц өгдөг
I2C бамбай эсвэл I2C толгой
INPI2 (I2C адаптер) нь Raspberry Pi 2/3 ба I²C портыг олон I2C төхөөрөмжтэй ашиглах боломжийг олгодог
I2C реле хянагч MCP23008
Microchip -ийн MCP23008 бол I²C автобусаар дамждаг найман релеийг хянадаг порт өргөтгөгч юм. Та нэгтгэсэн I²C өргөтгөлийн портыг ашиглан дижитал хөрвүүлэгч, мэдрэгч болон бусад төхөөрөмжүүдэд илүү олон реле, дижитал I/O, аналог нэмж болно
MCP9808 температур мэдрэгч
MCP9808 нь өндөр нарийвчлалтай температур мэдрэгч бөгөөд дижитал, I²C форматаар тохируулагдсан, шугаман мэдрэгчийн дохиог өгдөг
TCS34903 гэрэлтүүлгийн мэдрэгч
TCS34903 бол гэрэл, өнгөний RGB бүрэлдэхүүн хэсгийн үнэ цэнийг хангадаг өнгө мэдрэгч гэр бүлийн бүтээгдэхүүн юм
I2C холбох кабель
I2C холбох кабель нь 4 утастай кабель бөгөөд үүгээр холбогдсон хоёр I2C төхөөрөмжийн хооронд I2C холболт хийх зориулалттай юм
Микро USB адаптер
Raspberry Pi -ийг асаахын тулд бидэнд микро USB кабель хэрэгтэй болно
Реле самбарын 12V хүчдэлийн адаптер
MCP23008 реле хянагч нь 12В гадаад хүчдэл дээр ажилладаг бөгөөд үүнийг 12V цахилгаан адаптер ашиглан нийлүүлж болно
Та тэдгээрийг дарж бүтээгдэхүүнийг худалдаж авах боломжтой. Үүнээс гадна та Dcube дэлгүүрээс илүү гайхалтай материалыг олж авах боломжтой.
Алхам 2: Тоног төхөөрөмжийн холболт
Шаардлагатай холболтууд (зургийг үзнэ үү) дараах байдалтай байна.
- Энэ нь I2C дээр ажиллах болно. Raspberry pi -ийн I2C бамбайг аваад Raspberry Pi -ийн GPIO тээглүүр рүү зөөлөн холбоно уу.
- I2C кабелийн нэг үзүүрийг TCS34903 порт руу, нөгөө үзүүрийг I2C бамбай руу холбоно уу.
- MCP9808 мэдрэгчийн саванд I2C кабель ашиглан TCS34903 залгуурт холбоно уу.
- MCP23008-ийн савыг I2C кабель ашиглан MCP9808 мэдрэгчийн залгуурт холбоно уу.
- Ethernet кабелийг Raspberry Pi-тэй холбоно уу. Wi-Fi чиглүүлэгчийг мөн адил ашиглах боломжтой.
- Дараа нь Raspberry Pi -ийг Micro USB адаптер, 12V адаптер ашиглан MCP23008 Relay самбар ашиглан тэжээнэ үү.
- Эцэст нь гэрлийг эхний реле, сэнс эсвэл халаагуурыг хоёр дахь релетэй холбоно уу. Та модулийг өргөтгөх эсвэл илүү олон төхөөрөмжийг реле ашиглан холбох боломжтой.
Алхам 3: I2C протокол ашиглан харилцах
Raspberry Pi I2C -ийг идэвхжүүлэхийн тулд доор дурдсанчлан үргэлжлүүлнэ үү.
- Терминал дээр тохиргооны тохиргоог нээхийн тулд дараах тушаалыг бичнэ үү: sudo raspi-config
- Энд байгаа "Нарийвчилсан сонголтууд" -ыг сонгоно уу.
- "I2C" -ийг сонгоод "Тийм" дээр дарна уу.
- Дахин ачаалах командыг ашиглан хийсэн өөрчлөлтийн дагуу тохируулахын тулд системийг дахин ачаална уу.
Алхам 4: Модулийг програмчлах
Raspberry Pi -ийг ашигласны шагнал нь Raspberry Pi -тэй мэдрэгч төхөөрөмжид интерфэйс хийх програмчлах хэлийг сонгох уян хатан байдлыг өгдөг. Raspberry Pi -ийн энэхүү давуу талыг ашиглахын тулд бид Java програмчлалыг энд харуулав.
Java орчныг тохируулахын тулд https://pi4j.com/1.2/index.html дээрээс "pi4j libraby" -ийг суулгаарай Pi4j бол Raspberry Pi -ийн Java оролт/гаралтын номын сан юм. номын сан "гэдэг нь доор дурдсан тушаалыг Raspberry Pi дээрээ шууд гүйцэтгэх явдал юм.
curl -s get.pi4j.com | sudo bash
ЭСВЭЛ
curl -s get.pi4j.com
com.pi4j.io.i2c. I2CBus импортлох; com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох; com.pi4j.io.i2c. I2CFactory импортлох; java.io. IOException импортлох; class MCP23008 {public static void main (String args ) шиддэг Exception {int status, value, value1 = 0x00; // I2C автобус үүсгэх I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C төхөөрөмж авах, MCP23008 I2C хаяг нь 0x20 (32) I2CDevice device = bus.getDevice (0x20); // I2C төхөөрөмж авах, MCP9808 I2C хаяг нь 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // I2C төхөөрөмж авах, TCS34903 I2C хаяг нь 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. бичих (0x81, (байт) 0x00); // асаах, ADC идэвхжүүлсэн, идэвхжүүлэхийг хүлээх TCS34903.write (0x80, (байт) 0x0B); Thread.sleep (250); // Clear/ir data бүхий 8 байтын өгөгдлийг унших LSB эхлээд байт data1 = шинэ байт [8]; // Температурын өгөгдлийг унших өгөгдөл = шинэ байт [2]; status = device.read (0x09); // Бүх тээглүүрийг OUTPUT төхөөрөмж болгон тохируулсан.write (0x00, (байт) 0x00); Thread.sleep (500); while (үнэн) {MCP9808.read (0x05, өгөгдөл, 0, 2); // Өгөгдлийг хөрвүүлэх int temp = ((өгөгдөл [0] & 0x1F) * 256 + (өгөгдөл [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } давхар cTemp = temp * 0.0625; System.out.printf ("Цельсийн температур: %.2f C %n", cTemp); TCS34903. унших (0x94, өгөгдөл1, 0, 8); давхар ir = ((өгөгдөл1 [1] & 0xFF) * 256) + (өгөгдөл1 [0] & 0xFF) * 1.00; давхар улаан = ((өгөгдөл1 [3] & 0xFF) * 256) + (өгөгдөл1 [2] & 0xFF) * 1.00; давхар ногоон = ((өгөгдөл1 [5] & 0xFF) * 256) + (өгөгдөл1 [4] & 0xFF) * 1.00; давхар хөх = ((өгөгдөл1 [7] & 0xFF) * 256) + (өгөгдөл1 [6] & 0xFF) * 1.00; // Гэрэлтүүлгийн давхар гэрэлтүүлгийг тооцоолох = (-0.32466) * (улаан) + (1.57837) * (ногоон) + (-0.73191) * (цэнхэр); System.out.printf ("Гэрэлтүүлэг нь: %.2f lux %n", гэрэлтүүлэг); if (гэрэлтүүлэг 30) {утга = утга1 | (0x01); } өөр {утга = утга1 & (0x02); } device.write (0x09, (байт) утга); Thread.sleep (300); }}}
Алхам 5: Файл үүсгэх, кодыг ажиллуулах
- Кодыг бичих/хуулах боломжтой шинэ файл үүсгэхийн тулд дараах тушаалыг ашиглана: sudo nano FILE_NAME.javaEg. sudo нано 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 мэдээллийн хуудас
Зөвлөмж болгож буй:
NodeMCU мэдрэгчтэй LDR температурын хяналтын реле бүхий гэрийн автоматжуулалт: 16 алхам
NodeMCU мэдрэгчтэй LDR температурын хяналтын реле бүхий гэрийн автоматжуулалт: Миний өмнөх NodeMCU төслүүдэд би Blynk програмаас хоёр гэр ахуйн цахилгаан хэрэгслийг хянаж байсан. Би төслийг гарын авлагын удирдлагаар сайжруулж, нэмэлт функцүүдийг нэмж оруулахын тулд олон санал, мессеж хүлээн авсан тул энэхүү ухаалаг гэрийн өргөтгөлийн хайрцгийг зохион бүтээсэн
Реле ашиглан IR гэрийн автоматжуулалт: 6 алхам (зурагтай)
Реле ашиглан IR гэрийн автоматжуулалт: Infared Remote Home Automation System (Анхааруулга: Төслийг өөрийн эрсдэлээр хуулбарлах! Энэ төсөлд өндөр хүчдэл орно)
Bluetooth ашиглан гэрийн автоматжуулалт (Ухаалаг самбар): 6 алхам
Bluetooth ашиглан гэрийн автоматжуулалт (Ухаалаг Самбар)
[Гэрийн автоматжуулалт] ESP8266 + Blynk ашиглан бүх газраас хяналтын реле: 4 алхам
[Гэрийн автоматжуулалт] ESP8266 + Blynk ашиглан хаа сайгүй ирдэг хяналтын реле: Гэрийн автоматжуулалтыг хийх олон арга бий, зарим нь төвөгтэй, зарим нь хялбар, Энэ зааварчилгаагаар би Blynk ашиглан ESP-12E ашиглан энгийн реле хяналтыг хэрхэн хийхийг харуулах болно. Тохиромжтой болгохын тулд дизайн нь нэг талт ПХБ байсан тул та үүнийг өөрөө хийх боломжтой
Гэрийн автоматжуулалт: Tiva TM4C123G ашиглан Bluetooth -ээр dimmer удирдлагатай автомат унтраалга самбар: 7 алхам
Гэрийн автоматжуулалт: Tiva TM4C123G ашиглан Bluetooth -ээр dimmer удирдлагатай автомат унтраалгын самбар: Өнөө үед бид телевизор болон бусад электрон системийн алсын удирдлагатай болсон нь бидний амьдралыг үнэхээр хялбар болгосон. Гэрийн автоматжуулалтын талаар хоолойны гэрэл, сэнс болон бусад цахилгаан хэрэгслийг хянах боломжийг танд олгож байсан уу?