Mündəricat:

Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırması: 7 addım
Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırması: 7 addım

Video: Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırması: 7 addım

Video: Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırması: 7 addım
Video: Raspberry Pi Pico PLC necə qurulur || OpenPLC redaktoru 2024, Iyul
Anonim
Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırılması
Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırılması

İnsanların böyük bir hissəsi böyük rahatlıq istəyir, lakin münasib qiymətlərlə. Hər axşam gün batanda və ertəsi səhər işıqları yenidən söndürəndə evləri işıqlandırmaq və ya hava və ya otaq temperaturu kimi Kondisioneri/Fanı/Qızdırıcıları açmaq/söndürmək üçün tənbəllik hiss edirik.

Lazım olduqda cihazları söndürmək üçün bu əlavə işin qarşısını almaq üçün ucuz bir həll burada. Sadə bağlama və istifadə məhsulları istifadə edərək evlərinizi nisbətən daha az xərclə avtomatlaşdırmaqdır. İstilik yüksəldikdə və ya aşağı düşəndə, sırasıyla Kondisioneri və ya qızdırıcını işə salır. Ayrıca, lazım olduqda, evinizin işıqlarını əl ilə açmadan yandırmağa kömək edəcək. Və daha çox cihaz idarə edilə bilər. Dünyanı avtomatlaşdırın. Evinizə başlayaq.

Addım 1: Avadanlıq tələb olunur

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

İstifadə edəcəyik:

Moruq Pi

Raspberry Pi, Linux əsaslı fərdi kompüterdir. Bu kiçik kompüter, elektronika məşqləri və elektron tablolar, söz emalı, veb sörfü, e -poçt və oyunlar kimi PC əməliyyatları kimi istifadə olunan qeydiyyat gücündə bir zərbə yığır

I2C Shield və ya I2C Header

INPI2 (I2C adapteri) birdən çox I2C cihazı ilə istifadə üçün Raspberry Pi 2/3 və I²C portunu təmin edir

I2C Relay nəzarətçisi MCP23008

Microchip -dən MCP23008, I²C avtobusu vasitəsilə səkkiz röleyi idarə edən İnteqrasiya edilmiş bir port genişləndiricisidir. İnteqrasiya edilmiş I²C genişləndirmə portundan istifadə edərək rəqəmsal çeviricilərə, sensorlara və digər cihazlara daha çox röle, rəqəmsal G/Ç, analoq əlavə edə bilərsiniz

MCP9808 İstilik Sensoru

MCP9808, rəqəmsal, I²C formatında kalibrlənmiş, xətti sensor siqnalları təmin edən yüksək dəqiqlikli bir temperatur sensoru

TCS34903 parlaqlıq sensoru

TCS34903, işıq və rəngin RGB komponentinin dəyərini təmin edən bir rəng sensoru ailəsi məhsuludur

I2C birləşdirən kabel

I2C birləşdirmə kabeli, iki I2C cihazı arasında I2C əlaqəsi üçün nəzərdə tutulmuş 4 telli bir kabeldir

Mikro USB adapter

Raspberry Pi -ni işə salmaq üçün Micro USB kabelinə ehtiyacımız var

Relay lövhəsi üçün 12V güc adapteri

MCP23008 Relay nəzarətçi 12V xarici gücdə işləyir və bu 12V Güc Adaptoru ilə təchiz edilə bilər

Məhsulu tıklayaraq satın ala bilərsiniz. Ayrıca, Dcube Mağazasında daha böyük material tapa bilərsiniz.

Addım 2: Hardware Bağlantısı

Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması

Lazımi bağlantılar (şəkillərə baxın) aşağıdakılardır:

  1. Bu I2C üzərində işləyəcək. Raspberry pi üçün I2C qalxanı götürün və Raspberry Pi -nin GPIO sancaqlarına yumşaq bir şəkildə bağlayın.
  2. I2C kabelinin bir ucunu TCS34903 portuna, digər ucunu isə I2C ekranına bağlayın.
  3. MCP9808 sensorunun qabını I2C kabelindən istifadə edərək TCS34903-ə qoşun.
  4. MCP23008-in qabını I2C kabelindən istifadə edərək MCP9808 sensoruna qoşun.
  5. Ethernet kabelini də Raspberry Pi-yə qoşun. Wi-Fi router da eyni məqsəd üçün istifadə edilə bilər.
  6. Sonra, Raspberry Pi -ni Micro USB adapteri və 12V adapterdən istifadə edərək MCP23008 Relay lövhəsi ilə gücləndirin.
  7. Nəhayət, işığı birinci röle ilə, ikinci röleli bir fan və ya qızdırıcı ilə birləşdirin. Modulu genişləndirə və ya rölelərlə daha çox cihazı bağlaya bilərsiniz.

Addım 3: I2C Protokolundan istifadə edərək ünsiyyət qurun

Raspberry Pi I2C -ni aktiv etmək üçün aşağıda qeyd edildiyi kimi davam edin:

  1. Terminalda konfiqurasiya parametrlərini açmaq üçün aşağıdakı əmri yazın: sudo raspi-config
  2. Burada "Ətraflı Seçimlər" i seçin.
  3. "I2C" seçin və "Bəli" düyməsini basın.
  4. Yenidən başlatma əmrindən istifadə edərək edilən dəyişikliklərə görə qurmaq üçün sistemi yenidən başladın.

Addım 4: Modulun proqramlaşdırılması

Raspberry Pi istifadə etməyin mükafatı budur ki, Raspberry Pi ilə algılayıcı qurğunun interfeysini qurmaq üçün proqramlaşdırmaq istədiyiniz proqramlaşdırma dilini seçməyinizə rahatlıq verir. Raspberry Pi -nin bu üstünlüyündən istifadə edərək burada Java proqramlaşdırmasını nümayiş etdiririk.

Java mühitini qurmaq üçün https://pi4j.com/1.2/index.html saytından "pi4j libraby" qurun Pi4j, Raspberry Pi üçün Java Giriş/Çıxış Kitabxanasıdır. kitabxana ", aşağıda qeyd olunan əmri birbaşa Raspberry Pi -də yerinə yetirməkdir:

curl -s get.pi4j.com | sudo bash

OR

curl -s almaq.pi4j.com

com.pi4j.io.i2c. I2CBus; idxal com.pi4j.io.i2c. I2CDevice; com.pi4j.io.i2c. I2CFactory idxal edin; java.io. IOException idxal edin; class MCP23008 {public static void main (String args ) salır İstisna {int status, value, value1 = 0x00; // I2C avtobusu yaradın I2CBus avtobusu = I2CFactory.getInstance (I2CBus. BUS_1); // I2C cihazı alın, MCP23008 I2C ünvanı 0x20 (32) I2CDevice device = bus.getDevice (0x20); // I2C cihazı alın, MCP9808 I2C ünvanı 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // I2C cihazı alın, TCS34903 I2C ünvanı 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Gözləmə vaxtı qeydini təyin et = 0xff (255), gözləmə müddəti = 2.78 ms TCS34903.write (0x83, (bayt) 0xFF); // IR kanalına girişi aktiv edin TCS34903.write (0xC0, (bayt) 0x80); // Atime registerini 0x00 (0) olaraq təyin edin, maksimum saylar = 65535 TCS34903.write (0x81, (byte) 0x00); // Güc AÇIQ, ADC aktiv, Gözləmə aktiv TCS34903.write (0x80, (bayt) 0x0B); Mövzu.yuxu (250); // Clear/ir data ilə 8 Bayt Data oxuyun LSB birinci bayt data1 = yeni bayt [8]; // Temperatur Məlumatlarını oxuyun bayt data = yeni bayt [2]; status = device.read (0x09); // Bütün sancaqlar OUTPUT device.write (0x00, (byte) 0x00) kimi konfiqurasiya edilmişdir; Thread.sleep (500); while (doğru) {MCP9808.read (0x05, data, 0, 2); // Məlumatları çevir temp int = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } ikiqat cTemp = temp * 0.0625; System.out.printf ("Selsi temperaturu: %.2f C %n", cTemp); TCS34903. oxu (0x94, data1, 0, 8); ikiqat ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00; ikiqat qırmızı = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00; ikiqat yaşıl = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; ikiqat mavi = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // İşıqlandırma ikiqat işıqlılığını hesablayın = (-0.32466) * (qırmızı) + (1.57837) * (yaşıl) + (-0.73191) * (mavi); System.out.printf ("İşıqlandırma: %.2f lux %n", işıqlandırma); əgər (işıqlandırma 30) {dəyər = dəyər1 | (0x01); } başqa {dəyər = dəyər1 & (0x02); } device.write (0x09, (bayt) dəyəri); Thread.sleep (300); }}}

Addım 5: Fayl yaradın və kodu işləyin

  1. Kodun yazıla/kopyalana biləcəyi yeni bir fayl yaratmaq üçün aşağıdakı əmrdən istifadə ediləcək: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Fayl yaratdıqdan sonra kodu bura daxil edə bilərik.
  3. Əvvəlki addımda verilən kodu kopyalayın və buradakı pəncərəyə yapışdırın.
  4. Çıxmaq üçün Ctrl+X və sonra "y" düymələrini basın.
  5. Sonra aşağıdakı əmri istifadə edərək kodu tərtib edin: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Səhv yoxdursa, proqramı aşağıda göstərilən əmrdən istifadə edin: pi4j FILE_NAMEEg. pi4j MCP23008.java

Addım 6: Tətbiqlər

Bu sistem, cihazları divar açarlarına getmədən idarə etməyə imkan verir. Cihazları açma və ya söndürmə vaxtları avtomatik olaraq planlaşdırıldığı üçün bu, geniş imkanlara malikdir. Bu modulun evlərdən sənayelərə, xəstəxanalara, dəmiryol stansiyalarına və daha çox yerlərə qədər bir neçə tətbiqi var ki, onların tak-istifadə komponentləri ilə əlverişli və asan bir şəkildə avtomatlaşdırıla bilər.

Addım 7: Resurslar

TSL34903, MCP9808 MCP23008 Relay Controller haqqında daha ətraflı məlumat üçün aşağıdakı bağlantılara baxın:

  • TSL34903 məlumat cədvəli
  • MCP9808 məlumat cədvəli
  • MCP23008 məlumat cədvəli

Tövsiyə: