Სარჩევი:

Raspberry Pi - PCA9536 შეყვანის/გამოყვანის გაფართოება Java სამეურვეო პროგრამა: 4 ნაბიჯი
Raspberry Pi - PCA9536 შეყვანის/გამოყვანის გაფართოება Java სამეურვეო პროგრამა: 4 ნაბიჯი

ვიდეო: Raspberry Pi - PCA9536 შეყვანის/გამოყვანის გაფართოება Java სამეურვეო პროგრამა: 4 ნაბიჯი

ვიდეო: Raspberry Pi - PCA9536 შეყვანის/გამოყვანის გაფართოება Java სამეურვეო პროგრამა: 4 ნაბიჯი
ვიდეო: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, ივნისი
Anonim
Image
Image

PCA9536 არის 8 პინიანი CMOS მოწყობილობა, რომელიც უზრუნველყოფს ზოგადი დანიშნულების პარალელურად შეყვანის/გამომავალი (GPIO) გაფართოების 4 ბიტს I2C-bus/SMBus პროგრამებისთვის. იგი შედგება 4 ბიტიანი კონფიგურაციის რეგისტრისაგან, რომელიც ემსახურება შეყვანის ან გამომავალი შერჩევის მიზანს, 4 ბიტიანი შეყვანის პორტის რეგისტრს, 4 ბიტიან გამომავალ პორტის რეგისტრს და 4 ბიტიან პოლარობის ინვერსიის რეგისტრს, რომელიც აქტიურია მაღალი ან აქტიური დაბალი ოპერაცია. აქ არის მისი დემონსტრირება ჟოლოს pi გამოყენებით java კოდი.

ნაბიჯი 1: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!

1. ჟოლო პი

2. PCA9536

ბმული:

3. I²C კაბელი

ბმული:

4. I²C ფარი ჟოლოს პიისთვის

ბმული:

5. Ethernet კაბელი

ნაბიჯი 2: კავშირები:

კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები

აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაუსვით ჟოლოს პი გპიოს ქინძისთავებზე.

შემდეგ დააკავშირეთ I2C კაბელის ერთი ბოლო PCA9536 სენსორთან და მეორე ბოლო I2C ფარსთან.

ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.

კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.

ნაბიჯი 3: კოდი:

კოდი
კოდი

PCA9536– ის java კოდი შეგიძლიათ ჩამოტვირთოთ ჩვენი github საცავიდან- Dcube Store

აქ არის იგივე ბმული:

github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java

ჩვენ გამოვიყენეთ pi4j ბიბლიოთეკა java კოდისთვის, ჟოლოს პიზე pi4j– ის დაყენების ნაბიჯები აღწერილია აქ:

pi4j.com/install.html

თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:

// განაწილებულია თავისუფალი ნების ლიცენზიით.

// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.

// PCA9536

// ეს კოდი შექმნილია PCA9536_I2CIO I2C მინი მოდულთან მუშაობისთვის, რომელიც ხელმისაწვდომია ControlEverything.com– დან.

//

იმპორტი com.pi4j.io.i2c. I2CBus;

იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;

იმპორტი com.pi4j.io.i2c. I2C ქარხანა;

იმპორტი java.io. IOException;

საჯარო კლასი PCA9536

{

public static void main (სიმებიანი args ) ისვრის გამონაკლისს

{

// I2C ავტობუსის შექმნა

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

// მიიღეთ I2C მოწყობილობა, PCA9536 I2C მისამართი არის 0x41 (65)

I2CD მოწყობილობის მოწყობილობა = Bus.getDevice (0x41);

// კონფიგურაციის რეგისტრის არჩევა

// ყველა ქინძისთავები კონფიგურირებულია შეყვანის სახით

device.write (0x03, (ბაიტი) 0xFF);

// გამოტანა ეკრანზე

System.out.printf ("ყველა ქინძისთავები არის მაღალი %n");

თემა. ძილი (500);

// მონაცემების 1 ბაიტის წაკითხვა

ბაიტი მონაცემები = ახალი ბაიტი [1];

მონაცემები [0] = (ბაიტი) მოწყობილობა. წაკითხვა (0x00);

// გადააკეთეთ მონაცემები 4 ბიტად

int data1 = (მონაცემები [0] & 0x0F);

for (int i = 0; i <4; i ++)

{

if ((data1 & ((int) Math.pow (2, i))) == 0)

{

System.out.printf ("I/O Pin %d State is LOW %n", i);

}

სხვა

{

System.out.printf ("I/O Pin %d State is HIGH %n", i);

თემა. ძილი (500);

}

}

}

}

ნაბიჯი 4: პროგრამები:

PCA9536 შეიძლება გამოყენებულ იქნას როგორც I/O გაფართოება. ის იძლევა მარტივ გადაწყვეტას, როდესაც საჭიროა დამატებითი შეყვანა/გამომავალი. ჩვეულებრივ, ის გამოიყენება სისტემებში, რომლებიც საჭიროებენ გაფართოებას ACPI დენის კონცენტრატორებისთვის, სენსორებისთვის, ღილაკებისთვის, LED- ებისთვის, ვენტილატორებისთვის და ა.

გირჩევთ: