İçindekiler:

Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu: 7 Adım
Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu: 7 Adım

Video: Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu: 7 Adım

Video: Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu: 7 Adım
Video: Raspberry Pi Basit Akıllı Ev Otomasyon Sistemi 2024, Kasım
Anonim
Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu
Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu

İnsanların büyük bir kısmı büyük rahatlık ama makul fiyatlarla istiyor. Her akşam güneş battığında ve ertesi sabah evleri aydınlatmaya, ışıkları tekrar kapatmaya veya Hava Durumu veya oda sıcaklığında olduğu gibi Klima/Fan/Isıtıcıları açıp kapamaya tembellik ediyoruz.

Gerektiğinde cihazları kapatmak gibi bu ekstra işten kaçınmak için ucuz bir çözüm burada. Basit tak ve çalıştır ürünleri kullanarak evlerinizi nispeten çok daha az maliyetle otomatik hale getirmektir. Sıcaklık yükseldiğinde veya düştüğünde çalışır, sırasıyla Klimayı veya ısıtıcıyı açar. Ayrıca gerektiğinde manuel olarak açmadan evinizin ışıklarını veya ışıklarını açmanıza yardımcı olacaktır. Ve daha birçok cihaz kontrol edilebilir. Dünyayı otomatikleştirin. Evinize başlayalım.

Adım 1: Donanım Gerekli

Donanım Gerekli
Donanım Gerekli
Donanım Gerekli
Donanım Gerekli
Donanım Gerekli
Donanım Gerekli

Kullanacağız:

Ahududu Pi

Raspberry Pi, tek bir tahta Linux tabanlı PC'dir. Bu küçük bilgisayar, elektronik alıştırmalar ve elektronik tablolar, kelime işleme, web'de gezinme, e-posta ve oyunlar gibi bilgisayar işlemleri olarak kullanılan gücü kaydetme konusunda bir yumruk atıyor

I2C Kalkanı veya I2C Başlığı

INPI2 (I2C adaptörü), birden fazla I2C cihazıyla kullanım için Raspberry Pi 2/3 bir I²C bağlantı noktası sağlar

I2C Röle denetleyicisi MCP23008

Microchip'ten MCP23008, I²C veri yolu üzerinden sekiz röleyi kontrol eden Entegre bir port genişleticidir. Entegre I²C genişletme bağlantı noktasını kullanarak daha fazla röle, dijital G/Ç, analogdan dijitale dönüştürücüler, sensörler ve diğer cihazlar ekleyebilirsiniz

MCP9808 Sıcaklık Sensörü

MCP9808, dijital, I²C formatında kalibre edilmiş, doğrusallaştırılmış sensör sinyalleri sağlayan yüksek doğrulukta bir sıcaklık sensörüdür

TCS34903 parlaklık sensörü

TCS34903, ışık ve rengin RGB bileşeninin değerini sağlayan bir renk sensörü ailesi ürünüdür

I2C bağlantı kablosu

I2C bağlantı kablosu, üzerinden bağlanan iki I2C cihazı arasındaki I2C iletişimi için tasarlanmış 4 telli bir kablodur

Mikro USB adaptörü

Raspberry Pi'yi çalıştırmak için bir Mikro USB kablosuna ihtiyacımız var

Röle kartı için 12V güç adaptörü

MCP23008 Röle denetleyicisi, 12V harici güçle çalışır ve bu, bir 12V Güç Adaptörü kullanılarak sağlanabilir

Ürünü üzerlerine tıklayarak satın alabilirsiniz. Ayrıca Dcube Store'da daha fazla harika malzeme bulabilirsiniz.

2. Adım: Donanım Bağlantısı

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı

Gerekli bağlantılar (resimlere bakın) aşağıdaki gibidir:

  1. Bu, I2C üzerinde çalışacaktır. Raspberry pi için bir I2C kalkanı alın ve nazikçe Raspberry Pi'nin GPIO pinlerine bağlayın.
  2. I2C kablosunun bir ucunu TCS34903'ün giriş portuna ve diğer ucunu I2C blendajına bağlayın.
  3. I2C kablosunu kullanarak MCP9808 sensörünün in-potunu TCS34903'ün çıkışına bağlayın.
  4. I2C kablosunu kullanarak MCP23008 in-potunu MCP9808 sensörünün çıkışına bağlayın.
  5. Ayrıca Ethernet kablosunu Raspberry Pi'ye bağlayın. Wi-Fi yönlendirici de aynı şekilde kullanılabilir.
  6. Ardından, Raspberry Pi'yi bir Mikro USB adaptörü ve MCP23008 Röle kartını 12V adaptör kullanarak çalıştırın.
  7. Son olarak, birinci röle ile ışığı ve ikinci röle ile bir fan veya ısıtıcıyı bağlayın. Modülü genişletebilir veya röleler ile daha fazla cihaz bağlayabilirsiniz.

Adım 3: I2C Protokolünü Kullanarak İletişim Kurma

Raspberry Pi I2C'yi etkinleştirmek için aşağıda belirtildiği gibi ilerleyin:

  1. Terminalde, yapılandırma ayarlarını açmak için aşağıdaki komutu yazın: sudo raspi-config
  2. Burada “Gelişmiş Seçenekler”i seçin.
  3. “I2C”yi seçin ve “Evet”e tıklayın.
  4. Yeniden başlatma komutu kullanılarak yapılan değişikliklere göre ayarlamak için sistemi yeniden başlatın.

Adım 4: Modülün Programlanması

Raspberry Pi kullanmanın ödülü, yani algılama cihazını Raspberry Pi ile arayüzlemek için programlamak istediğiniz programlama dilini seçme esnekliği sağlar. Raspberry Pi'nin bu avantajından yararlanarak burada Java'daki programlamasını gösteriyoruz.

Java ortamını kurmak için https://pi4j.com/1.2/index.html adresinden “pi4j libraby”yi kurun Pi4j, Raspberry Pi için bir Java Giriş/Çıkış Kütüphanesidir. kütüphane”, aşağıda belirtilen komutu doğrudan Raspberry Pi'nizde yürütmektir:

curl -s get.pi4j.com | sudo bash

VEYA

curl -s get.pi4j.com

com.pi4j.io.i2c. I2CBus'u içe aktar; com.pi4j.io.i2c. I2CDevice'ı içe aktar; com.pi4j.io.i2c. I2CFFactory'yi içe aktarın; java.io. IOException'ı içe aktarın; class MCP23008 { public static void main(String args) Exception { int status, value, value1= 0x00; // I2C veri yolu I2CBus veri yolu oluştur = I2CFfactory.getInstance(I2CBus. BUS_1); // I2C cihazını al, MCP23008 I2C adresi 0x20(32) I2CDevice cihazı = bus.getDevice(0x20); // I2C cihazını al, MCP9808 I2C adresi 0x18(24) I2CDevice MCP9808 = bus.getDevice(0x18); // I2C cihazını al, TCS34903 I2C adresi 0x39(55) I2CDevice TCS34903 = bus.getDevice(0x39); // Bekleme Süresini Ayarla register = 0xff (255), bekleme süresi = 2,78 ms TCS34903.write(0x83, (byte)0xFF); // Kızılötesi kanalına Erişimi Etkinleştir TCS34903.write(0xC0, (byte)0x80); // Atime kaydını 0x00 (0) olarak ayarlayın, maksimum sayımlar = 65535 TCS34903.write(0x81, (byte)0x00); // Güç AÇIK, ADC etkin, Bekleme etkin TCS34903.write(0x80, (byte)0x0B); Thread.sleep(250); // 8 Bayt Veriyi temizle/ir veri ile oku LSB ilk bayt veri1 = yeni bayt[8]; // Sıcaklık Verilerini Oku bayt veri = yeni bayt[2]; durum = device.read(0x09); // Tüm pinleri OUTPUT device.write(0x00, (byte)0x00); thread.sleep(500); while(true){ MCP9808.read(0x05, veri, 0, 2); // Veriyi dönüştür int temp = ((veri[0] & 0x1F) * 256 + (veri[1] & 0xFF)); if(temp > 4096) { temp -= 8192; } çift cTemp = sıcaklık * 0.0625; System.out.printf(“Sıcaklık santigrat olarak: %.2f C %n”, cTemp); TCS34903.read(0x94, veri1, 0, 8); çift ir = ((veri1[1] & 0xFF) * 256) + (veri1[0] & 0xFF) * 1.00; çift kırmızı = ((veri1[3] & 0xFF) * 256) + (veri1[2] & 0xFF) * 1.00; çift yeşil = ((veri1[5] & 0xFF) * 256) + (veri1[4] & 0xFF) * 1.00; çift mavi = ((veri1[7] & 0xFF) * 256) + (veri1[6] & 0xFF) * 1.00; // Aydınlık çift aydınlatmayı hesapla = (-0.32466) * (kırmızı) + (1.57837) * (yeşil) + (-0.73911) * (mavi); System.out.printf(“Aydınlık: %.2f lux%n “, aydınlık); if (aydınlık 30) { değer = değer1 | (0x01); } başka { değer = değer1 & (0x02); } device.write(0x09, (bayt)değer); Thread.sleep(300); } } }

Adım 5: Dosya Oluşturma ve Kodu Çalıştırma

  1. Kodun yazılabileceği/kopyalanabileceği yeni bir dosya oluşturmak için şu komut kullanılacaktır: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Dosyayı oluşturduktan sonra kodu buraya girebiliriz.
  3. Bir önceki adımda verilen kodu kopyalayın ve buradaki pencereye yapıştırın.
  4. Çıkmak için Ctrl+X ve ardından "y" tuşlarına basın.
  5. Ardından aşağıdaki komutu kullanarak kodu derleyin: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Hata yoksa, aşağıda belirtilen komutu kullanarak programı çalıştırın: pi4j FILE_NAMEÖrn. pi4j MCP23008.java

6. Adım: Uygulamalar

Bu sistem, duvar anahtarlarına gitmeden cihazları kontrol etmenizi sağlar. Cihazları açma veya kapatma zamanları otomatik olarak programlandığından bu, kapsamlı yeteneklere sahiptir. Bu modülün evlerden endüstrilere, hastanelere, tren istasyonlarına ve daha birçok yere kadar bir avuç uygulaması vardır ve tak ve çalıştır bileşenleri sayesinde ekonomik ve kolay bir şekilde otomatikleştirilebilir.

7. Adım: Kaynaklar

TSL34903, MCP9808 MCP23008 Röle Kontrol Cihazı hakkında daha fazla bilgi için aşağıdaki linklere göz atın:

  • TSL34903 Veri Sayfası
  • MCP9808 Veri Sayfası
  • MCP23008 Veri Sayfası

Önerilen: