תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
ה- PCA9536 הוא מכשיר CMOS בעל 8 פינים המספק 4 סיביות הרחבה של כניסת/פלט מקבילה למטרות כלליות ליישומי I2C-bus/SMBus. הוא מורכב מרשם תצורה של 4 סיביות לשרת את מטרת הבחירה של קלט או פלט, רגיסט יציאת קלט של 4 סיביות, מאגר יציאות פלט של 4 סיביות ומאגר היפוך קוטביות של 4 סיביות פעיל HIGH או פעיל LOW פעיל. להלן ההדגמה שלה עם פי הפטל באמצעות קוד פייתון.
שלב 1: מה שאתה צריך..
1. פטל פטל
2. PCA9536
3. כבל I²C
4. מגן I²C עבור פטל פטל
5. כבל אתרנט
שלב 2: חיבורים:
קח מגן I2C לפאי פטל ודחוף אותו בעדינות מעל סיכות ה- gpio של פטל פאי.
לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן PCA9536 והקצה השני למגן I2C.
חבר גם את כבל ה- Ethernet ל- pi או שאתה יכול להשתמש במודול WiFi.
חיבורים מוצגים בתמונה למעלה.
שלב 3: קוד:
ניתן להוריד את קוד הפיתון ל- PCA9536 ממאגר github שלנו- חנות DCUBE.
הנה הקישור
השתמשנו בספריית 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)
# פלט למסך
- "כל מצב הפינים גבוה"
time.sleep (0.5)
כתובת PCA9536, 0x41 (65)
# קרא את הנתונים בחזרה מ 0x00 (00), 1 בתים
data = bus.read_byte_data (0x41, 0x00)
# המר את הנתונים ל -4 סיביות
data = (נתונים & 0x0F)
עבור i בטווח (0, 4):
אם (נתונים & (2 ** i)) == 0:
הדפס "פין I/O %d המצב נמוך" %i
אחר:
- הדפס "I/O Pin %d מצב הוא גבוה" %i
time.sleep (0.5)
שלב 4: יישומים:
ניתן להשתמש ב- PCA9536 כמרחיב קלט/פלט. הוא מספק פתרון פשוט כאשר יש צורך בקלט/פלט נוספים. בדרך כלל הוא מועסק במערכות הדורשות הרחבה עבור מתגי מתח ACPI, חיישנים, כפתורי לחיצה, נוריות LED, מאווררים וכו '.