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

סניטייזר חכם עם Magicbit: 5 שלבים
סניטייזר חכם עם Magicbit: 5 שלבים

וִידֵאוֹ: סניטייזר חכם עם Magicbit: 5 שלבים

וִידֵאוֹ: סניטייזר חכם עם Magicbit: 5 שלבים
וִידֵאוֹ: מה ארזתי ללונדון | MissReine 2024, נוֹבֶמבֶּר
Anonim

במדריך זה נלמד כיצד להכין חומר חיטוי אוטומטי עם תכונות נוספות באמצעות Magicbit. אנו משתמשים ב- magicbit כלוח הפיתוח בפרויקט זה המבוסס על ESP32. לכן ניתן להשתמש בכל לוח פיתוח ESP32 בפרויקט זה.

אספקה

מג'יקביט

  • חיישן אולטרסאונד - HC -SR04 (כללי)
  • סרוו מתכת MG945
  • כוח הכבידה DFRobot: חיישן לחות קרקע קיבולי אנלוגי- עמיד בפני קורוזיה
  • כבל USB-A למיקרו USB

שלב 1: סיפור

כַּתָבָה
כַּתָבָה

היי חברים, היום נלמד כיצד להכין חומר חיטוי חכם באמצעות Magicbit עם Arduino IDE.

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

בואו נסתכל איך עשינו את זה.

שלב 2: תיאוריה ומתודולוגיה

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

באמצעות הקישור הבא תוכל ללמוד עוד על סונאר, סרוו, לחות אדמה ו- devic Magicbit. גלשן.

magicbit-arduino.readthedocs.io/en/latest/

שלב 3: התקנת חומרה

התקנת חומרה
התקנת חומרה
התקנת חומרה
התקנת חומרה
התקנת חומרה
התקנת חומרה

יש לזה שני חלקים. הראשון הוא לבנות את המעגל והשני לבנות את המנגנון. אנו מחברים שני חיישנים ומנוע סרוו לשלוש יציאות הרחבה של ה- Magicbit. תרשים המעגל המלא מוצג להלן.

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

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

כדי למדוד את הלחות, השתמשנו בחיישן לחות קיבולי הכולל ב- Magicbit dev. קִיט. אבל אתה יכול לקבל את זה מבחוץ. כאשר אתה מחבר אותו למשטח הבקבוקים וודא שהוא ייגע בקושי במשטח הקיר של הבקבוק. אחרת זה לא נתן סטייה גבוהה כאשר רמת הנוזלים יורדת.

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

שלב 4: התקנת תוכנה

התקנת תוכנה
התקנת תוכנה

כדי לתכנת את ה- Magicbit השתמשנו ב- Arduino IDE. האלגוריתם פשוט. כאשר נפעיל את ה- Magicbit הוא יקבל את המרחק לאובייקט הקרוב ביותר מהסונאר. ואז הוא בודק שהאובייקט הקרוב ביותר קרוב למרחק רמה מסוים. אם כן הוא יבדוק שהבקבוק נפתח או סגור. אם הוא נפתח אז אל תעשה כלום. אחרת תפתח את הבקבוק. השתמשנו באיחור כדי לבטל את הרעשים ולשפר את דיוק הקריאות.

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

כדי להעלות את הקוד, חבר את Magicbit למחשב באמצעות כבל נתונים. בחר את יציאת ה- COM ואת סוג הלוח הנכון והעלה את הקוד. תהנה.

שלב 5: קוד

#לִכלוֹל

#כלול #הגדר TRIGGER_PIN 21 #הגדר ECHO_PIN 22 #הגדר MAX_DISTANCE 200 #הגדר SENSOR 32; סונאר NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); int output_value; מרחק int; int int = 0; bool Open = false; סרוו סרוו; הגדרת חלל () {Serial.begin (115200); Servo.attach (26); // מגדיר על איזה סיכה הוא עיכוב המצורף של מנוע הסרוו (3000); pinMode (32, INPUT); // חיישן לחות מצורף pinMode (25, OUTPUT); // זמזם מצורף} לולאת חלל () {output_value = analogRead (SENSOR); if (output_value0 && distance = 90; i-) {// push push Servo.write (i); עיכוב (5); } count = 0; פתוח = נכון;} אחרת אם ((מרחק> 60 || מרחק == 0) && פתוח == נכון) {עבור (int i = 90; i

מוּמלָץ: