İçindekiler:
- Gereçler
- Adım 1: DockerPi Serisi 4 Kanal Röle Kartı Hakkında Bilgi
- 2. Adım: Özellikler
- 3. Adım: Cihaz Adres Haritası
- Adım 4: Röleyi Ana Elektrik Kaynağıyla Güçlendirilen Ampul Tutucuya Bağlayın
- Adım 5: I2C'yi Yapılandırma (Raspberry Pi)
- Adım 6: Programlamasız Doğrudan Kontrol (Raspberry Pi)
- Adım 7: C Dilinde Program (Raspberry Pi)
- Adım 8: Python'da Program(Raspberry Pi)
- Adım 9: Java'da Program (Raspberry Pi)
Video: Işık Kontrol Sistemi: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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 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
- 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ı
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
Ş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)
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:
Neopiksel ve Pull Up Switch Kullanarak Işık - Işık Modülünü Çekin: 6 Adım (Resimli)
Neopiksel ve Pull Up Switch Kullanarak Işık - Işık Modülünü Çekin: Işık modülünün özellikleri Arduino Uno Hardware & internet Neopixel & Enformatik Okulu'ndan ödünç alınan güç kaynağı & Ürün Tasarımı Güç kaynağı ile kontrol edilen ışık modülü Tüm fonksiyonlar
Bluetooth Uzaktan Kumandalı Işık Anahtarı -- Güçlendirme. Işık Düğmesi Çalışıyor, Ekstra Yazma Yok.: 9 Adım (Resimli)
Bluetooth Uzaktan Kumandalı Işık Anahtarı -- Güçlendirme. Işık Anahtarı Hala Çalışıyor, Ekstra Yazma Yok.: Güncelleme 25 Kasım 2017 -- Bu projenin kilovatlarca yükü kontrol edebilen Yüksek Güçlü versiyonu için bkz. Bazı BLE panoları / yazılım yığınları şarküteri
Işık Sensörlü Hareket Aktif Işık Anahtarı: 5 Adım
Işık Sensörlü Hareketle Çalışan Işık Anahtarı: Hareketle etkinleştirilen ışık anahtarının hem evde hem de ofiste birçok uygulaması vardır. Ancak bu, bir ışık sensörü dahil etme avantajına sahiptir, böylece bu ışık yalnızca Gece saatlerinde tetiklenebilir
Müzikle Tepkisel Işık--Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Tepkisel Işık Nasıl Yapılır.: 5 Adım (Resimlerle)
Müzik Reaktif Işık||Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Reaktif Işığı Nasıl Yapılır.: Hey naber arkadaşlar, Bugün çok ilginç bir proje inşa edeceğiz.Bugün müzikle reaktif ışık oluşturacağız. aslında düşük frekanslı ses sinyali olan bas. Yapımı çok basit. Biz
Led Işık Kapağı / Emniyet Kapağı veya Işık: 4 Adım
Led Işık Kapağı / Emniyet Kapağı veya Işığı: bu yarışmaya girişlerimden biri bu fikri araç kutusu bölümünde h2on adlı bir nalgeen şişeleri için kapak ışığı olan bir maket dergisinden almıştım, bu yüzden satın almak yerine kendim dedim. 22 dolara birkaç dolardan daha azını kendim kazandım