Daftar Isi:

Sistem Kontrol Lampu: 9 Langkah
Sistem Kontrol Lampu: 9 Langkah

Video: Sistem Kontrol Lampu: 9 Langkah

Video: Sistem Kontrol Lampu: 9 Langkah
Video: Membuat Lampu Hidup Otomatis Menggunakan Sensor Suara dan Arduino Uno 2024, Juli
Anonim
Sistem Kontrol Lampu
Sistem Kontrol Lampu

Baru-baru ini saya bekerja untuk memahami Mikrokontroler dan perangkat berbasis IOT untuk tujuan Riset Keamanan. Jadi, saya berpikir untuk membangun sistem otomatisasi rumah kecil untuk latihan. Saya belum menyelesaikan ini, tetapi untuk startup saya akan membagikan bagaimana saya menggunakan Raspberry Pi 2 dan beberapa komponen listrik lainnya untuk mengontrol pencahayaan kamar saya di posting ini. Juga, saya tidak akan berbicara tentang pengaturan awal untuk Raspberry di sini, Anda dapat menemukan berbagai tutorial untuk itu.

Namun dalam proyek ini, saya akan memperkenalkan produk docker pi series ini kepada Anda.

Perlengkapan

Daftar Komponen:

  • 1 x Raspberry Pi 3B+/3B/Nol/Nol W/4B/
  • 1 x 16 GB Kelas 10 kartu TF
  • 1 x DockerPi seri 4 Saluran Relay Board (HAT)
  • 1 x [email protected] catu daya yang berasal dari 52Pi
  • 4 x strip cahaya
  • 1 x konektor DC
  • Catu daya 1 x 12V untuk strip lampu.
  • beberapa kabel.

Langkah 1: Mengetahui Tentang DockerPi Series 4 Channel Relay Board

Mengetahui Tentang DockerPi Series 4 Channel Relay Board
Mengetahui Tentang DockerPi Series 4 Channel Relay Board
Mengetahui Tentang DockerPi Series 4 Channel Relay Board
Mengetahui Tentang DockerPi Series 4 Channel Relay Board
Mengetahui Tentang DockerPi Series 4 Channel Relay Board
Mengetahui Tentang DockerPi Series 4 Channel Relay Board

DockerPi 4 Channel Relay adalah anggota dari Seri DockerPi, lebih umum digunakan dalam aplikasi IOT.

DockerPi 4 Channel Relay dapat relay AC/DC, bukan switch tradisional, untuk mencapai lebih banyak ide. DockerPi 4 Channel Relay dapat ditumpuk hingga 4, dan dapat ditumpuk dengan papan ekspansi DockerPi lainnya. Jika Anda perlu menjalankan untuk waktu yang lama, kami juga menyarankan Anda menggunakan papan ekspansi DockerPi Power kami untuk memberikan lebih banyak daya.

CATATAN PERHATIAN Sebelum kita melangkah lebih jauh, saya ingin PERINGATAN Anda tentang BAHAYA bereksperimen dengan "Listrik Listrik". Jika terjadi kesalahan, konsekuensi terburuknya adalah kematian atau setidaknya membakar rumah Anda sendiri. Jadi, mohon JANGAN MENCOBA melakukan apa pun yang disebutkan dalam artikel ini jika Anda tidak mengerti apa yang Anda lakukan atau lebih baik minta bantuan ahli listrik berpengalaman. Mari kita mulai.

Langkah 2: Fitur

Fitur
Fitur
Fitur
Fitur
Fitur
Fitur
  • Seri DockerPi
  • Dapat diprogram
  • Kontrol langsung (tanpa pemrograman)
  • Perpanjang Pin GPIO
  • 4 Saluran Relay
  • 4 Alt I2C Addr Dukungan
  • Dukungan Led Status Relay
  • Dukungan AC 3A 250V
  • 3A 30V DC
  • Dapat Stack dengan Stack board lain Independen dari perangkat keras mainboard (memerlukan dukungan I2C)

Langkah 3: Peta Alamat Perangkat

Peta Alamat Perangkat
Peta Alamat Perangkat
Peta Alamat Perangkat
Peta Alamat Perangkat

Papan ini memiliki alamat register terpisah, dan Anda hanya dapat mengontrol setiap relai dengan satu perintah.

Persyaratan lainnya:

Pemahaman Dasar tentang Python atau C atau shell atau Java atau bahasa lainnya (saya akan menggunakan C, python, shell, dan java)

  • Pemahaman Dasar tentang sistem Linux
  • Kesadaran

Sekarang, sebelum melanjutkan, Anda harus memahami komponen listrik yang akan kita gunakan:

1. Relai:

Relay adalah perangkat listrik yang umumnya digunakan untuk mengontrol tegangan tinggi dengan menggunakan tegangan sangat rendah sebagai Input. Ini terdiri dari kumparan melilit tiang dan dua penutup logam kecil (simpul) yang digunakan untuk menutup sirkuit. Salah satu simpul tetap dan yang lainnya dapat dipindahkan. Setiap kali listrik dilewatkan melalui koil, itu menciptakan medan magnet dan menarik simpul bergerak menuju simpul statis dan rangkaian selesai. Jadi, hanya dengan menerapkan tegangan kecil untuk menyalakan koil, kita benar-benar dapat menyelesaikan rangkaian agar tegangan tinggi dapat berjalan. Juga, karena simpul statis tidak terhubung secara fisik ke koil, kemungkinan mikrokontroler yang memberi daya pada koil menjadi sangat kecil jika terjadi kesalahan.

Langkah 4: Hubungkan Relay ke Dudukan Bohlam Didukung oleh Pasokan Listrik Utama

Hubungkan Relai ke Dudukan Bohlam Didukung oleh Pasokan Listrik Utama
Hubungkan Relai ke Dudukan Bohlam Didukung oleh Pasokan Listrik Utama
Hubungkan Relai ke Dudukan Bohlam Didukung oleh Pasokan Listrik Utama
Hubungkan Relai ke Dudukan Bohlam Didukung oleh Pasokan Listrik Utama

Sekarang ke bagian yang sulit, Kami akan menghubungkan relai ke dudukan Bulb yang ditenagai oleh pasokan Listrik Utama. Tapi, pertama-tama saya ingin memberi Anda gambaran singkat tentang bagaimana lampu dinyalakan dan dimatikan melalui catu daya langsung.

Sekarang, ketika bola lampu terhubung ke catu daya utama, kami biasanya melakukan ini dengan menghubungkan dua kabel ke bola lampu. salah satu kabel adalah kabel "Netral" dan yang lainnya adalah kabel "Negatif" yang sebenarnya membawa arus, juga ada sakelar yang ditambahkan ke seluruh rangkaian untuk mengontrol mekanisme ON dan OFF. Jadi, ketika swith terhubung (Atau Dinyalakan) arus mengalir melalui bohlam dan kabel netral, menyelesaikan rangkaian. Ini menyalakan bola lampu. Ketika sakelar dimatikan, itu memutus sirkuit dan bola lampu mati. Berikut diagram sirkuit kecil untuk menjelaskan hal ini:

Sekarang, untuk percobaan kami, kami harus membuat "Kabel Negatif" melewati relai kami untuk memutus sirkuit dan mengontrol aliran daya menggunakan sakelar relai. Jadi, ketika relay akan ON, itu harus menyelesaikan rangkaian dan bola lampu harus ON dan sebaliknya. Lihat diagram di bawah ini untuk rangkaian Penuh.

Langkah 5: Konfigurasi I2C (Raspberry Pi)

Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)
Konfigurasi I2C (Raspberry Pi)

Jalankan Sudo raspi-config dan ikuti petunjuk untuk menginstal dukungan i2c untuk inti ARM dan kernel linux

Pergi ke Opsi Antarmuka

Langkah 6: Kontrol Langsung Tanpa Pemrograman (Raspberry Pi)

Nyalakan relai saluran No.1

i2cset -y 1 0x10 0x01 0xFF

Matikan saluran No.1 relai

i2cset -y 1 0x10 0x01 0x00

Nyalakan relai saluran No.2

i2cset -y 1 0x10 0x02 0xFF

Matikan saluran No.2 relai

i2cset -y 1 0x10 0x02 0x00

Nyalakan relai saluran No.3

i2cset -y 1 0x10 0x03 0xFF

Matikan relai saluran No.3

i2cset -y 1 0x10 0x03 0x00

Nyalakan relai saluran No.4

i2cset -y 1 0x10 0x04 0xFF

Matikan relai saluran No.4

i2cset -y 1 0x10 0x04 0x00

Langkah 7: Program dalam Bahasa C (Raspberry Pi)

Buat kode sumber dan beri nama "relay.c"

#termasuk

#termasuk

#termasuk

#define DEVCIE_ADDR 0x10

#definisikan RELAY1 0x01

#definisikan RELAY2 0x02

#definisikan RELAY3 0x03

#definisikan RELAY4 0x04

#define ON 0xFF

#tentukan NONAKTIF 0x00

int utama (kosong)

{

printf("Aktifkan Relay di C\n");

int fd;

int saya = 0;

fd = wiringPiI2CSetup(DEVICE_ADDR);

untuk(;;){

untuk (i=1; i<=4; i++)

{

printf("nyalakan Relay No.$d", i);

wiringPiI2CWriteReg8(fd, i, ON);

tidur(200);

printf("matikan relay No.$d", i);

wiringPiI2CWriteReg8(fd, i, OFF);

tidur(200);

}

}

kembali 0;

}

Kompilasi itu

relai gcc.c -lwiringPi -o relai

Eksekusi

./menyampaikan

Langkah 8: Program dengan Python (Raspberry Pi)

Kode berikut direkomendasikan untuk dieksekusi menggunakan Python 3 dan menginstal perpustakaan smbus:

Buat file bernama: "relay.py" dan rekatkan kode berikut:

waktu impor sebagai t

impor smbus

sistem impor

PERANGKAT_BUS = 1

PERANGKAT_ADDR = 0x10

bus = smbus. SMBus(DEVICE_BUS)

sementara Benar:

mencoba:

untuk saya dalam rentang(1, 5):

bus.write_byte_data(DEVICE_ADDR, i, 0xFF)

t.tidur(1)

bus.write_byte_data(DEVICE_ADDR, i, 0x00)

t.tidur(1)

kecuali KeyboardInterrupt sebagai e:

print("Keluar dari Perulangan")

sistem.keluar()

* Simpan dan jalankan sebagai python3:

python3 relay.py

Langkah 9: Program di Java (Raspberry Pi)

Buat file baru bernama: I2CRelay.java dan rekatkan kode berikut:

impor java.io. IOException;

impor java.util. Arrays;

impor com.pi4j.io.i2c. I2CBus;

impor com.pi4j.io.i2c. I2CDevice;

impor com.pi4j.io.i2c. I2CFfactory;

impor com.pi4j.io.i2c. I2CFfactory. UnsupportedBusNumberException;

impor com.pi4j.platform. PlatformAlreadyAssignedException;

impor com.pi4j.util. Console;

kelas publik I2CRelay {

// alamat register relai.

public int static final DOCKER_PI_RELAY_ADDR = 0x10;

// saluran relai.

byte terakhir publik static DOCKER_PI_RELAY_1 = (byte)0x01;

byte terakhir publik static DOCKER_PI_RELAY_2 = (byte)0x02;

byte terakhir publik statis DOCKER_PI_RELAY_3 = (byte)0x03;

byte terakhir publik static DOCKER_PI_RELAY_4 = (byte)0x04;

// status estafet

byte terakhir publik statis DOCKER_PI_RELAY_ON = (byte)0xFF;

byte terakhir publik statis DOCKER_PI_RELAY_OFF = (byte)0x00;

public static void main(String args) melempar InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {

konsol Konsol akhir = Konsol baru();

I2CBus i2c = I2CFfactory.getInstance(I2CBus. BUS_1);

Perangkat I2CDevice = i2c.getDevice(DOCKER_PI_RELAY_ADDR);

console.println("Nyalakan Relai!");

device.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);

Thread.sleep(500);

console.println("Matikan Relai!");

device.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);

}

}

Direkomendasikan: