สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - PCA9536 ตัวขยายอินพุต/เอาต์พุต Java บทช่วยสอน: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
PCA9536 เป็นอุปกรณ์ CMOS 8 พินที่ให้การขยายอินพุต/เอาต์พุตแบบขนานวัตถุประสงค์ทั่วไป (GPIO) จำนวน 4 บิตสำหรับแอปพลิเคชัน I2C-bus/SMBus ประกอบด้วยรีจิสเตอร์การกำหนดค่า 4 บิตเพื่อรองรับวัตถุประสงค์ของการเลือกอินพุตหรือเอาต์พุต รีจิสเตอร์พอร์ตอินพุต 4 บิต รีจิสเตอร์พอร์ตเอาต์พุต 4 บิต และการลงทะเบียนการผกผันของขั้ว 4 บิตที่เปิดใช้งาน HIGH หรือการทำงาน LOW ที่ใช้งานอยู่ นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส java
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
1. ราสเบอร์รี่ปี่
2. PCA9536
ลิงค์:
3. สายเคเบิล I²C
ลิงค์:
4. I²C Shield สำหรับ Raspberry Pi
ลิงค์:
5. สายเคเบิลอีเธอร์เน็ต
ขั้นตอนที่ 2: การเชื่อมต่อ:
ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi
จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ PCA9536 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C
เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้
การเชื่อมต่อแสดงในภาพด้านบน
ขั้นตอนที่ 3: รหัส:
รหัสจาวาสำหรับ PCA9536 สามารถดาวน์โหลดได้จากที่เก็บ github ของเรา - Dcube Store
นี่คือลิงค์สำหรับสิ่งเดียวกัน:
github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java
เราใช้ไลบรารี pi4j สำหรับโค้ด java ขั้นตอนในการติดตั้ง pi4j บน raspberry pi ได้อธิบายไว้ที่นี่:
pi4j.com/install.html
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
// แจกจ่ายด้วยใบอนุญาตอิสระ
// ใช้มันตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
// PCA9536
// รหัสนี้ออกแบบมาเพื่อทำงานกับ PCA9536_I2CIO I2C Mini Module ที่มีจำหน่ายจาก ControlEverything.com
//
นำเข้า com.pi4j.io.i2c. I2CBus;
นำเข้า com.pi4j.io.i2c. I2CDevice;
นำเข้า com.pi4j.io.i2c. I2CFactory;
นำเข้า java.io. IOException;
คลาสสาธารณะ PCA9536
{
โมฆะคงที่สาธารณะหลัก (สตริง args ) พ่นข้อยกเว้น
{
// สร้างบัส I2C
I2CBus บัส = I2CFactory.getInstance(I2CBus. BUS_1);
// รับอุปกรณ์ I2C ที่อยู่ PCA9536 I2C คือ 0x41 (65)
อุปกรณ์ I2CDevice = Bus.getDevice(0x41);
// เลือกการตั้งค่าการลงทะเบียน
// พินทั้งหมดกำหนดค่าเป็นอินพุต
อุปกรณ์.write(0x03, (ไบต์)0xFF);
// ส่งออกไปยังหน้าจอ
System.out.printf("สถานะพินทั้งหมดสูง %n");
เธรดการนอนหลับ (500);
// อ่านข้อมูล 1 ไบต์
ไบต์ data = ไบต์ใหม่[1];
data[0] = (ไบต์)device.read(0x00);
// แปลงข้อมูลเป็น 4 บิต
int data1 = (ข้อมูล[0] & 0x0F);
สำหรับ (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, พัดลม ฯลฯ
แนะนำ:
Raspberry Pi - TSL45315 บทช่วยสอน Java Ambient Light Sensor: 4 ขั้นตอน
Raspberry Pi - TSL45315 Ambient Light Sensor Java Tutorial: TSL45315 เป็นเซ็นเซอร์วัดแสงรอบข้างแบบดิจิตอล มันใกล้เคียงกับการตอบสนองของสายตามนุษย์ภายใต้สภาพแสงที่หลากหลาย อุปกรณ์มีเวลาในการรวมที่เลือกได้สามครั้งและให้เอาต์พุต lux 16 บิตโดยตรงผ่านอินเทอร์เฟซบัส I2C อุปกรณ์ร่วม
การควบคุม PWM แบบ Bluetooth 6 เอาต์พุต = 800W: 5 ขั้นตอน
Bluetooth PWM Control 6 Outputs = 800W: วัตถุประสงค์ของโครงการคือเพื่อให้คุณควบคุมการโหลดประเภทใดก็ได้ด้วย Bluetooth แบบรางโทรศัพท์ Android ที่ง่ายและรวดเร็ว โหลดอาจเป็นมอเตอร์ ไฟ LED แถบ ไฟ โซลินอยด์ ปั๊ม และโหลดประเภท R, L หรือ C อื่นๆ นอกจากนี้ ขอบคุณ mul ของ POWER SHIELD
Raspberry Pi - TMP100 Temperature Sensor Java บทช่วยสอน: 4 ขั้นตอน
Raspberry Pi - TMP100 Temperature Sensor Java Tutorial: TMP100 ความแม่นยำสูง, พลังงานต่ำ, โมดูล I2C MINI เซ็นเซอร์อุณหภูมิดิจิตอล TMP100 เหมาะสำหรับการวัดอุณหภูมิแบบขยายเวลา อุปกรณ์นี้มีความแม่นยำ ±1°C โดยไม่ต้องสอบเทียบหรือปรับสภาพสัญญาณส่วนประกอบภายนอก เขา
Raspberry Pi TMP112 Temperature Sensor Java บทช่วยสอน: 4 ขั้นตอน
Raspberry Pi TMP112 อุณหภูมิ Sensor Java Tutorial: TMP112 ความแม่นยำสูง, พลังงานต่ำ, โมดูล I2C MINI เซ็นเซอร์อุณหภูมิดิจิตอล TMP112 เหมาะสำหรับการวัดอุณหภูมิแบบขยาย อุปกรณ์นี้มีความแม่นยำ ±0.5°C โดยไม่ต้องสอบเทียบหรือปรับสภาพสัญญาณส่วนประกอบภายนอก
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java บทช่วยสอน: 4 ขั้นตอน
Raspberry Pi A1332 Precision Hall - เซ็นเซอร์มุมเอฟเฟกต์ บทช่วยสอน Java: A1332 เป็นเซ็นเซอร์ตำแหน่งมุมแม่เหล็กที่ตั้งโปรแกรมได้ความละเอียดสูง 360 °แบบไม่ต้องสัมผัส ออกแบบมาสำหรับระบบดิจิทัลโดยใช้อินเทอร์เฟซ I2C สร้างขึ้นจากเทคโนโลยี Circular Vertical Hall (CVH) และสัญญาณไมโครโปรเซสเซอร์ที่ตั้งโปรแกรมได้