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

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



מקל חכם

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



מקל חכם לאנשים עיוורים (תמונה באדיבות: מעגל העיכול)



כיצד להשתמש בארדואינו בתכנון המעגל?

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



שלב 1: רכיבים דרושים (חומרה)

  • LDR
  • זַמזָם
  • לד
  • משדר ומקלט Supperhetrodine
  • נַגָד
  • לחץ על הכפתור
  • Veroboard
  • סוללה 9V
  • מוליטימטר דיגיטלי
  • אקדח דבק

שלב 2: רכיבים בשימוש (תוכנה)

  • Proteus 8 Professional (ניתן להוריד מ- כאן )

לאחר הורדת ה- Proteus 8 Professional, תכננו את המעגל עליו. כללנו כאן הדמיות תוכנה כדי שיהיה נוח למתחילים לעצב את המעגל ולבצע חיבורים מתאימים לחומרה.

שלב 3: לימוד הרכיבים

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

  1. ארדואינו ננו: Arduino nano הוא לוח מיקרו-בקר המשמש לבקרה או לביצוע משימות שונות במעגל. אנחנו שורפים א קוד C ב- Arduino Nano כדי לספר ללוח המיקרו-בקר כיצד ואילו פעולות לבצע. ל- Arduino Nano יש בדיוק אותה פונקציונליות כמו ל- Arduino Uno אבל בגודל די קטן. המיקרו-בקר על לוח ה- Arduino Nano הוא ATmega328p.

    ארדואינו ננו



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

    חיישן קולי

  3. משדר ומקלט RF 433mhz: הוא פועל בתדר ספציפי של 433 מגה הרץ. ישנם מספר מכשירי תדר רדיו אחרים זמינים בשוק ולעומתם הביצועים של מודול RF יהיו תלויים בכמה גורמים כמו כאשר אנו מגדילים את כוח המשדר ייאסף מרחק תקשורת גדול. זה יגרום לניקוז הספק חשמלי גבוה על מכשיר המשדר, מה שגורם לחיי פעולה קצרים יותר של המכשירים המופעלים באמצעות סוללה. אם אנו משתמשים במכשיר זה בהספק משודר גבוה יותר אז המכשיר ייצור הפרעה להתקני RF אחרים.

    משדר ומקלט RF

  4. 7805 ווסת מתח: לווסתי מתח יש חשיבות משמעותית במעגלים חשמליים. גם אם יש תנודות במתח הכניסה, וסת מתח זה מספק מתח יציאה קבוע. אנו יכולים למצוא את היישום של 7805 IC ברוב הפרויקטים. השם 7805 מסמל שתי משמעויות, '78' פירושו שהוא ווסת מתח חיובי ו' 05 'פירושו שהוא מספק 5V כפלט. אז ווסת המתח שלנו יספק מתח יציאה +5 וולט. IC זה יכול להתמודד עם זרם סביב 1.5A. גוף קירור מומלץ לפרויקטים הצורכים עדכניות יותר. לדוגמא, אם מתח הכניסה הוא 12 וולט ואתה צורך 1A, אז (12-5) * 1 = 7W. 7 וואט זה יתפזר כחום.

    ווסת מתח

שלב 4: הרכבת המעגל

נצטרך לתכנן שני מעגלים לפרויקט זה. המעגל הראשון יוצב במקום מתאים במקל של עיוור והשני יהיה משדר RF מעגל וזה ישמש כדי לגלות את המעגל הראשי. לפני תכנון המעגל על ​​Proteus עלינו לכלול את ספריית proteus של מקלט RF בתוכנה. אתה יכול להוריד את הספרייה מ כאן ולאחר הורדת הספרייה פתח את סִפְרִיָה תיקיה והעתק MODULO_RF.LIB הקובץ והדבק אותו בתיקיית הספרייה של Proteus. אם אינך מוצא את תיקיית הספרייה, לחץ על (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). לאחר שביצעת תיקיית MODELS פתוחה והעתק את RX.MDF והדבק אותה בתיקיית Proteus MODELS. אם אינך מוצא את תיקיית הדגמים, לחץ על (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

דיאגרמת מעגלים (תמונה באדיבות: Circest Digest)

המיקרו-בקר שישמש לשליטה בכל החיישנים במעגל הוא ארדואינו ננו. ספק הכוח המשמש לעבודת המעגל הוא סוללת 9 וולט ומתח 9 וולט זה יורד ל -5 וולט באמצעות 7805 וסת מתח. ניתן לראות במעגל כי ה- חיישן קולי מופעל באמצעות ה- Vout של ויסות המתח. סיכות ההדק וההד של החיישן מחוברות לסיכה 3 וסיכה 2 של Arduino בהתאמה. ה נגד תלוי אור (LDR) מחובר לפוטנציומטר של ערך 10k ו- אנלוגי לדיגיטלי סיכת המרה A1 של Arduino מחוברת לנקודה זו כדי לציין את הפרש המתח. עלינו לדעת את האות הנפלט ממקלט RF ולכן חיברנו את סיכת ADC A0 כדי לקרוא את האות ממקלט RF. התפוקה של כל המעגל ניתנת על ידי זַמזָם לכן, הסיכה החיובית של הבאזר מחוברת לסיכה 12 של הארדואינו והסיכה השלילית מחוברת לקרקע של החיישן הקולי.

לא כללנו את משדר ה- RF בתרשים המעגלים שלנו מכיוון שנרכיב אותו על חומרה בנפרד. בכל פעם שאנחנו משתמשים במשדר ומקלט של 433 מגה-הרץ אנו זקוקים למיקרו-בקר שיתממשק אותם עם זה, אך בפרויקט זה אנו זקוקים למשדר היחיד שישלח אותות למקלט ולכן חיברנו את סיכת הנתונים של המשדר עם ה- Vcc. סיכת הנתונים של המקלט מועברת דרך מסנן RC ואז מחוברת לסיכת הנתונים A0 של הארדואינו בהתאמה. אנו נלחץ שוב ושוב על כפתור הלחיצה המונח על המשדר וכאשר לוחצים על הכפתור המקלט ייתן כל ערך קבוע כפלט.

משדר RF

שלב 5: הרכבת החומרה

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

מעגל מורכב על חומרה (תמונה באדיבות: מעגל עיכול)

שלב 6: תחילת העבודה עם ארדואינו

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

  1. כאשר לוח ה- Arduino מחובר למחשב האישי שלך, פתח את 'לוח הבקרה' ולחץ על 'חומרה וצליל'. לאחר מכן לחץ על 'התקנים ומדפסות'. מצא את שם היציאה שאליה מחובר לוח הארדואינו שלך. במקרה שלי זה 'COM14' אבל זה יכול להיות שונה במחשב שלך.

    מציאת נמל

  2. לחץ על תפריט הכלים. ולהגדיר את הלוח ל ארדואינו ננו מהתפריט הנפתח.

    לוח הגדרה

  3. באותו תפריט כלים, הגדר את היציאה למספר היציאה שצפית קודם ב- מכשירים ומדפסות .

    הגדרת נמל

  4. באותו תפריט כלים, הגדר את המעבד ל ATmega328P (Bootloader ישן).

    מעבד

  5. הורד את הקוד המצורף למטה והדבק אותו ב- ID Arduino שלך. הקלק על ה להעלות כפתור לצריבת הקוד בלוח המיקרו-בקר שלך.

    העלה

להורדת הקוד, לחץ כאן.

שלב 7: הבנת הקוד

הקוד מגיב היטב ומסביר את עצמו. אך עדיין, מוסבר להלן:

  1. בתחילת הקוד, כל הפינים של לוח ה- Arduino Nano המחוברים לחיישן הקולי ומודול ה- RF, מאותחלים.
טריגר const int = 3; // סיכת הדק של החיישן הראשון const int echo = 2; // סיכת הד של חיישן 1 const int Buzz = 13; // הצמד לחיבור זמזם const int מרחוק = A0; const int אור = A1; זמן רב_נלקח; int dist; int אות; Int Intens; int דומה_ספירה;

2. התקנה בטלה () היא פונקציה המשמשת לקביעת כל הפינים המשמשים, כמו קֶלֶט ו תְפוּקָה. קצב שידור מוגדר בפונקציה זו. Baud Rate הוא מהירות התקשורת שבאמצעותה לוח המיקרו-בקר מתקשר עם החיישנים המשולבים בו.

הגדרת חלל () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (טריגר, OUTPUT); pinMode (הד, INPUT); }

3. כעת, ניצור פונקציה שתחשב את המרחק.

בטל calc_distance (int trigger, int echo) {digitalWrite (trigger, LOW); עיכוב מיקרו-שניות (2); digitalWrite (טריגר, HIGH); עיכוב מיקרו-שניות (10); digitalWrite (טריגר, LOW); time_taken = pulseIn (הד, HIGH); dist = time_taken * 0.034 / 2; אם (dist> 300) dist = 300; }

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

לולאה בטלה () {// לולאה אינסופית calc_distance (טריגר, הד); אות = analogRead (מרחוק); Intens = analogRead (אור); // בדוק אם לחוץ מרחוק int temp = analogRead (מרחוק); count_count = 0; ואילו (Signal == temp) {Signal = analogRead (Remote); כמות_ספירה ++; } // אם לחוץ מרחוק אם (דומה_ספירה<100) { Serial.print(similar_count); Serial.println('Remote Pressed'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) עיכוב (10); digitalWrite (Buzz, LOW); עבור (int i = dist; i> 0; i--) עיכוב (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println( דומה_ספירה); //Serial.print('Intens= '); //Serial.println( Intens); }

שלב 8: בדיקה

כפי שהבנו את הקוד, העלינו אותו למיקרו-בקר והרכבנו גם את החומרה, עכשיו הגיע הזמן לבדוק את הפרויקט שלנו. לפני הבדיקה וודא כי החיבורים נוצרו כראוי וודא את המשכיות המעגל באמצעות מד הדיגיטלי רב. לפנייה עַל שני המעגלים משתמשים בסוללה של 9 וולט. הניחו אובייקט על המשטח בו אתם בודקים והזיזו את החיישן האולטרסאוני לפניו ומבחינים כי צליל הבאזר עולה ככל שהחיישן מתקרב לאובייקט. ישנן שתי אפשרויות אם ה- LDR מכוסה בחושך או אם אתה בודק באור השמש הזמזם יתחיל לצפצף. אם לוחצים על כפתור הלחיצה על משדר ה- RF הזמזם יצפצף לאורך זמן. אם הזמזם ממשיך לצפצף לאורך זמן זה אומר שהאזעקה מופעלת באופן כוזב. אם אתה נתקל בסוג זה של שגיאה, פתח את המסך הטורי של ה- Arduino IDE ובדוק אם הפרמטרים גורמים לבעיה מסוג זה.

בדיקת החומרה (באדיבות תמונה: מעגל העיכול)

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