תוכן עניינים:
- שלב 1: איך I2c עובד
- שלב 2:
- שלב 3: שימוש
- שלב 4: קרא ערך
- שלב 5: קרא Vale מהערוץ
- שלב 6: כתוב ערך
- שלב 7: תכונות נוספות
- שלב 8: דוגמאות תרשים חיבור
- שלב 9: תודה
וִידֵאוֹ: PCF8591 (מרחיב קלט/פלט אנלוגי i2c) שימוש קל ומהיר: 9 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
ספרייה לשימוש ב- i2c pcf8591 IC עם arduino ו- esp8266.
IC זה יכול לשלוט (עד 4) קלט אנלוגי ו/או פלט אנלוגי אחד כמו מדידת מתח, קריאת ערך תרמיסטור או דהיית LED.
יכול לקרוא ערך אנלוגי ולכתוב ערך אנלוגי עם 2 חוטים בלבד (מושלם ל- ESP-01).
אני מנסה לפשט את השימוש ב- IC הזה, עם מערכת פעולה מינימלית.
תוכל למצוא גירסה מעודכנת באתר שלי
שלב 1: איך I2c עובד
I2C עובד עם שני חוטים, SDA (קו נתונים) ו- SCL (קו שעון).
שני הקווים הללו פתוחים לניקוז, אך נמשכים עם נגדים.
בדרך כלל יש מאסטר אחד ועבד אחד או מספר עבדים על הקו, למרות שיכולים להיות מאסטרים מרובים, אבל נדבר על זה מאוחר יותר.
שני המאסטרים וגם העבדים יכולים לשדר או לקבל נתונים, ולכן מכשיר יכול להיות באחת מארבע המצבים הללו: שידור מאסטר, קבלת מאסטר, שידור עבדים, קבלת עבדים.
שלב 2:
תוכל למצוא את הספרייה שלי כאן.
להוריד.
לחץ על כפתור ההורדה בפינה השמאלית העליונה, שנה את שם התיקיה הלא דחוסה PCF8591.
בדוק שהתיקייה PCF8591 מכילה PCF8591.cpp ו- PCF8591.h.
מקם את תיקיית הספרייה PCF8591 שלך / ספריות / תיקייה.
ייתכן שיהיה עליך ליצור את תיקיית המשנה של הספריות אם זו הספרייה הראשונה שלך.
הפעל מחדש את IDE.
שלב 3: שימוש
בונה: עליך לעבור את כתובת i2c (כדי לבדוק את הכתובת השתמש במדריך זה I2cScanner)
PCF8591 (כתובת uint8_t);
עבור esp8266 אם אתה רוצה לציין SDA e SCL pin השתמש בזה:
PCF8591 (כתובת uint8_t, uint8_t sda, uint8_t scl);
שלב 4: קרא ערך
ל- IC כפי שאתה יכול לראות בתמונה יש 4 כניסות אנלוגיות ויציאה אנלוגית אחת.
אז כדי לקרוא את כל הקלט האנלוגי בהעברה אחת אתה יכול לעשות (הערך הוא מ -0 עד 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serial.print (ai.ain0); Serial.print (" -"); Serial.print (ai.ain1); Serial.print (" -"); Serial.print (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);
אם אתה רוצה לקרוא קלט או ערוץ אנלוגי יחיד:
int ana = pcf8591.analogRead (AIN0); // קרא אנלוגי 0
שלב 5: קרא Vale מהערוץ
ל- IC זה יש סוג קריאה מרובה ותוכלו להשתמש בקלט אנלוגי או בערוץ אנלוגי (כאשר אתם משתמשים בכניסה אנלוגית קריאה בודדת והערוץ נמצא בתמונות).
לדוגמה כדי לקרוא את הערך של ערוץ 0 בשתי קלט דיפרנציאלי עליך לבצע:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // קרא אנלוגי 0
שלב 6: כתוב ערך
אם אתה רוצה לכתוב ערך אנלוגי עליך לעשות (הערך הוא מ -0 עד 255):
pcf8591.analogWrite (128);
שלב 7: תכונות נוספות
תכונה נוספת היא קריאת מתח כתיבה: לצורך חישוב המתח עליך לעבור פרמטר כלשהו:
- microcontrollerReferenceVoltage: קבל מתח מהמתח של המיקרו -בקר (רק AVR ללא esp8266 עבור esp 3.3v קבוע)
- referenceVoltage: אם microcontrollerReferenceVoltage false קח ערך זה הפקודה היא:
void voltageWrite (value float, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
דוגמה לכך היא:
pcf8591.voltageWrite (2.7); // פלט 2.7 וולט
עיכוב (3000);
float ana0V = pcf8591.voltageRead (AIN0); // קריאת מתח מאנלוגי 0
Serial.println (ana0V);
שלב 8: דוגמאות תרשים חיבור
שלב 9: תודה
סדרת פרויקטים i2c (אוסף):
- חיישן לחות טמפרטורה
- מרחיב אנלוגי
- מרחיב דיגיטלי
- תצוגת אל סי די
מוּמלָץ:
PCB הארכת קלט/פלט רב תכליתי לשליטה בצינורות ניקסי רבים באמצעות I2C: 9 שלבים (עם תמונות)
צדדי I/O Extender PCB לשליטה בצינורות ניקסי רבים באמצעות I2C: נכון לעכשיו יש עניין רב בהחייאת צינורות ניסי וינטאג '. הרבה ערכות שעון ניקסיי זמינות בשוק. נראה היה אפילו טרייד ער על מלאי ישן של צינורות ניקי רוסיים. גם כאן ב- Instructables שם
Raspberry Pi - PCA9536 הרחבת קלט/פלט פייתון הדרכה: 4 שלבים
Raspberry Pi-PCA9536 הרחבת קלט/פלט Python: מדריך PCA9536 הוא מכשיר CMOS בעל 8 פינים המספק 4 סיביות הרחבה של כניסת/פלט מקבילה למטרה כללית ליישומי I2C-bus/SMBus. הוא מורכב מרשם תצורות של 4 סיביות כדי לשרת את מטרת הבחירה של קלט או פלט, 4 סיביות
DHT12 (i2c חיישן לחות וטמפרטורה זולים), שימוש קל ומהיר: 14 שלבים
DHT12 (חיישן לחות וטמפרטורה זולים i2c), שימוש קל ומהיר: אתה יכול למצוא עדכונים ואחרים באתר שלי https://www.mischianti.org/2019/01/01/dht12-library-en/. אני אוהב חיישן זה ניתן להשתמש עם 2 חוטים (פרוטוקול i2c), אבל אני אוהב את הזול. זוהי ספריית Arduino ו- esp8266 עבור סדרת DHT12
Raspberry Pi - PCA9536 הרחבת קלט/פלט Java הדרכה: 4 שלבים
Raspberry Pi-PCA9536 כניסת/פלט הרחבת Java הדרכה: ה- PCA9536 הוא מכשיר CMOS בעל 8 פינים המספק 4 סיביות של הרחבת קלט/פלט מקבילי למטרות כלליות ליישומי I2C-bus/SMBus. הוא מורכב מרשם תצורות של 4 סיביות כדי לשרת את מטרת הבחירה של קלט או פלט, 4 סיביות
Raspberry Pi GPIO מעגלים: שימוש בחיישן אנלוגי LDR ללא ADC (ממיר אנלוגי לדיגיטלי): 4 שלבים
Raspberry Pi GPIO מעגלים: שימוש בחיישן אנלוגי LDR ללא ADC (ממיר אנלוגי לדיגיטלי): במדריך הקודם שלנו, הראנו לך כיצד תוכל לקשר את סיכות ה- GPIO של ה- Raspberry Pi שלך ללדים ולמתגים וכיצד סיכות GPIO יכולות להיות גבוהות או נמוך. אבל מה אם אתה רוצה להשתמש ב- Raspberry Pi שלך עם חיישן אנלוגי? אם נרצה להשתמש ב