Mündəricat:
- Addım 1: Avadanlıq tələb olunur
- Addım 2: Hardware Bağlantısı
- Addım 3: I2C Protokolundan istifadə edərək ünsiyyət qurun
- Addım 4: Modulun proqramlaşdırılması
- Addım 5: Fayl yaradın və kodu işləyin
- Addım 6: Tətbiqlər
- Addım 7: Resurslar
Video: Relay Board istifadə edərək Raspberry Pi ilə Ev Avtomatlaşdırması: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
İ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
İ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ı
Lazımi bağlantılar (şəkillərə baxın) aşağıdakılardır:
- 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.
- I2C kabelinin bir ucunu TCS34903 portuna, digər ucunu isə I2C ekranına bağlayın.
- MCP9808 sensorunun qabını I2C kabelindən istifadə edərək TCS34903-ə qoşun.
- MCP23008-in qabını I2C kabelindən istifadə edərək MCP9808 sensoruna qoşun.
- Ethernet kabelini də Raspberry Pi-yə qoşun. Wi-Fi router da eyni məqsəd üçün istifadə edilə bilər.
- Sonra, Raspberry Pi -ni Micro USB adapteri və 12V adapterdən istifadə edərək MCP23008 Relay lövhəsi ilə gücləndirin.
- 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:
- Terminalda konfiqurasiya parametrlərini açmaq üçün aşağıdakı əmri yazın: sudo raspi-config
- Burada "Ətraflı Seçimlər" i seçin.
- "I2C" seçin və "Bəli" düyməsini basın.
- 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
- 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
- Fayl yaratdıqdan sonra kodu bura daxil edə bilərik.
- Əvvəlki addımda verilən kodu kopyalayın və buradakı pəncərəyə yapışdırın.
- Çıxmaq üçün Ctrl+X və sonra "y" düymələrini basın.
- Sonra aşağıdakı əmri istifadə edərək kodu tərtib edin: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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ə:
Eagle Cad istifadə edərək növbəti nəsil ev avtomatlaşdırması (1 -ci hissə - PCB): 14 addım
Eagle Cad (Part 1 - PCB) istifadə edərək növbəti nəsil ev avtomatlaşdırması: Giriş: Niyə yeni nəsil deyirəm: çünki ənənəvi ev avtomatlaşdırma cihazlarından daha yaxşı olan bəzi komponentlərdən istifadə edir. Cihazları aşağıdakı vasitələrlə idarə edə bilər: Google Səs Komandaları Tətbiqdən Cihaz İdarəetmə Dokunmatik Paneli
Röle istifadə edərək IR Ev Avtomatlaşdırması: 6 Addım (Şəkillərlə)
IR Ev Avtomatlaşdırması Relay istifadə edərək: Infared Uzaq Ev Avtomatlaşdırma Sistemi (Xəbərdarlıq: Layihəni öz riski ilə təkrarlayın! Bu layihə Yüksək Gərginliyi əhatə edir)
İnfraqırmızı və Bluetooth Nəzarətli Relay Modulu ilə Ev Avtomatlaşdırması: 10 addım
İnfraqırmızı və Bluetooth Nəzarətli Röle Modulu ilə Ev Avtomatlaşdırılması: Bu ev avtomatlaşdırma layihəsində, Arduino idarə rölesi modulu sxemindən istifadə edərək, ağıllı telefon tətbiqimizdən və IR uzaqdan işığı, fanatı və digər məişət cihazlarını necə idarə edə biləcəyimizi göstərdim. dövrənin iki rejimi var, Inf
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT