תוכן עניינים:

מדידת שדה מגנטי באמצעות HMC5883 ופוטון חלקיקים: 4 שלבים
מדידת שדה מגנטי באמצעות HMC5883 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת שדה מגנטי באמצעות HMC5883 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת שדה מגנטי באמצעות HMC5883 ופוטון חלקיקים: 4 שלבים
וִידֵאוֹ: Güneş'in Etkileyici Hikayesi | Yıldızımızı Yakından Tanıyalım 2024, יולי
Anonim
Image
Image

HMC5883 הוא מצפן דיגיטלי המיועד לחישה מגנטית בשדה נמוך. למכשיר זה טווח שדות מגנטי רחב של +/- 8 Oe וקצב פלט של 160 הרץ. חיישן HMC5883 כולל נהגים אוטומטיים של רצועות הפחתה, ביטול קיזוז ו- ADC של 12 סיביות המאפשר דיוק כיוון מצפן של 1 עד 2 מעלות. כל מודולי המיני I²C מיועדים להפעלה ב 5VDC.

במדריך זה אנו הולכים להסביר את העבודה המפורטת של HMC5883 עם פוטון חלקיקים. פוטון החלקיקים הוא לוח המאפשר שליחה וקבלה של נתונים מהאתר, התומך בתכונה הבסיסית ביותר של Internet Of Things (IoT).

שלב 1: חומרה נדרשת:

חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת

החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:

1. HMC5883

2. פוטון חלקיקים

3. כבל I2C

4. מגן I2C לפוטון חלקיקים

שלב 2: חיבור חומרה:

חיבור חומרה
חיבור חומרה
חיבור חומרה
חיבור חומרה

סעיף חיבור החומרה מסביר בעצם את חיבורי החיווט הנדרשים בין החיישן לפוטון החלקיקים. הבטחת חיבורים נכונים היא ההכרח הבסיסי בעת עבודה על כל מערכת לתפוקה הרצויה. אז, החיבורים הנדרשים הם כדלקמן:

HMC5883 יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.

הלוח מחוץ לקופסה מוגדר לממשק I2C, ולכן אנו ממליצים להשתמש בחיבור זה אם אתה אגנוסטי אחרת. כל מה שאתה צריך זה ארבעה חוטים!

רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.

קשרים אלה מודגמים בתמונות למעלה.

שלב 3: קוד למדידת עוצמת השדה המגנטי:

קוד למדידת עוצמת השדה המגנטי
קוד למדידת עוצמת השדה המגנטי

נתחיל עם קוד החלקיקים עכשיו.

בעת השימוש במודול החיישנים עם Arduino, אנו כוללים את ספריית application.h ו- spark_wiring_i2c.h. הספרייה "application.h" ו- spark_wiring_i2c.h מכילה את הפונקציות המאפשרות תקשורת i2c בין החיישן לחלקיק.

קוד החלקיקים כולו ניתן להלן לנוחות המשתמש:

#לִכלוֹל

#לִכלוֹל

// כתובת HMC5883 I2C היא 0x1E (30)

#define Addr 0x1E

int xMag = 0, yMag = 0, zMag = 0;

הגדרת חלל ()

{

// הגדר משתנה

Particle.variable ("i2cdevice", "HMC5883");

Particle.variable ("xMag", xMag);

Particle.variable ("yMag", yMag);

Particle.variable ("zMag", zMag);

// אתחל תקשורת I2C כ- MASTER

Wire.begin ();

// אתחל תקשורת סדרתית, הגדר קצב שידור = 9600

Serial.begin (9600);

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר הגדרת רשם A

Wire.write (0x00);

// הגדר תצורת מדידה רגילה, קצב פלט הנתונים = 0.75Hz

Wire.write (0x60);

// עצור את שידור I2C

Wire.endTransmission ();

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר מצב רשום

Wire.write (0x02);

// הגדר מדידה רציפה

Wire.write (0x00);

// עצור את שידור I2C

Wire.endTransmission ();

עיכוב (300);

}

לולאת חלל ()

{

נתוני int ללא חתום [6];

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר רישום נתונים

Wire.write (0x03);

// עצור את שידור I2C

Wire.endTransmission ();

// בקש 6 בתים של נתונים

Wire.requestFrom (Addr, 6);

// קרא 6 בתים של נתונים

// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb

אם (Wire.available () == 6)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

data [4] = Wire.read ();

data [5] = Wire.read ();

}

עיכוב (300);

// המר את הנתונים

xMag = ((נתונים [0] * 256) + נתונים [1]);

אם (xMag> 32767)

{

xMag -= 65536;

}

zMag = ((נתונים [2] * 256) + נתונים [3]);

אם (zMag> 32767)

{

zMag -= 65536;

}

yMag = ((נתונים [4] * 256) + נתונים [5]);

אם (yMag> 32767)

{

yMag -= 65536;

}

// נתוני פלט ללוח המחוונים

פרסומת Particle.publish ("שדה מגנטי בציר X:", מחרוזת (xMag));

עיכוב (1000);

פרסום Particle.publish ("שדה מגנטי בציר Y:", מחרוזת (yMag));

עיכוב (1000);

פרסומת Particle.publish ("שדה מגנטי בציר Z:", מחרוזת (zMag));

עיכוב (1000);

}

הפונקציה Particle.variable () יוצרת את המשתנים לאחסון הפלט של החיישן והפונקציה Particle.publish () מציגה את הפלט בלוח המחוונים של האתר.

פלט החיישן מוצג בתמונה למעלה לעיונך.

שלב 4: יישומים:

יישומים
יישומים

HMC5883 הוא מודול רב-שבב בעל הרכבה על פני השטח המיועד לחישה מגנטית בשדה נמוך עם ממשק דיגיטלי ליישומים כגון חישוב נמוך ומגנומטומטריה. רמת הדיוק והדיוק ברמה גבוהה עד שתיים מאפשרת ניווט להולכי רגל ויישומי LBS.

מוּמלָץ: