สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - PCA9536 บทช่วยสอน Python อินพุต/เอาต์พุต Expander: 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 โดยใช้รหัส python
ขั้นตอนที่ 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
นี่คือลิงค์
เราใช้ไลบรารี SMBus สำหรับโค้ด python ขั้นตอนในการติดตั้ง SMBus บน raspberry pi ได้อธิบายไว้ที่นี่:
pypi.python.org/pypi/smbus-cffi/0.5.1
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
# จัดจำหน่ายด้วยใบอนุญาตอิสระ
# ใช้งานตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
#PCA9536
# รหัสนี้ออกแบบมาเพื่อทำงานกับ PCA9536_I2CIO I2C Mini Module #
นำเข้า smbus
เวลานำเข้า
# รับรถบัส I2C
รถบัส = smbus. SMBus(1)
# PCA9536 ที่อยู่ 0x41 (65)
# เลือกการลงทะเบียนการกำหนดค่า 0x03 (03)
# 0xFF(255) พินทั้งหมดกำหนดค่าเป็นอินพุต
bus.write_byte_data(0x41, 0x03, 0xFF)
# ส่งออกไปยังหน้าจอ
พิมพ์ "สถานะพินทั้งหมดอยู่ในระดับสูง"
เวลานอน(0.5)
# PCA9536 ที่อยู่ 0x41 (65)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00), 1 byte
ข้อมูล = bus.read_byte_data(0x41, 0x00)
# แปลงข้อมูลเป็น 4 บิต
ข้อมูล = (ข้อมูล & 0x0F)
สำหรับฉันในช่วง (0, 4):
ถ้า (ข้อมูล & (2 ** i)) == 0:
พิมพ์ "I/O Pin %d State is LOW" %i
อื่น:
พิมพ์ "I/O Pin %d State is HIGH" %i
เวลานอน(0.5)
ขั้นตอนที่ 4: การใช้งาน:
PCA9536 สามารถใช้เป็นตัวขยาย I/O ได้ ให้วิธีแก้ปัญหาง่ายๆ เมื่อต้องการอินพุต/เอาต์พุตเพิ่มเติม มักใช้ในระบบที่ต้องการขยายสำหรับสวิตช์ไฟ ACPI, เซ็นเซอร์, ปุ่มกด, ไฟ LED, พัดลม ฯลฯ
แนะนำ:
Raspberry Pi - TMP007 บทช่วยสอน Python ของเซ็นเซอร์เทอร์โมไพล์อินฟราเรด: 4 ขั้นตอน
Raspberry Pi - TMP007 Infrared Thermopile Sensor Python Tutorial: TMP007 เป็นเซ็นเซอร์อินฟราเรด thermopile ซึ่งวัดอุณหภูมิของวัตถุโดยไม่ต้องสัมผัสกับมัน พลังงานอินฟราเรดที่ปล่อยออกมาจากวัตถุในฟิลด์เซ็นเซอร์จะถูกดูดซับโดยเทอร์โมไพล์ที่รวมอยู่ในเซ็นเซอร์ เทอร์โมพิล
การควบคุม PWM แบบ Bluetooth 6 เอาต์พุต = 800W: 5 ขั้นตอน
Bluetooth PWM Control 6 Outputs = 800W: วัตถุประสงค์ของโครงการคือเพื่อให้คุณควบคุมการโหลดประเภทใดก็ได้ด้วย Bluetooth แบบรางโทรศัพท์ Android ที่ง่ายและรวดเร็ว โหลดอาจเป็นมอเตอร์ ไฟ LED แถบ ไฟ โซลินอยด์ ปั๊ม และโหลดประเภท R, L หรือ C อื่นๆ นอกจากนี้ ขอบคุณ mul ของ POWER SHIELD
VMix Surface Control สำหรับ 4 อินพุต - Arduino: 7 ขั้นตอน
VMix Surface Control สำหรับ 4 อินพุต - Arduino: สร้าง vMix Surface Control ของคุณเองสำหรับ 4 อินพุตโดยใช้ Arduino Uno / nano ch340 การสื่อสารระหว่าง vMix และ arduinos ผ่าน Hairless MIDI & LoopMIDIIts ง่าย เพียงดาวน์โหลดไฟล์และอัปโหลดไปยัง Arduino
อินพุต MP3: 5 ขั้นตอน
อินพุต MP3: เรียนรู้วิธีสร้างอินพุต MP3 บนวิทยุ Ford OEM ในราคาเพียง $5.00 หรือน้อยกว่า
เครื่องเล่น MP3 "อินพุต" สำหรับเครื่องเสียงรถยนต์: 8 ขั้นตอน
เครื่องเล่น MP3 "อินพุต" สำหรับเครื่องเสียงรถยนต์: คำแนะนำนี้ได้รับแรงบันดาลใจจาก https://www.instructables.com/id/Add-an-auxiliary-MP3Ipod-input-to-your-cars-st/?ALLSTEPS ขอบคุณมาก "aka_bigred" ซึ่งเป็นผู้เขียนต้นฉบับ mod นี้จะช่วยให้คุณเพิ่มแจ็คอินพุตเครื่องเล่น MP3 ให้กับ y