İçindekiler:

Işık Kontrol Sistemi: 9 Adım
Işık Kontrol Sistemi: 9 Adım

Video: Işık Kontrol Sistemi: 9 Adım

Video: Işık Kontrol Sistemi: 9 Adım
Video: Merdiven Adım Takip Sistemi - Devre - Gerekli Elemanlar - Kablolama 2024, Temmuz
Anonim
Işıklar Kontrol Sistemi
Işıklar Kontrol Sistemi

Son zamanlarda Güvenlik Araştırması amacıyla Mikrodenetleyicileri ve IOT tabanlı cihazları anlamaya çalışıyordum. Bu yüzden pratik yapmak için küçük bir ev otomasyon sistemi kurmayı düşündüm. Bunu henüz tamamlamadım, ancak başlangıçta odamın aydınlatmasını kontrol etmek için Raspberry Pi 2 ve diğer bazı elektrikli bileşenleri nasıl kullandığımı bu yazıda paylaşacağım. Ayrıca burada Raspberry için ilk kurulumdan bahsetmeyeceğim, bunun için çeşitli eğitimler bulabilirsiniz.

Fakat bu projemde sizlere bu docker pi serisi ürünü tanıtacağım.

Gereçler

Bileşen Listesi:

  • 1 x Raspberry Pi 3B+/3B/Sıfır/Sıfır W/4B/
  • 1 x 16GB Sınıf 10 TF kartı
  • 1 x DockerPi serisi 4 Kanal Röle Kartı (HAT)
  • 52Pi'den 1 x [email protected] güç kaynağı
  • 4 x Işık şeridi
  • 1 x DC konektörü
  • Işık şeritleri için 1 x 12V güç kaynağı.
  • birkaç tel.

Adım 1: DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi

DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi

DockerPi 4 Kanal Röle, daha çok IOT uygulamalarında kullanılan DockerPi Serisinin bir üyesidir.

DockerPi 4 Kanal Röle, daha fazla fikir elde etmek için geleneksel anahtarlar yerine AC/DC'yi aktarabilir. DockerPi 4 Kanal Rölesi 4 adede kadar istiflenebilir ve diğer DockerPi genişletme kartı ile istiflenebilir. Uzun süre çalıştırmanız gerekiyorsa daha fazla güç sağlamak için DockerPi Power genişletme kartımızı da kullanmanızı öneririz.

DİKKAT NOTU Daha fazla ilerlemeden önce, “Şebeke Elektriği” ile deneme yapmanın TEHLİKELERİ hakkında sizi UYARMAK istiyorum. Herhangi bir şey ters giderse, en kötü sonuç ölüm veya en azından kendi evinizi yakmak olabilir. Bu nedenle, ne yaptığınızı anlamıyorsanız veya deneyimli bir elektrikçiden yardım almanız daha iyi oluyorsa, lütfen bu makalede bahsedilen hiçbir şeyi YAPMAYIN. Başlayalım.

2. Adım: Özellikler

Özellikleri
Özellikleri
Özellikleri
Özellikleri
Özellikleri
Özellikleri
  • DockerPi Serisi
  • programlanabilir
  • Doğrudan kontrol (programlama olmadan)
  • GPIO Pinlerini uzatın
  • 4 Kanal Röle
  • 4 Alt I2C Adres Desteği
  • Röle Durum Ledleri Desteği
  • 3A 250V AC Desteği
  • 3A 30V DC
  • Anakart donanımından bağımsız olarak diğer Yığın kartıyla İstiflenebilir (I2C desteği gerektirir)

3. Adım: Cihaz Adres Haritası

Cihaz Adres Haritası
Cihaz Adres Haritası
Cihaz Adres Haritası
Cihaz Adres Haritası

Bu kartın ayrı kayıt adresi vardır ve her röleyi tek komutla kontrol edebilirsiniz.

Diğer gereklilikler:

Python veya C veya Shell veya Java veya başka bir dilin Temel Anlayışı (C, python, Shell ve Java kullanacağım)

  • Linux sistemlerinin Temel Anlayışı
  • Soğukkanlılık

Şimdi, ilerlemeden önce kullanacağımız elektrikli bileşenleri anlamanız gerekecek:

1. Röle:

Röle, genellikle Giriş olarak çok düşük voltaj kullanarak yüksek voltajları kontrol etmek için kullanılan elektrikli bir cihazdır. Bu, bir direğe sarılı bir bobin ve devreyi kapatmak için kullanılan iki küçük metal kanattan (düğümlerden) oluşur. Düğümlerden biri sabit, diğeri hareketlidir. Bobinden bir elektrik geçtiğinde, manyetik bir alan oluşturur ve hareketli düğümü statik düğüme doğru çeker ve devre tamamlanır. Böylece, bobini çalıştırmak için sadece küçük voltaj uygulayarak, aslında yüksek voltajın hareket etmesi için devreyi tamamlayabiliriz. Ayrıca, statik düğüm bobine fiziksel olarak bağlı olmadığından, bir şeyler ters giderse bobine güç veren Mikrodenetleyicinin hasar görme olasılığı çok düşüktür.

Adım 4: Röleyi Ana Elektrik Kaynağıyla Güçlendirilen Ampul Tutucuya Bağlayın

Röleyi Ana Elektrik Kaynağından Güç Alan Ampul Yuvasına Bağlayın
Röleyi Ana Elektrik Kaynağından Güç Alan Ampul Yuvasına Bağlayın
Röleyi Ana Elektrik Kaynağından Güç Alan Ampul Yuvasına Bağlayın
Röleyi Ana Elektrik Kaynağından Güç Alan Ampul Yuvasına Bağlayın

Şimdi zor kısma, Röleyi Ana Elektrik kaynağından güç alan Ampul tutucuya bağlayacağız. Ama önce size direk güç kaynağı ile ışıkların nasıl açılıp kapatıldığı hakkında kısa bir fikir vermek istiyorum.

Şimdi, ampul ana beslemeye bağlandığında, bunu genellikle ampule iki kablo bağlayarak yaparız. tellerden biri “Nötr” tel, diğeri ise aslında akımı taşıyan “Negatif” teldir, ayrıca tüm devreye eklenen bir anahtarın AÇIK ve KAPALI mekanizmasını kontrol etmesi için vardır. Böylece, anahtar bağlandığında (veya AÇIK konuma getirildiğinde) akım ampul ve nötr telden geçerek devreyi tamamlar. Bu, ampulü AÇAR. Anahtar kapatıldığında devreyi keser ve ampul söner. Bunu açıklamak için küçük bir devre şeması:

Şimdi, deneyimiz için, devreyi kırmak ve rölenin anahtarlamasını kullanarak güç akışını kontrol etmek için "Negatif Tel"i rölemizden geçirmemiz gerekecek. Yani röle AÇIK konuma geçtiğinde devreyi tamamlamalı ve Ampul AÇIK veya tam tersi olmalıdır. Tam devre için aşağıdaki şemaya bakın.

Adım 5: I2C'yi Yapılandırma (Raspberry Pi)

I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)
I2C'yi Yapılandırma (Raspberry Pi)

Sudo raspi-config'i çalıştırın ve ARM çekirdeği ve linux çekirdeği için i2c desteğini yüklemek için istemleri izleyin

Arayüz Seçeneklerine Git

Adım 6: Programlamasız Doğrudan Kontrol (Raspberry Pi)

Kanal No.1 rölesini açın

i2cset -y 1 0x10 0x01 0xFF

Kanal No.1 rölesini kapatın

i2cset -y 1 0x10 0x01 0x00

Kanal No.2 rölesini açın

i2cset -y 1 0x10 0x02 0xFF

Kanal No.2 rölesini kapatın

i2cset -y 1 0x10 0x02 0x00

Kanal No.3 rölesini açın

i2cset -y 1 0x10 0x03 0xFF

Kanal No.3 rölesini kapatın

i2cset -y 1 0x10 0x03 0x00

Kanal No.4 rölesini açın

i2cset -y 1 0x10 0x04 0xFF

Kanal No.4 rölesini kapatın

i2cset -y 1 0x10 0x04 0x00

Adım 7: C Dilinde Program (Raspberry Pi)

Kaynak kodu oluşturun ve "relay.c" olarak adlandırın

#Dahil etmek

#Dahil etmek

#Dahil etmek

#define DEVCIE_ADDR 0x10

#define RELAY1 0x01

#define RÖLE2 0x02

#define RELAY3 0x03

#define RELAY4 0x04

#define AÇIK 0xFF

#define KAPALI 0x00

int ana(boşluk)

{

printf("C'de Röleleri Aç\n");

int fd;

int ben = 0;

fd = kablolamaPiI2CSetup(DEVICE_ADDR);

için(;;){

(i=1; i<=4; i++) için

{

printf("no.$d rölesini aç", i);

kablolamaPiI2CWriteReg8(fd, i, ON);

uyku(200);

printf("no.$d rölesini kapat", i);

kablolamaPiI2CWriteReg8(fd, i, KAPALI);

uyku(200);

}

}

0 döndür;

}

Derleyin

gcc röle.c -lwiringPi -o röle

Yürüt

./röle

Adım 8: Python'da Program(Raspberry Pi)

Aşağıdaki kodun Python 3 kullanılarak çalıştırılması ve smbus kitaplığının kurulması önerilir:

Adında bir dosya oluşturun: "relay.py" ve aşağıdaki kodu yapıştırın:

zamanı t olarak içe aktar

smbus'u içe aktar

ithalat sistemi

DEVICE_BUS = 1

DEVICE_ADDR = 0x10

veri yolu = smbus. SMBus(DEVICE_BUS)

Doğru iken:

denemek:

(1, 5) aralığında i için:

bus.write_byte_data(DEVICE_ADDR, i, 0xFF)

t.uyku(1)

bus.write_byte_data(DEVICE_ADDR, ben, 0x00)

t.uyku(1)

e olarak KeyboardInterrupt hariç:

print("Döngüden Çık")

sistem.çıkış()

* Kaydedin ve ardından python3 olarak çalıştırın:

python3 röle.py

Adım 9: Java'da Program (Raspberry Pi)

I2CRelay.java adlı yeni bir dosya oluşturun ve aşağıdaki kodu yapıştırın:

java.io. IOException'ı içe aktarın;

java.util. Arrays'i içe aktarın;

com.pi4j.io.i2c. I2CBus'u içe aktarın;

com.pi4j.io.i2c. I2CDevice'ı içe aktarın;

com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;

içe aktar com.pi4j.io.i2c. I2CFfactory. UnsupportedBusNumberException;

içe aktar com.pi4j.platform. PlatformAlreadyAssignedException;

com.pi4j.util. Console'u içe aktarın;

genel sınıf I2CRelay {

// rölenin kayıt adresi.

genel statik final int DOCKER_PI_RELAY_ADDR = 0x10;

// röle kanalı.

genel statik son bayt DOCKER_PI_RELAY_1 = (bayt)0x01;

genel statik son bayt DOCKER_PI_RELAY_2 = (bayt)0x02;

genel statik son bayt DOCKER_PI_RELAY_3 = (bayt)0x03;

genel statik son bayt DOCKER_PI_RELAY_4 = (bayt)0x04;

// Röle durumu

genel statik son bayt DOCKER_PI_RELAY_ON = (bayt)0xFF;

genel statik son bayt DOCKER_PI_RELAY_OFF = (bayt)0x00;

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

son Konsol konsolu = yeni Konsol();

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

I2CDevice cihazı = i2c.getDevice(DOCKER_PI_RELAY_ADDR);

console.println("Röleyi Açın!");

device.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);

thread.sleep(500);

console.println("Röleyi Kapatın!");

device.write(DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);

}

}

Önerilen: