במאמר זה, נשקול כיצד המאסטר מימש את הרעיון שלו לייצר מד מתח באמצעות סרוו-מוטור.
להכנת מד מתח כזה, משתמש המאסטר ב: Raspberry Pi עם Raspian ועם מודולי Pi-Plates Python 3 המותקנים, TINKER Pi-Plate, חוטים, סרוו 9G, קרטון עבה, סרט דו צדדי, פרספקס.
מאד הקרטון חותך את החץ.
או שאתה יכול להדפיס אותו במדפסת תלת מימד. קובץ להדפסה על זה הקישור.
החץ מקובע למנוף סרוו באמצעות סרט דו צדדי.
מתוך פרספקס חותך את הפאנל.
דופק אותו לגוף השרת.
מדפיס סולם (הורד את הקובץ כאן).
מדביק קנה מידה על פרספקס.
מחבר את סרוו המנוע ללוח המעגל בהתאם לתרשים. כדי למדוד מתח, עליכם להשתמש בחוטים המחוברים ל- GND ו- AIN 1.
הבא אתה צריך לכייל את מד מתח.
כולל פטל פי. יוצר הפעלת Python3, טוען את מודול TINKERplate ומגדיר את מצב I / O הדיגיטלי של ערוץ 1 למצב "סרוו". כעת הסרוו צריך לעבור ל 90 מעלות.
בשלב הבא, קבע את החץ של מד מתח ל 6 וולט.
נכנס TINK.setSERVO (0,1,15) כדי להזיז את החץ למיקום 0V.
נכנס ל- TINK.setSERVO (0,1,165) כדי להעביר את הסרוו למצב 12V.
אם החץ סוטה מהקריאות הנתונות, עליך להתאים את הערכים 15 ו- 165
בשלב הבא עליכם להוריד את הקוד.
יבוא מחזורים. TINKER לוח כ- TINK
זמן יבוא
TINK.setDEFAULTS (0) # להחזיר את כל היציאות למצב ברירת המחדל שלהם
TINK.setMODE (0,1, 'סרוו') # set יציאת קלט / פלט דיגיטלי 1 להגדרת סרוו
lLimit = 12.0 # הגבול התחתון = 0 וולט
hLimit = 166.0 # הגבול העליון = 12 וולט
בעוד (נכון):
analogIn = TINK.getADC (0,1) # ערוץ 1 אנלוגי
# מדרג את הנתונים לזווית בטווח של lLimit ל- hLimit
זווית = אנלוגי אינ * (hLimit-lLimit) /12.0
TINK.setSERVO (0,1, lLimit + זווית) # זווית סרוו של ערכה
time.sleep (.1) # לעכב ולחזור
הכל מוכן.