Isi kandungan:

Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board: 7 Langkah
Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board: 7 Langkah

Video: Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board: 7 Langkah

Video: Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board: 7 Langkah
Video: Raspberry Pi Automation #1: Mains Relay HAT 2024, Disember
Anonim
Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board
Automasi Rumah Dengan Raspberry Pi Menggunakan Relay Board

Sebilangan besar orang mahukan keselesaan hebat tetapi dengan harga yang berpatutan. Kami merasa malas untuk menerangi rumah setiap petang ketika matahari terbenam dan keesokan paginya, mematikan lampu lagi Atau untuk mematikan / mematikan penghawa dingin / kipas / pemanas seperti cuaca atau suhu bilik.

Penyelesaian yang murah untuk mengelakkan kerja tambahan mematikan perkakas apabila diperlukan ada di sini. Ini adalah untuk mengautomasikan rumah anda dengan kos yang jauh lebih rendah dengan menggunakan produk plug and play yang sederhana. Ia berfungsi apabila suhu naik atau turun, masing-masing menghidupkan penghawa dingin atau pemanas. Apabila diperlukan, ia akan membantu menyalakan atau menyalakan lampu rumah anda tanpa menyalakannya secara manual. Dan banyak lagi perkakas dapat dikawal. Automatikkan dunia. Mari kita mulakan rumah anda.

Langkah 1: Perkakasan Diperlukan

Diperlukan Perkakasan
Diperlukan Perkakasan
Diperlukan Perkakasan
Diperlukan Perkakasan
Diperlukan Perkakasan
Diperlukan Perkakasan

Kami akan menggunakan:

Pai raspberi

Raspberry Pi adalah PC berasaskan Linux yang bersendirian. PC kecil ini memberikan kekuatan dalam mendaftarkan kekuatan, digunakan sebagai latihan elektronik, dan operasi PC seperti hamparan, pemprosesan kata, melayari web, dan e-mel, dan permainan

I2C Shield atau I2C Header

INPI2 (penyesuai I2C) menyediakan port Raspberry Pi 2/3 dan I²C untuk digunakan dengan pelbagai peranti I2C

Pengawal Relay I2C MCP23008

MCP23008 dari Microchip adalah pengembang port Bersepadu yang mengawal lapan relay melalui bas I²C. Anda boleh menambah lebih banyak relay, I / O digital, penukar analog ke digital, sensor, dan peranti lain menggunakan port pengembangan I²C bersepadu

Sensor Suhu MCP9808

MCP9808 adalah sensor suhu berketepatan tinggi yang memberikan isyarat sensor yang dikalibrasi, linear dalam format I²C digital

Sensor pencahayaan TCS34903

TCS34903 adalah produk keluarga sensor warna yang memberikan nilai komponen RGB cahaya dan warna

Kabel penyambung I2C

Kabel penyambung I2C adalah kabel 4-wayar yang dimaksudkan untuk komunikasi I2C antara dua peranti I2C yang disambungkan melaluinya

Penyesuai USB mikro

Untuk menghidupkan Raspberry Pi, kita memerlukan kabel USB Mikro

Penyesuai kuasa 12V untuk papan Relay

MCP23008 Relay controller berfungsi pada kuasa luaran 12V dan ini boleh dibekalkan menggunakan 12V Power Adapter

Anda boleh membeli produk dengan mengkliknya. Anda juga boleh mendapatkan lebih banyak bahan hebat di Kedai Dcube.

Langkah 2: Penyambungan Perkakasan

Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan
Cangkuk Perkakasan

Sambungan yang diperlukan (rujuk gambar) adalah seperti berikut:

  1. Ini akan berfungsi pada I2C. Ambil pelindung I2C untuk Raspberry pi dan sambungkan dengan lembut ke pin GPIO Raspberry Pi.
  2. Sambungkan satu hujung kabel I2C ke port TCS34903 dan hujung yang lain ke pelindung I2C.
  3. Sambungkan in-pot sensor MCP9808 ke outlet TCS34903 menggunakan kabel I2C.
  4. Sambungkan in-pot MCP23008 ke outlet sensor MCP9808 menggunakan kabel I2C.
  5. Sambungkan juga kabel Ethernet ke Raspberry Pi. Penghala Wi-Fi juga dapat digunakan untuk yang sama.
  6. Kemudian, hidupkan Raspberry Pi menggunakan penyesuai Micro USB dan papan Relay MCP23008 menggunakan penyesuai 12V.
  7. Akhirnya, sambungkan lampu dengan geganti pertama dan kipas atau pemanas dengan geganti kedua. Anda boleh mengembangkan modul atau boleh menghubungkan lebih banyak peranti dengan geganti.

Langkah 3: Berkomunikasi Menggunakan Protokol I2C

Untuk membuat Raspberry Pi I2C diaktifkan, lanjutkan seperti yang disebutkan di bawah:

  1. Di terminal, ketik perintah berikut untuk membuka tetapan konfigurasi: sudo raspi-config
  2. Pilih "Pilihan Lanjutan" di sini.
  3. Pilih "I2C" dan Klik "Ya".
  4. Nyalakan semula sistem untuk mengaturnya seperti perubahan yang dilakukan menggunakan perintah reboot.

Langkah 4: Memprogram Modul

Ganjaran menggunakan Raspberry Pi adalah, yang memberi anda fleksibiliti untuk memilih bahasa pengaturcaraan di mana anda ingin memprogramkan untuk menghubungkan peranti penginderaan dengan Raspberry Pi. Dengan memanfaatkan kelebihan Raspberry Pi ini, kami menunjukkan di sini pengaturcaraannya di Java.

Untuk mengatur persekitaran Java, Pasang "pi4j libraby" dari https://pi4j.com/1.2/index.html Pi4j adalah Java Input / Output Library untuk Raspberry Pi. Kaedah yang mudah dan paling disukai untuk memasang "pi4j library”adalah untuk melaksanakan perintah yang disebutkan langsung di Raspberry Pi anda:

curl -s get.pi4j.com | sudo bash

ATAU

curl -s get.pi4j.com

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; kelas MCP23008 {public static void main (String args ) membuang Exception {int status, value, value1 = 0x00; // Buat bas I2C bas I2CBus = I2CFactory.getInstance (I2CBus. BUS_1); // Dapatkan peranti I2C, alamat MCP23008 I2C adalah 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Dapatkan peranti I2C, alamat MCP9808 I2C adalah 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Dapatkan peranti I2C, alamat TCS34903 I2C adalah 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Tetapkan daftar Waktu Tunggu = 0xff (255), masa tunggu = 2.78 ms TCS34903.write (0x83, (byte) 0xFF); // Dayakan Akses ke saluran IR TCS34903.write (0xC0, (byte) 0x80); // Tetapkan daftar Atime ke 0x00 (0), jumlah maksimum = 65535 TCS34903.write (0x81, (byte) 0x00); // Power ON, ADC diaktifkan, Tunggu diaktifkan TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Baca 8 Byte Data dengan data yang jelas / ir LSB bait pertama data1 = bait baru [8]; // Baca Bait Data Suhu data = bait baru [2]; status = device.read (0x09); // Mengkonfigurasi semua pin sebagai OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); sementara (benar) {MCP9808.read (0x05, data, 0, 2); // Tukar data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); jika (temp> 4096) {temp - = 8192; } cTemp berganda = temp * 0.0625; System.out.printf ("Suhu dalam celsius adalah:%.2f C% n", cTemp); TCS34903.read (0x94, data1, 0, 8); double ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00; merah ganda = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00; hijau ganda = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; biru biru = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // Hitung illuminance double illuminance = (-0.32466) * (merah) + (1.57837) * (hijau) + (-0.73191) * (biru); System.out.printf ("Illuminance is:%.2f lux% n", pencahayaan); jika (pencahayaan 30) {nilai = nilai1 | (0x01); } lain {nilai = nilai1 & (0x02); } device.write (0x09, (bait) nilai); Thread.sleep (300); }}}

Langkah 5: Membuat Fail dan Menjalankan Kod

  1. Untuk membuat fail baru di mana kod dapat ditulis / disalin, perintah berikut akan digunakan: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Setelah membuat fail, kita dapat memasukkan kod di sini.
  3. Salin kod yang diberikan pada langkah sebelumnya dan tampal di tetingkap di sini.
  4. Tekan Ctrl + X kemudian "y" untuk keluar.
  5. Kemudian kumpulkan kod menggunakan arahan berikut: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Sekiranya tidak ada kesalahan, jalankan program menggunakan perintah yang disebutkan di bawah: pi4j FILE_NAMEEg. pi4j MCP23008.java

Langkah 6: Aplikasi

Sistem ini membolehkan anda mengawal peranti tanpa pergi ke suis dinding. Ini mempunyai kemampuan yang luas kerana waktu menghidupkan atau mematikan peranti dijadualkan secara automatik. Terdapat sebilangan kecil aplikasi modul ini dari rumah ke industri, hospital, stesen keretapi dan banyak lagi tempat dapat diautomatisasi dengan cara yang berpatutan dan mudah dengan komponen plug-and-play.

Langkah 7: Sumber

Untuk maklumat lebih lanjut mengenai TSL34903, MCP9808 MCP23008 Relay Controller, periksa pautan di bawah:

  • Lembaran Data TSL34903
  • Lembaran Data MCP9808
  • Lembaran Data MCP23008

Disyorkan: