2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
AD7416ARZ הוא חיישן טמפרטורה של 10 ביט עם ארבעה ממירים אנלוגיים לדיגיטליים וחיישן טמפרטורה משולב בתוכו. ניתן לגשת לחיישן הטמפרטורה בחלקים באמצעות ערוצי מרבב. חיישן טמפרטורה דיוק גבוה זה הפך לסטנדרט תעשייתי מבחינת הצורה, הגורם והאינטליגנציה, המספק אותות חיישן מכוילים, ליניאריים בפורמט I2C דיגיטלי.
במדריך זה הודגם הממשק של מודול החיישנים AD7416ARZ עם פוטון חלקיקים. כדי לקרוא את ערכי הטמפרטורה, השתמשנו בארדואינו עם מתאם I2c. מתאם I2C זה הופך את החיבור למודול החיישן לקל ואמין יותר.
שלב 1: חומרה נדרשת:
החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:
1. AD7416ARZ
2. פוטון חלקיקים
3. כבל I2C
4. מגן I2C לפוטון חלקיקים
שלב 2: חיבור חומרה:
סעיף חיבור החומרה מסביר בעצם את חיבורי החיווט הנדרשים בין החיישן לפוטון החלקיקים. הבטחת חיבורים נכונים היא ההכרח הבסיסי בעת עבודה על כל מערכת לתפוקה הרצויה. אז, החיבורים הנדרשים הם כדלקמן:
ה- AD7416ARZ יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.
הלוח מחוץ לקופסה מוגדר לממשק I2C, ולכן אנו ממליצים להשתמש בחיבור זה אם אתה אגנוסטי אחרת.
כל מה שאתה צריך זה ארבעה חוטים! רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.
קשרים אלה מודגמים בתמונות למעלה.
שלב 3: קוד למדידת טמפרטורה:
נתחיל עם קוד החלקיקים עכשיו.
בעת השימוש במודול החיישנים עם החלקיק, אנו כוללים את ספריית application.h ו- spark_wiring_i2c.h. הספרייה "application.h" ו- spark_wiring_i2c.h מכילה את הפונקציות המאפשרות תקשורת i2c בין החיישן לחלקיק.
קוד החלקיקים כולו ניתן להלן לנוחות המשתמש:
#לִכלוֹל
#לִכלוֹל
// כתובת AD7416ARZ I2C היא 0x48 (72)
#define Addr 0x48
צף cTemp = 0.0, fTemp = 0.0;
int temp = 0;
הגדרת חלל ()
{
// הגדר משתנה
Particle.variable ("i2cdevice", "AD7416ARZ");
Particle.variable ("cTemp", cTemp);
// אתחל תקשורת I2C כמאסטר
Wire.begin ();
// אתחל תקשורת טורית, הגדר קצב שידור = 9600
Serial.begin (9600);
עיכוב (300);
}
לולאת חלל ()
{
נתוני int ללא חתום [2];
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רישום נתונים
Wire.write (0x00);
// עצור את שידור I2C
Wire.endTransmission ();
// בקש 2 בתים של נתונים
Wire.requestFrom (Addr, 2);
// קרא 2 בתים של נתונים
// זמני msb, temp lsb
אם (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// המר את הנתונים ל -12 סיביות
// המר את הנתונים ל -10 סיביות
temp = ((data [0] * 256) + (data [1] & 0xC0)) / 64;
אם (טמפ '> 511)
{
טמפ ' -= 1024;
}
cTemp = טמפ ' * 0.25;
fTemp = (cTemp * 1.8) + 32;
// נתוני פלט ללוח המחוונים
Particle.publish ("טמפרטורה בסלסיוס:", מחרוזת (cTemp));
Particle.publish ("טמפרטורה בפרנהייט:", מחרוזת (fTemp));
עיכוב (1000);
}
הפונקציה Particle.variable () יוצרת את המשתנים לאחסון הפלט של החיישן והפונקציה Particle.publish () מציגה את הפלט בלוח המחוונים של האתר.
פלט החיישן מוצג בתמונה למעלה לעיונך.
שלב 4: יישומים:
AD7416ARZ הוא חיישן טמפרטורה של 10 סיביות עם ארבעה ממיר אנלוגי לדיגיטלי בעל ערוץ יחיד שיכול לבצע את פעולת רכישת הנתונים בעזרת ניטור טמפרטורת הסביבה. זה יכול להיות מועסק גם במערכות בקרת תהליכים תעשייתיים, יישומי טעינת סוללות לרכב ומחשבים אישיים.