İçindekiler:
Video: Raspberry Pi - PCA9536 Giriş/Çıkış Genişletici Java Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
PCA9536, I2C-bus/SMBus uygulamaları için 4 bit Genel Amaçlı paralel Giriş/Çıkış (GPIO) genişletmesi sağlayan 8 pinli bir CMOS cihazıdır. Giriş veya çıkış seçimi amacına hizmet etmek için 4 bitlik bir Yapılandırma kaydından, 4 bitlik Giriş Bağlantı Noktası kaydından, 4 bitlik Çıkış Bağlantı Noktası kaydından ve 4 bitlik Polarite Ters Çevirme kaydından aktif YÜKSEK veya aktif DÜŞÜK işlemden oluşur. İşte java kodunu kullanarak ahududu pi ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. PCA9536
BAĞLANTI:
3. I²C Kablosu
BAĞLANTI:
4. Raspberry Pi için I²C Kalkanı
BAĞLANTI:
5. Ethernet Kablosu
Adım 2: Bağlantılar:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu PCA9536 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
PCA9536 için java kodu github depomuzdan indirilebilir- Dcube Store
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java
Java kodu için pi4j kütüphanesini kullandık, pi4j'yi ahududu pi'ye kurma adımları burada açıklanmıştır:
pi4j.com/install.html
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
// Özgür irade lisansıyla dağıtılır.
// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
// PCA9536
// Bu kod, ControlEverything.com'da bulunan PCA9536_I2CIO I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
//
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;
java.io. IOException'ı içe aktarın;
genel sınıf PCA9536
{
public static void main(String args) İstisna atar
{
// I2C veri yolu oluştur
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C cihazını al, PCA9536 I2C adresi 0x41(65)
I2CDevice cihazı = Bus.getDevice(0x41);
// Yapılandırma kaydını seç
// Giriş olarak konfigüre edilen tüm pinler
device.write(0x03, (bayt)0xFF);
// Ekrana çıktı
System.out.printf("Tüm Pinlerin Durumu YÜKSEK %n");
thread.sleep(500);
// 1 bayt veri oku
bayt veri = yeni bayt[1];
data[0] = (bayt)device.read(0x00);
// Veriyi 4 bit'e çevir
int veri1 = (veri[0] & 0x0F);
for(int i=0; i<4; i++)
{
if((data1 & ((int)Math.pow(2, i))) == 0)
{
System.out.printf("G/Ç Pin %d Durumu DÜŞÜK %n", i);
}
Başka
{
System.out.printf("G/Ç Pin %d Durumu YÜKSEK %n", i);
thread.sleep(500);
}
}
}
}
Adım 4: Uygulamalar:
PCA9536, bir G/Ç genişletici olarak kullanılabilir. Ek giriş/çıkış gerektiğinde basit bir çözüm sağlar. Genellikle ACPI güç anahtarları, sensörler, basmalı düğmeler, LED'ler, fanlar vb. için genişletme gerektiren sistemlerde kullanılır.
Önerilen:
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: TMD26721, tek bir 8 pimli yüzeye montaj modülünde eksiksiz bir yakınlık algılama sistemi ve dijital arayüz mantığı sağlayan bir kızılötesi dijital yakınlık dedektörüdür. Yakınlık algılama, gelişmiş sinyal-gürültü ve kesinlik. Profesyonel
Raspberry Pi - ADXL345 3-Eksen İvmeölçer Java Eğitimi: 4 Adım
Raspberry Pi - ADXL345 3 Eksenli İvmeölçer Java Eğitimi: ADXL345, ±16 g'a kadar yüksek çözünürlüklü (13-bit) ölçüme sahip küçük, ince, ultra düşük güçlü, 3 eksenli bir ivmeölçerdir. Dijital çıkış verileri, 16 bitlik ikili tamamlayıcı olarak biçimlendirilir ve I2 C dijital arabirimi aracılığıyla erişilebilir. Bunu ölçer
Raspberry Pi - TSL45315 Ortam Işığı Sensörü Java Eğitimi: 4 Adım
Raspberry Pi - TSL45315 Ortam Işığı Sensörü Java Eğitimi: TSL45315 bir dijital ortam ışığı sensörüdür. Çeşitli aydınlatma koşulları altında insan gözünün tepkisine yaklaşır. Cihazların seçilebilir üç entegrasyon süresi vardır ve bir I2C veri yolu arabirimi aracılığıyla doğrudan 16 bit lüks çıkışı sağlar. Cihaz ortak
Raspberry Pi MCP9803 Sıcaklık Sensörü Java Eğitimi: 4 Adım
Raspberry Pi MCP9803 Sıcaklık Sensörü Java Eğitimi: MCP9803, 2 telli yüksek hassasiyetli bir sıcaklık sensörüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. Bu sensör, son derece gelişmiş çok bölgeli sıcaklık izleme sistemi için uygundur. Buraya
Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: 4 Adım
Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: MCP9805 bir bellek modülü dijital sıcaklık sensörüdür. Sıcaklık algılama uygulamaları için esneklik sağlayan kullanıcı tarafından programlanabilir kayıtlarla birleştirilmiştir. Bu sensör, mobil platform bellek modülü sistemine dahil edilmek üzere tasarlanmıştır