- רכיבים נדרשים לבניית משקל משקל Arduino:
- תא עומס ומודול חיישן משקל HX711:
- הסבר מעגל:
- הסבר עבודה:
- קוד קנה מידה במשקל Arduino:
היום אנו הולכים לבנות מכונת ווייט Arduino, על ידי ממשק תא עומס וחיישן משקל HX711 עם Arduino. ראינו מכונות משקל בחנויות רבות, שם המכונה מציגה את המשקל רק על ידי הנחת פריט על פלטפורמת השקילה. אז הנה אנו בונים את אותה מכונת שקילה באמצעות תאי Arduino ו- Load, בעלי יכולת של עד 40 ק"ג. ניתן להגדיל עוד מגבלה זו באמצעות תא עומס בעל קיבולת גבוהה יותר.
המרכיב העיקרי הנדרש לבניית סולם שקילה זה של ארדואינו הוא חיישן שיכול להמיר משקל לאות חשמלי שווה ערך. חיישן זה נקרא תא עומס, ולכן בפרויקט זה נשתמש בתא עומס זה כחיישן המשקל שלנו Arduino. השתמשנו גם באותו תא עומס בכמה פרויקטים אחרים כמו, כמו מכונת השקילה הקמעונאית הניידת Arduino, סולם השקילה של פטל, וכו ', אתה יכול גם לבדוק אותם אם אתה מעוניין בכך.
רכיבים נדרשים לבניית משקל משקל Arduino:
- ארדואינו אונו
- תא עומס (40 ק"ג)
- מודול מגבר תא תא HX711
- LCD בגודל 16x2
- חוטי חיבור
- כבל יו אס בי
- קרש לחם
- ברגי אגוזים, מסגרת ובסיס
תא עומס ומודול חיישן משקל HX711:
תא העומס הוא מתמר ההופך כוח או לחץ ליציאה חשמלית. גודל התפוקה החשמלית הזו עומד ביחס ישר לכוח המופעל. לתאי העומס יש מד מתח, אשר מתעוות כאשר מפעילים עליו לחץ. ואז מד המתח מייצר אות חשמלי על דפורמציה כאשר ההתנגדות האפקטיבית שלו משתנה בעיוות. תא עומס מורכב בדרך כלל מארבעה מדדי מתיחה בתצורת גשר וויטסטון. תא עומס מגיע בטווחים שונים כמו 5 ק"ג, 10 ק"ג, 100 ק"ג ויותר, כאן השתמשנו בתאי עומס, שיכולים לשקול עד 40 ק"ג.
כעת האותות החשמליים שנוצרים על ידי תא העומס נמצאים במיליוולט מועטים, ולכן עליהם להיות מוגברים עוד על ידי מגבר כלשהו ומכאן שחיישן השקילה HX711 נכנס לתמונה. למודול חיישן השקילה HX711 יש שבב HX711, שהוא ממיר A / D 24 דיוק גבוה (ממיר אנלוגי לדיגיטלי). ל- HX711 שני ערוצי קלט אנלוגיים ונוכל להשיג רווח של עד 128 על ידי תכנות ערוצים אלה. אז מודול HX711 מגביר את התפוקה החשמלית הנמוכה של תאי העומס ואז האות המוגבר והמומר הדיגיטלי הזה מוזן לארדואינו כדי להפיק את המשקל.
תא העומס מחובר למגבר תא העומס HX711 באמצעות ארבעה חוטים. ארבעת החוטים הללו הם אדום, שחור, לבן, וירוק / כחול. תיתכן שוני קל בצבעי החוטים ממודול למודול. להלן פרטי החיבור והתרשים:
- חוט אדום מחובר ל- E +
- חוט שחור מחובר ל- E-
- חוט לבן מחובר ל- A-
- החוט הירוק מחובר ל- A +
תיקון תא עומס עם פלטפורמה ובסיס:
שלב זה הוא אופציונלי ותוכלו לשים את המשקולות ישירות על תא ה- Load ללא פלטפורמה ופשוט תוכלו להדק אותו מבלי לתקן אותו עם בסיס כלשהו, אך עדיף לחבר פלטפורמה להנחת החפצים הגדולים עליו ולתקן אותו על בסיס. כדי שייעצר. אז כאן עלינו להכין מסגרת או פלטפורמה להכנת הדברים למדידת משקל. בסיס נדרש גם לקיבוע תא העומס מעליו באמצעות אגוזים וברגים. כאן השתמשנו בקרטון קשה למסגרת להנחת דברים מעליו ולוח עץ כבסיס. כעת בצע את החיבורים כפי שמוצג בתרשים המעגל ואתה מוכן לצאת לדרך.
הסבר מעגל:
החיבורים לפרויקט זה קלים והסכמטי מובא להלן. סיכות LCD 16x2 RS, EN, d4, d5, d6 ו- d7 מחוברות במספרי סיכות 8, 9, 10, 11, 12 ו- 13 של Arduino בהתאמה. סיכות DT ו- SCK של מודול HX711 מחוברות ישירות לסיכות A0 ו- A1 של Arduino. חיבורי תא עומס עם מודול HX711 כבר הוסברו קודם לכן ומוצגים בתרשים המעגל שלהלן.
הסבר עבודה:
עקרון העבודה של פרויקט מדידת משקל זה של ארדואינו קל. לפני שנכנס לפרטים, ראשית, עלינו לכייל מערכת זו למדידת המשקל הנכון. כאשר המשתמש יפעיל אותה המערכת תתחיל לכייל באופן אוטומטי. ואם המשתמש רוצה לכייל אותו ידנית ואז לחץ על כפתור הלחיצה. יצרנו כיול ריק () למטרות כיול, בדוק את הקוד למטה.
לכיול, המתן לחיווי LCD להנחת 100 גרם מעל תא העומס כפי שמוצג בתמונה למטה. כאשר LCD יראה "לשים 100 גרם" ואז לשים את המשקל 100 גרם מעל תא העומס ולהמתין. לאחר מספר שניות תהליך הכיול יסתיים. לאחר הכיול המשתמש רשאי לשים כל משקל (מקסימום 40 ק"ג) מעל תא העומס ויכול לקבל את הערך מעל LCD בגרמים.
בפרויקט זה השתמשנו בארדואינו כדי לשלוט בתהליך כולו. תא עומס חש את המשקל ומספק מתח אנלוגי חשמלי למודול מגבר העומס HX711. HX711 הוא ADC 24 סיביות, המגביר וממיר את פלט תאי העומס באופן דיגיטלי. ואז ערך מוגבר זה מוזן לארדואינו. כעת ארדואינו מחשבת את תפוקת HX711 וממירה את זה לערכי המשקל בגרמים ומציגה אותה על גבי LCD. ניתן להשתמש בכפתור לכיול המערכת. כתבנו תוכנית Arduino לכל התהליך, בדוק את הקוד והדגמת וידאו בסוף הדרכה זו.
קוד קנה מידה במשקל Arduino:
חלק התכנות של פרויקט זה מורכב מעט למתחילים. בפרויקט זה, לא השתמשנו בשום ספריה לממשק חיישן העומס HX711 עם Arduino. הרגע עקבנו אחר גליון הנתונים של HX711 והערות היישום. למרות שישנן כמה ספריות למטרה זו, בהן אתה רק צריך לכלול את הספרייה ותוכל לקבל את המשקל באמצעות שורת קוד אחת.
קודם כל, כללנו קובץ כותרת עליונה עבור LCD והגדרנו את הפינים עבור אותו. וגם ללחיצת כפתור. ואז הכריז על כמה משתנים לצורך חישוב.
#לִכלוֹל
לאחר מכן, יצרנו את הפונקציה שלהלן לקריאת נתונים ממודול HX711 והחזרת הפלט שלו.
לא חתום ארוך readCount (בטל) {ספירה ארוכה לא חתומה; char לא חתומה; pinMode (DT, OUTPUT); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); ספירה = 0; pinMode (DT, INPUT); בעוד (digitalRead (DT)); עבור (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); ספירה = ספירה << 1; digitalWrite (SCK, LOW); אם (digitalRead (DT)) ספירת ++; } digitalWrite (SCK, HIGH); ספירה = ספירה ^ 0x800000; digitalWrite (SCK, LOW); החזר (ספירה); }
לאחר מכן, ביצענו אתחול של LCD וניתן הוראות להפעלת סיכות קלט ופלט בהתקנת הריק ().
הגדרת חלל () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("משקל"); lcd.setCursor (0,1); lcd.print ("מדידה"); עיכוב (1000); lcd.clear (); לְדַרֵג(); }
לאחר מכן בפונקציית loop loop () , קראנו נתונים ממודול HX711 והמירנו נתונים אלה למשקל (גרם) ושלחנו אותם ל- LCD.
loop loop () {count = readCount (); int w = (((count-sample) / val) -2 * ((count-sample) / val)); Serial.print ("משקל:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("משקל"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); אם (digitalRead (sw) == 0) {val = 0; מדגם = 0; w = 0; ספירה = 0; לְדַרֵג(); }}
לפני כן יצרנו פונקציית כיול בה כיולנו את המערכת על ידי הנחת משקל 100 גרם מעל תא העומס.
בטל כיול () {lcd.clear (); lcd.print ("כיול…"); lcd.setCursor (0,1); lcd.print ("אנא המתן…"); עבור (int i = 0; i <100; i ++) {count = readCount (); מדגם + = ספירה; Serial.println (ספירה); }……………….
אז הנה למדנו את הממשק הבסיסי של תא עומס וחיישן משקל HX11 עם Arduino כדי למדוד את המשקולות. בהדרכות הטקסט שלנו, ניצור כמה יישומים המבוססים על מדידת משקל כמו מיכל חכם, שער אוטומטי וכו '.