- المواد المطلوبة:
- مخطط دائرة العصا العمياء:
- برنامج Arduino لـ Smart Blind Stick:
- اردوينو Blind Stick أثناء العمل:
هل سمعت عن هيو هير؟ إنه متسلق صخور أمريكي شهير حطم قيود إعاقته ؛ وهو يؤمن بشدة بأن التكنولوجيا يمكن أن تساعد المعوقين على عيش حياة طبيعية. قال هير في أحد محاضراته في TED " البشر ليسوا معاقين. لا يمكن لأي شخص أن ينكسر. بيئتنا المبنية ، وتقنياتنا ، معطلة ومعطلة. نحن الناس لا نحتاج إلى قبول قيودنا ، ولكن يمكننا نقل الإعاقة من خلال الابتكار التكنولوجي ". لم تكن هذه مجرد كلمات لكنه عاش حياته لها ، واليوم يستخدم أرجل صناعية ويدعي أنه يعيش حياة طبيعية. لذا نعم ، يمكن للتكنولوجيا بالفعل أن تحيد الإعاقة البشرية ؛ مع وضع ذلك في الاعتبار ، دعونا نستخدم بعض لوحات التطوير البسيطة وأجهزة الاستشعار لبناء عصا للمشي بالموجات فوق الصوتية العمياء باستخدام Arduino يمكن أن يؤدي أكثر من مجرد عصا للأشخاص المعاقين بصريًا.
ستحتوي هذه العصا الذكية على مستشعر بالموجات فوق الصوتية لاستشعار المسافة من أي عائق ، و LDR لاستشعار ظروف الإضاءة وجهاز تحكم عن بعد يعمل بالترددات اللاسلكية يمكن للرجل الأعمى استخدامه عن بعد. جميع ردود الأفعال ستعطى للرجل الأعمى من خلال الجرس. بالطبع يمكنك استخدام محرك هزاز بدلاً من الجرس والتقدم كثيرًا باستخدام إبداعك.
المواد المطلوبة:
- Arduino Nano (أي إصدار سيعمل)
- جهاز استشعار بالموجات فوق الصوتية HC-SR04
- LDR
- الجرس والصمام
- 7805
- 433 ميجا هرتز الارسال والاستقبال RF
- المقاومات
- المكثفات
- اضغط الزر
- مجلس بيرف
- طقم لحام
- بطاريات 9V
يمكنك شراء جميع المكونات المطلوبة لمشروع العصا الذكية من هنا.
مخطط دائرة العصا العمياء:
هذا المشروع عصا للمكفوفين الذكية اردوينو يتطلب اثنين من الدوائر منفصلة. إحداها هي الدائرة الرئيسية التي سيتم تثبيتها على عصا الرجل الأعمى. الآخر عبارة عن دائرة إرسال RF صغيرة عن بعد والتي سيتم استخدامها لتحديد موقع الدائرة الرئيسية. يظهر الرسم التخطيطي للوحة الرئيسية لبناء عصا عمياء باستخدام جهاز استشعار بالموجات فوق الصوتية أدناه:
كما نرى ، يتم استخدام Arduino Nano للتحكم في جميع المستشعرات ، ولكن يمكنك أيضًا إنشاء هذه العصا الذكية للمكفوفين باستخدام arduino uno ولكن باتباع نفس نقاط التثبيت والبرنامج. يتم تشغيل اللوحة الكاملة بواسطة بطارية 9V والتي يتم تنظيمها حتى + 5V باستخدام منظم الجهد 7805. و أجهزة الاستشعار بالموجات فوق الصوتية هو مدعوم من قبل 5V وعلى الزناد ويتم توصيل صدى دبوس لاردوينو نانو دبوس 3 و 2 كما هو موضح أعلاه. و LDR يرتبط المقاوم من قيمة 10K لتشكيل مقسم المحتملة وقراءة الفرق في الجهد من قبل اردوينو ADC دبوس A1. يتم استخدام دبوس ADC A0 لقراءة الإشارة من مستقبل الترددات اللاسلكية. يتم إعطاء إخراج اللوحة بواسطة الجرس المتصل بالدبوس 12.
تظهر دائرة التحكم عن بعد RF أدناه. كما تم شرح عملها بشكل أكبر.
لقد استخدمت اختراقًا صغيرًا لجعل دائرة التحكم عن بعد RF تعمل. عادةً أثناء استخدام وحدة RF 433 MHz ، تتطلب وحدة تشفير ووحدة فك ترميز أو وحدتي MCU للعمل ، كما هو الحال في دارة إرسال واستقبال الترددات اللاسلكية السابقة ، استخدمنا HT12D و HT12E ، وحدة فك التشفير والمشفرة IC على التوالي. ولكن ، في تطبيقنا ، نحتاج فقط إلى جهاز الاستقبال لاكتشاف ما إذا كان المرسل يرسل بعض الإشارات. لذلك ، يتم توصيل دبوس البيانات الخاص بجهاز الإرسال بالأرض أو Vcc للإمداد.
يتم تمرير دبوس البيانات الخاص بجهاز الاستقبال من خلال مرشح RC ثم يتم إعطاؤه إلى Arduino كما هو موضح أدناه. الآن ، كلما تم الضغط على الزر ، خرج جهاز الاستقبال ببعض قيمة ADC الثابتة بشكل متكرر. لا يمكن ملاحظة هذا التكرار عند عدم الضغط على الزر. لذلك نكتب برنامج Arduino للتحقق من القيم المتكررة لاكتشاف ما إذا كان الزر مضغوطًا. هذه هي الطريقة التي يمكن بها للشخص الكفيف أن يتتبع عصاه. يمكنك التحقق من هنا: كيف يعمل جهاز الإرسال والاستقبال اللاسلكي.
لقد استخدمت لوحة مثالية لتلحيم جميع الاتصالات بحيث تصبح سليمة مع العصا. ولكن ، يمكنك أيضًا صنعها على لوح التجارب. هذه هي اللوحات التي صنعتها لمشروع العصا العمياء باستخدام اردوينو.
برنامج Arduino لـ Smart Blind Stick:
بمجرد أن نكون جاهزين بأجهزتنا ، يمكننا توصيل Arduino بجهاز الكمبيوتر الخاص بنا وبدء البرمجة. و رمز كاملة ويمكن الاطلاع المستخدمة لهذه الصفحة في أسفل هذه الصفحة، يمكنك تحميله مباشرة إلى مجلس اردوينو الخاص بك. ومع ذلك ، إذا كنت مهتمًا بمعرفة كيفية عمل الكود ، فاقرأ المزيد.
مثل جميع البرامج ، نبدأ بإعداد باطل () لتهيئة دبابيس إدخال الإخراج. في برنامجنا ، يعتبر Buzzer and Trigger pin جهاز إخراج ودبوس Echo هو جهاز إدخال. نقوم أيضًا بتهيئة الشاشة التسلسلية لتصحيح الأخطاء.
إعداد باطل () {Serial.begin (9600) ؛ pinMode (Buzz ، الإخراج) ؛ الكتابة الرقمية (الطنين ، منخفضة) ؛ pinMode (الزناد ، الإخراج) ؛ pinMode (echo ، الإدخال) ؛ }
داخل الحلقة الرئيسية نقرأ جميع بيانات المستشعرات. نبدأ بقراءة بيانات المستشعر لمستشعر الموجات فوق الصوتية للمسافة ، و LDR لشدة الضوء وإشارة التردد اللاسلكي للتحقق مما إذا كان الزر مضغوطًا. يتم حفظ كل هذه البيانات في متغير كما هو موضح أدناه للاستخدام في المستقبل.
حساب المسافة (الزناد ، صدى) ؛ الإشارة = analogRead (عن بعد) ؛ Intens = analogRead (Light) ؛
نبدأ بالتحقق من إشارة التحكم عن بعد. نحن نستخدم متغيرًا يسمى same_count للتحقق من عدد المرات التي يتم فيها تكرار نفس القيم من مستقبل الترددات اللاسلكية. سيحدث هذا التكرار فقط عند الضغط على الزر. لذلك نقوم بتشغيل إنذار الضغط عن بعد إذا تجاوز العدد قيمة 100.
// تحقق من الضغط على جهاز التحكم عن بعد int temp = analogRead (Remote) ؛ مماثل_count = 0 ؛ while (Signal == temp) {Signal = analogRead (Remote) ؛ مماثل_count ++ ؛ } // إذا تم الضغط عن بعد إذا (مماثلة_كونت <100) {Serial.print (similar_count) ؛ Serial.println ("الضغط عن بعد") ؛ digitalWrite (Buzz، HIGH)؛ تأخير (3000)؛ digitalWrite (Buzz، LOW)؛ }
يمكنك أيضًا التحقق منه على Serial Monitor على جهاز الكمبيوتر الخاص بك:
بعد ذلك نتحقق من شدة الضوء حول الأعمى. إذا أعطى LDR قيمة أقل من 200 ، فمن المفترض أن تكون مظلمة للغاية ونقدم له التحذير من خلال الجرس مع نغمة تأخير محددة تصل إلى 200 مللي ثانية. إذا كانت الشدة شديدة السطوع أكثر من 800 ، فإننا نقدم تحذيرًا أيضًا بنبرة أخرى. يمكن تغيير نغمة التنبيه وشدته بسهولة عن طريق تغيير القيمة ذات الصلة في الكود أدناه.
// إذا كان مظلمًا جدًا إذا (Intens <200) {Serial.print (Intens) ؛ Serial.println ("ضوء ساطع") ؛ digitalWrite (Buzz، HIGH)؛ تأخير (500) ؛ } // إذا كان شديد السطوع إذا (Intens> 800) {Serial.print (Intens) ؛ Serial.println ("إضاءة منخفضة") ؛ digitalWrite (Buzz، HIGH)؛ }
أخيرًا ، نبدأ في قياس المسافة من أي عائق. لن يكون هناك إنذار إذا كانت المسافة المقاسة أكثر من 50 سم. ولكن ، إذا كان أقل من 50 سم ، فسيبدأ التنبيه بإصدار صوت صفير. عندما يقترب الكائن من الجرس ، سينخفض أيضًا الفاصل الزمني للصفير. كلما اقترب الكائن كلما زادت سرعة إصدار الجرس. يمكن القيام بذلك عن طريق إنشاء تأخير يتناسب مع المسافة المقاسة. نظرًا لأن التأخير () في Arduino لا يمكنه قبول المتغيرات ، فيجب علينا استخدام حلقة for والتي تعتمد على المسافة المقاسة كما هو موضح أدناه.
إذا (dist <50) {Serial.print (dist) ؛ Serial.println ("تنبيه الكائن") ؛ DigitalWrite (Buzz، HIGH) ؛ لـ (int i = dist ؛ i> 0 ؛ i--) تأخير (10) ؛ الكتابة الرقمية (الطنين ، منخفضة) ؛ لـ (int i = dist ؛ i> 0 ؛ i--) تأخير (10) ؛ }
تعرف على المزيد حول قياس المسافة باستخدام مستشعر Ultrasonic و Arduino.
يمكن تكييف البرنامج بسهولة مع تطبيقك عن طريق تغيير القيمة التي نستخدمها للمقارنة. يمكنك استخدام الشاشة التسلسلية لتصحيح الأخطاء إذا تم تشغيل إنذار خاطئ. إذا كانت لديك أي مشكلة ، يمكنك استخدام قسم التعليقات أدناه لنشر أسئلتك
اردوينو Blind Stick أثناء العمل:
أخيرًا ، حان الوقت لاختبار مشروع اردوينو الخاص بنا. تأكد من إجراء التوصيلات وفقًا لمخطط الدائرة وتم تحميل البرنامج بنجاح. الآن ، قم بتشغيل كلتا الدائرتين باستخدام بطارية 9 فولت ويجب أن تبدأ في رؤية النتائج. حرك مستشعر Ultra Sonic بالقرب من الكائن وستلاحظ صوت الطنان ويزداد تردد الصفير هذا مع اقتراب العصا من الكائن. إذا كان LDR مغطى بالظلام أو إذا كان هناك الكثير من الضوء ، سيصدر الجرس صوتًا. إذا كان كل شيء طبيعيًا ، فلن يصدر صوت صفير.
عندما تضغط على الزر الموجود على جهاز التحكم عن بُعد ، سيصدر الجرس صوتًا طويلاً. يظهر العمل الكامل لهذه العصا الذكية للمكفوفين باستخدام Arduino في الفيديو المقدم في نهاية هذه الصفحة. أنا أيضًا أستخدم عصا صغيرة لتركيب التجميع الكامل ، يمكنك استخدام عصا أكبر أو عصا أعمى فعلية وتشغيلها.
إذا كان الجرس يصدر صوتًا دائمًا ، فهذا يعني أن الإنذار تم إطلاقه بشكل خاطئ. يمكنك فتح الشاشة التسلسلية للتحقق من المعلمات والتحقق من أيها يقع في الحرجة وضبط ذلك. كما هو الحال دائمًا ، يمكنك نشر مشكلتك في قسم التعليقات للحصول على المساعدة. آمل أن تكون قد فهمت المشروع واستمتعت ببناء شيء ما.