מדריך למשתמש של DYNAMENT AN0007 Arduino to Platinum COMM

AN0007 ארדואינו לפלטינום COMM

מידע על המוצר

מפרטים

  • שם מוצר: מסמך עזרה לתקשורת מ-ARDUINO ל-PLATINUM
  • יצרן: Dynament Limited
  • כתובת: הרמיtagאזור התעשייה אי ליין, דרך קינגס מיל,
    מנספילד, נוטינגהאמשייר, NG18 5ER, בריטניה
  • איש קשר: טלפון: 44 (0)1623 663636, דוא"ל: sales@dynamment.com,
    Webאתר: www.dynament.com
  • גיליון: 1.2, תאריך: 09/04/2025

הוראות שימוש במוצר

חיבור החיישן

גיליון נתונים זה משתמש בארדואינו מגה כדוגמהampהתחבר כ
כדלקמן:

  • 5v -> פין ארדואינו 5v
  • 0v -> הארקה של ארדואינו
  • משדר -> ארדואינו RX1
  • Rx -> עובר לפלט של מחלק הפוטנציאלים. הקלט
    הולך לארדואינו Tx

כרך ידtagתאימות

הארדואינו משתמש ב-5v לוגיקת גבוהה בעוד שחיישן הפלטינום משתמש
3.3 וולט. השתמש בווליוםtagמחלק e עם ערכים מוצעים עבור R1 ו-R2 כ
4K7 כדי למנוע נזק לחיישן.

התקנת IDE של Arduino

  1. הורד את הגרסה החדשה ביותר של תוכנת IDE של ארדואינו מאתר
    הארדואינו webאֲתַר.
  2. בחר את לוח הארדואינו, המעבד והפורט בכלים
    תפריט נפתח.

העלאת קוד

  1. העתק את הדוגמה שסופקתampלהכניס את הקוד לתוך ה-IDE של ארדואינו.
  2. העלו את הקוד לארדואינו על ידי לחיצה על החץ.
  3. פתח את הצג הטורי כדי view העברת נתונים.

שאלות נפוצות

ש: מה עליי לעשות אם יש לי ארדואינו אונו עם חיבור תקשורת אחד בלבד?
נָמָל?

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

"`

הערת יישום AN0007
מסמך עזרה לתקשורת מ-ARDUINO ל-PLATINUM

דינמנט מוגבל
הרמיtagאזור התעשייה e Lane, Kings Mill Way, Mansfield, Nottinghamshire NG18 5ER, בריטניה. טלפון: 44 (0)1623 663636
דוא"ל: sales@dynamant.com www.dynamant.com

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 1 מתוך 14

תוֹכֶן
Dynament Limited …………………………………………………………………………………………………….1 חיבור החיישן…………………………………………………………………………………………..3 IDE של ארדואינו ………………………………………………………………………………………………………………5 הסבר קוד……………………………………………………………………………………………………..9 פירוט מנות…………………………………………………………………………………………..11 שימוש ב-Serial.read() ……………………………………………………………………………………………….13
הערות על המרה מתקדמות……………………………………………………………………………….14

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 2 מתוך 14

חיבור החיישן גיליון נתונים זה משתמש בארדואינו מגה כדוגמהampלדוגמה, ה-Ardunio Mega מספק יותר מיציאת תקשורת אחת, לכן יציאת תקשורת 1 משמשת לתקשורת עם החיישן ויציאת תקשורת 0 משמשת להדפסה למחשב.
הארדואינו משתמש במתח לוגי גבוה של 5 וולט בעוד שחיישן הפלטינום משתמש במתח 3.3 וולט, כך שכדי למנוע נזק לחיישן, יש צורך במתח גבוה.tagיש להשתמש במחלק e. הערכים המומלצים עבור R1 ו-R2 הם 4K7.

איור 1: מוריד את עוצמת הקולtagה עד לרמה שמישה
קו השידור של החיישן המוביל לקליטת הארדואינו אינו זקוק למחלק מכיוון ש-3.3 וולט הוא קלט מקובל לארדואינו.
כדי להפעיל את החיישן, עליו להיות מחובר ל-5 וולט ו-0 וולט. לשם כך ניתן להשתמש בפינים שבארדואינו.
לאחר השלמת פעולה זו, לחיישן אמורים להיות מחוברים הפינים הבאים:
5v -> פין ארדואינו 5v
0v -> הארקה של ארדואינו
משדר -> ארדואינו RX1
Rx -> עובר לפלט של מחלק הפוטנציאלים. הקלט עובר לארדואינו Tx

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 3 מתוך 14

לאחר השלמת התהליך, חיישן הפלטינום שלך אמור להיות מחובר כפי שמוצג:
איור 2: החיישן מוצג הפוך עם מתאם הלחמה
אם אתם משתמשים בארדואינו עם יציאת תקשורת אחת בלבד (כמו הארדואינו אונו) תצטרכו לחבר אותו לשם, אולם כאשר אתם משתמשים בצג הטורי (מוצג בהמשך) הוא יציג גם את ה-hex המועבר.

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 4 מתוך 14

IDE של ארדואינו עבור אל ארדואינו webבאתר והורד את הגרסה החדשה ביותר של תוכנת Arduino IDE. לאחר ההתקנה, עליך לראות את המסך הבא:
איור 3: מסך הבית של ארדואינו
בתפריט הנפתח של הכלים, בחר את לוח הארדואינו, המעבד והפורט שבהם אתה משתמש:

איור 4: בחירת אפשרויות לוח, מעבד ויציאה

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 5 מתוך 14

העתק בדוגמה הזוampקוד: void send_read_live_data_simple(); void receive_read_live_data_simple();
הגדרת ריק () { Serial.begin(38400); Serial1.begin(38400);
}
לולאת ריק () { send_read_live_data_simple(); receive_read_live_data_simple(); delay(5000);
}
void send_read_live_data_simple(){ // 0x10, 0x13, 0x06, 0x10, 0x1F, 0x00, 0x58 Serial1.write(0x10); Serial1.write(0x13); Serial1.write(0x06); Serial1.write(0x10); Serial1.write(0x1F); Serial1.write(0x00); Serial1.write(0x58);
}
void receive_read_live_data_simple(){ while (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print("|"); } Serial.println(); }
}

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 6 מתוך 14

איור 5: קוד מוכן להעלאה
לחץ על החץ כדי להעלות את הקוד לארדואינו. לאחר שהארדואינו תכנת, פתח את הצג הטורי.

AN0007

איור 6: פתיחת הצג הטורי

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 7 מתוך 14

איור 7: המנוט הסריאלי מציג את החבילה שהתקבלה

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 8 מתוך 14

הסבר הקוד IDE של ארדואינו משתמש ב-C++ כדי לתכנת את ארדואינו.
שורה זו היא הצהרת העברה קדימה. היא משמשת כדי להודיע ​​למיקרו-בקר שבהמשך התוכנית ייקראו הפונקציות `send_read_live_data_simple' והפונקציות `receive_read_live_data_simple'.
הבא בתור הוא פונקציית ההתקנה. קוד זה מופעל פעם אחת בלבד בעת ההפעלה. הוא מפעיל את הפורטים Serial0 ו-Serial1. Serial0 הוא מה שמוצג במסך הצג הטורי. Serial1 הוא הפורט לתקשורת עם החיישן.
זוהי הלולאה הראשית, קוד זה עובר לולאה חוזרת ונשנית. ניתן לראות על ידי קריאת שמות הפונקציות שהוא שולח בקשה לקריאת גרסה פשוטה של ​​מבנה הנתונים החי. לאחר מכן הוא קורא את יציאת הקבלה כדי לקרוא את התשובה. לאחר מכן המיקרו-בקר ממתין 5000 מילישניות.
פונקציה זו כותבת את הבקשה לקבלת מבנה פשוט של נתונים בזמן אמת ליציאה טורית 1. כפי שצוין קודם לכן, אם יש לך רק יציאה טורית אחת, עליך לשנות את Serial1 ל-Serial. כדי לראות את הרשימה המלאה של הפקודות, עיין במסמך פרוטוקול התקשורת של Premier sensor. הנה החלק במסמך שמסביר מה לכתוב עבור פקודה זו:

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 9 מתוך 14

פונקציה זו מבצעת בלולאה של פונקציית הקריאה כל עוד יש נתונים לקבלה מחיישן הפלטינום. הפונקציה Serial1.read() קוראת את הנתונים מ-Serial1 המחובר לחיישן ומדפיסה אותם על Serial0 כך שניתן יהיה לראותם על הצג הטורי. לאחר מכן, התו `|' מודפס כדי לפרק כל בייט שמתקבל כדי להבהיר אותו על הצג הטורי.
לאחר השלמת זה, הוא כותב שורה חדשה לצג הטורי.

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 10 מתוך 14

פירוט מנות איור 8 ו-9 מציגים את הפלט של מפענח סדרתי המחובר לקווי הקליטה והשידור.
איור 8: חבילה יוצאת
איור 9: חבילה נכנסת
איור 10 ו-11 מציגים את הפקודה ההקסדצימלית היוצאת והנכנסת בהתאמה, עם עמודה המציגה איזו פקודה מדובר.

איור 10: תיאור חבילה יוצאת

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 11 מתוך 14

איור 11: תיאור חבילה נכנסת
שימו לב שקריאת הגז היא מספר עשרוני ולא מספר שלם. מספר זה הוא בפורמט IEEE-754, ניתן להשתמש בממיר מקוון כמו זה כדי להמיר אותו. ערך הגז במקרה זה מראה -250 (מכיוון שהוא היה במצב שגיאה באותו זמן).

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 12 מתוך 14

שימוש ב-Serial.read()
הקוד הקודם הדפיס רק את הנתונים שהתקבלו לצג הטורי, אם ברצונך לשמור את הנתונים במשתנים תצטרך לבצע עיבוד נוסף. החבילה שאתה מקבל מחולקת לבייטים, בגלל זה תצטרך לשרשר חלק מהנתונים הללו למשתנים. הפונקציה Serial1.Read() מחזירה מספר שלם (שבעבור ארדואינו הוא 16 סיביות), אולם רק 8 הסיביות הראשונות נמצאות בשימוש. בגלל זה נוכל להעתיק אותו לסוג נתונים קטן יותר שהוא רק 8 סיביות, במקרה זה אשתמש ב-char.
עבור חבילות שאורכן בייט אחד בלבד, זה עובד מצוין:
עבור חבילות באורך של 2 בתים או 4 בתים, תצטרכו לשרשר את הנתונים.

אפשר לעשות זאת בהרבה דרכים שונות, כאן מה שאני הולך לעשות זה להזיז את הנתונים שמשמאל ואז לעשות עליהם או.

באמצעות קוד זה, אם readByte1 הוא 0x34 ו- readByte2 הוא 0x12.

(int) קריאה בייט2

// פעולה זו ממירה את ה-0x12 ל-0x0012.

(int)readByte2 << 8

// פעולה זו מזיזה את הביטים בבייט אחד והופכת את התוצאה ל-0x1200.

(int)readByte2 << 8 | readByte1 // לאחר מכן פעולה זו עוברת עריכה או הפעלה, כאשר 0x34 הופך את 0x1234.

דרך נוספת לעשות זאת היא להכניס את הערכים למערך ולאחר מכן להמיר את המערך לסוג הרצוי:

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 13 מתוך 14

תווים הם באורך של בייט אחד, בעוד ש-float הוא באורך של 4 בייט. מסיבה זו, אם ניצור מערך של 4 תווים עם הערכים שלנו בתוכם, נשנה את הסוג ל-float.
במקרה זה, readArray הוא מצביע למערך char. (float*)readArray חלק זה מטיל אותו למצביע ל-float ולאחר מכן נוסף * לחזית כדי לקבל את ערך ה-float.
הערות המרה מתקדמות
1. הפונקציה Serial.read() מחזירה int במקום char מכיוון ששגיאות יחזירו ערכים שליליים. התוכנית שלך צריכה לבדוק זאת.
2. יש להשתמש ב-uint8_t וב-uint16_t במקום char ו-int בהתאמה, מכיוון שלסוגים אלה אין גודל סטנדרטי (במחשב שלי int הוא 32 סיביות ואילו בארדואינו הוא 16 סיביות).
3. פרוטוקול התקשורת מכיל תווים מלאים בבייטים (הידועים גם כתווי בקרה), דבר זה מוסבר ביתר פירוט במסמך פרוטוקול התקשורת של חיישן Premier tds0045. מסיבה זו, חבילת הנתונים הרגילה הנקראת בזמן אמת תהיה לעיתים גדולה מהצפוי.

AN0007

גיליון 1.2

09/04/2025

הערת שינוי 805

עמוד 14 מתוך 14

מסמכים / משאבים

DYNAMENT AN0007 ארדואינו ל-Platinum COMM [pdfמדריך למשתמש
AN0007 ארדואינו לפלטינום COMM, AN0007, ארדואינו לפלטינום COMM, לפלטינום COMM, פלטינום COMM

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *