Агуулгын хүснэгт:

Реле самбар ашиглан Raspberry Pi -тай гэрийн автоматжуулалт: 7 алхам
Реле самбар ашиглан Raspberry Pi -тай гэрийн автоматжуулалт: 7 алхам

Видео: Реле самбар ашиглан Raspberry Pi -тай гэрийн автоматжуулалт: 7 алхам

Видео: Реле самбар ашиглан Raspberry Pi -тай гэрийн автоматжуулалт: 7 алхам
Видео: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Арваннэгдүгээр
Anonim
Реле самбар ашиглан Raspberry Pi бүхий гэрийн автоматжуулалт
Реле самбар ашиглан Raspberry Pi бүхий гэрийн автоматжуулалт

Ихэнх хүмүүс тохь тухтай байхыг хүсдэг боловч боломжийн үнээр. Орой болгон нар жаргаж, маргааш өглөө нь гэрлээ асааж, гэрлээ дахин унтраах, эсвэл агааржуулагч/сэнс/халаагуурыг цаг агаар эсвэл өрөөний температур шиг асаах/унтраахаас залхуурдаг.

Шаардлагатай үед цахилгаан хэрэгслийг унтраах нэмэлт ажил хийхээс зайлсхийх хямд шийдэл энд байна. Энэ бол энгийн залгуур, тоглуулах бүтээгдэхүүнийг ашиглан байшингаа харьцангуй бага зардлаар автоматжуулах явдал юм. Энэ нь температур дээшлэх эсвэл буурах үед агааржуулагч эсвэл халаагуурыг асаахтай адил ажилладаг. Түүнчлэн, шаардлагатай бол гэрийнхээ гэрлийг гараар асаахгүйгээр асаахад туслах болно. Мөн өөр олон төхөөрөмжийг хянах боломжтой. Дэлхийг автоматжуул. Бид танай гэрийг эхлүүлье.

Алхам 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: Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Шаардлагатай холболтууд (зургийг үзнэ үү) дараах байдалтай байна.

  1. Энэ нь I2C дээр ажиллах болно. Raspberry pi -ийн I2C бамбайг аваад Raspberry Pi -ийн GPIO тээглүүр рүү зөөлөн холбоно уу.
  2. I2C кабелийн нэг үзүүрийг TCS34903 порт руу, нөгөө үзүүрийг I2C бамбай руу холбоно уу.
  3. MCP9808 мэдрэгчийн саванд I2C кабель ашиглан TCS34903 залгуурт холбоно уу.
  4. MCP23008-ийн савыг I2C кабель ашиглан MCP9808 мэдрэгчийн залгуурт холбоно уу.
  5. Ethernet кабелийг Raspberry Pi-тэй холбоно уу. Wi-Fi чиглүүлэгчийг мөн адил ашиглах боломжтой.
  6. Дараа нь Raspberry Pi -ийг Micro USB адаптер, 12V адаптер ашиглан MCP23008 Relay самбар ашиглан тэжээнэ үү.
  7. Эцэст нь гэрлийг эхний реле, сэнс эсвэл халаагуурыг хоёр дахь релетэй холбоно уу. Та модулийг өргөтгөх эсвэл илүү олон төхөөрөмжийг реле ашиглан холбох боломжтой.

Алхам 3: I2C протокол ашиглан харилцах

Raspberry Pi I2C -ийг идэвхжүүлэхийн тулд доор дурдсанчлан үргэлжлүүлнэ үү.

  1. Терминал дээр тохиргооны тохиргоог нээхийн тулд дараах тушаалыг бичнэ үү: sudo raspi-config
  2. Энд байгаа "Нарийвчилсан сонголтууд" -ыг сонгоно уу.
  3. "I2C" -ийг сонгоод "Тийм" дээр дарна уу.
  4. Дахин ачаалах командыг ашиглан хийсэн өөрчлөлтийн дагуу тохируулахын тулд системийг дахин ачаална уу.

Алхам 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: Файл үүсгэх, кодыг ажиллуулах

  1. Кодыг бичих/хуулах боломжтой шинэ файл үүсгэхийн тулд дараах тушаалыг ашиглана: sudo nano FILE_NAME.javaEg. sudo нано MCP23008.java
  2. Файл үүсгэсний дараа бид кодыг энд оруулах боломжтой.
  3. Өмнөх алхамд өгсөн кодыг хуулж энд байгаа цонхонд буулгана уу.
  4. Гарах бол Ctrl+X, дараа нь "y" дарна уу.
  5. Дараа нь дараах тушаалыг ашиглан кодыг эмхэтгээрэй: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Хэрэв алдаа байхгүй бол програмыг доор дурдсан тушаалыг ашиглан ажиллуулна уу: pi4j FILE_NAMEEg. pi4j MCP23008.java

Алхам 6: Өргөдөл

Энэхүү систем нь хананы унтраалга руу явахгүйгээр төхөөрөмжийг удирдах боломжийг олгодог. Төхөөрөмжийг асаах, унтраах цагийг автоматаар төлөвлөсөн тул энэ нь өргөн цар хүрээтэй чадвартай. Энэхүү модулийг байшингаас үйлдвэр, эмнэлэг, төмөр замын вокзал болон бусад олон газарт залгах, тоглуулах бүрэлдэхүүн хэсгүүдээр нь хямд, хялбар байдлаар автоматжуулах боломжтой цөөн хэдэн програмууд байдаг.

Алхам 7: Нөөц

TSL34903, MCP9808 MCP23008 реле хянагчийн талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл доорх линкүүдээс үзнэ үү.

  • TSL34903 мэдээллийн хуудас
  • MCP9808 мэдээллийн хуудас
  • MCP23008 мэдээллийн хуудас

Зөвлөмж болгож буй: