תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
שלום, שלום רב.. !!
אני (Somanshu Choudhary) בשם מיזמי הטכנולוגיה של Dcube הולכים למדוד טמפרטורה באמצעות Arduino nano, זהו אחד היישומים של פרוטוקול I2C לקריאת נתונים אנלוגיים של חיישן הטמפרטורה TMP-112.
שלב 1: סקירה כללית
- TMP-112 הוא חיישן טמפרטורה.
- קישור DATASHEET:
שלב 2: מה שאתה צריך / קישורים
- ארדואינו ננו
- מגן I²C עבור Arduino Nano
- כבל USB מסוג A למיקרו מסוג B 6 רגליים ארוכות
- כבל I²C
- TMP112 חיישן טמפרטורה I²C ±.5 ° C מודול מיני 12 סיביות I²C
שלב 3: תרשים מעגלים
שלב 4: תכנות
#לִכלוֹל
הגדרת חלל ()
{
// כתובת I2C של TMP112
#הגדר TMP_ADDR 0x48
// הצטרף לאוטובוס I2c כמאסטר
Wire.begin ();
// התחל תקשורת טורית
Serial.begin (9600);
// התחל שידור
שידור Wire.beginTransmission (TMP_ADDR);
// בחר ENABLE register
Wire.write (0x01);
// בחר פעולה רגילה
Wire.write (0x60A0);
// סיום שידור ושחרור אוטובוס I2C
Wire.endTransmission ();
}
לולאת חלל ()
{
// התחל שידור
שידור Wire.beginTransmission (TMP_ADDR);
// בחר רישומי נתונים
Wire.write (0X00);
// סיום השידור
Wire.endTransmission ();
עיכוב (500);
// בקש 2 בתים, Msb קודם
Wire.requestFrom (TMP_ADDR, 2);
// קרא את שני הבייטים
בעוד (Wire.available ())
{
// להסיר אשפה
Serial.flush ();
int msb = Wire.read ();
int lsb = Wire.read ();
Wire.endTransmission ();
// המרת נתונים בערכים גולמיים
int rawtmp = msb << 8 | lsb;
int value = rawtmp >> 4;
ans כפול = ערך * 0.0625;
// פלט הדפסה
Serial.print ("ערך צלזיוס:");
Serial.println (ans);
}
}
שלב 5:
עשיתי כמיטב יכולתי לעשות את שלך;-)
לשאלות נוספות אתה מוזמן לבקר באתר שלנו:
www.dcubetechnologies.com