Სარჩევი:

Raspberry Pi - PCA9536 შეყვანის/გამომავალი Expander Python სამეურვეო პროგრამა: 4 ნაბიჯი
Raspberry Pi - PCA9536 შეყვანის/გამომავალი Expander Python სამეურვეო პროგრამა: 4 ნაბიჯი

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

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

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

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

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

1. ჟოლო პი

2. PCA9536

3. I²C კაბელი

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

5. Ethernet კაბელი

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

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

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

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

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

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

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

კოდი
კოდი

PCA9536– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი github საცავიდან- DCUBE Store.

აქ არის ბმული

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

pypi.python.org/pypi/smbus-cffi/0.5.1

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

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

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

# PCA9536

# ეს კოდი შექმნილია PCA9536_I2CIO I2C მინი მოდულთან მუშაობისთვის #

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 ბაიტი

მონაცემები = bus.read_byte_data (0x41, 0x00)

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

მონაცემები = (მონაცემები & 0x0F)

მე დიაპაზონში (0, 4):

თუ (მონაცემები & (2 ** ი)) == 0:

დაბეჭდე "I/O Pin %d State is LOW" %i

სხვა:

ბეჭდვა "I/O Pin %d მდგომარეობა არის მაღალი" %i

დრო. ძილი (0.5)

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

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

გირჩევთ: