- المواد المطلوبة
- ما هو مقياس المغناطيسية وكيف يعمل؟
- كيف تعمل وحدة الاستشعار HMC5883L
- مخطط الرسم البياني
- تصنيع ثنائي الفينيل متعدد الكلور للبوصلة الرقمية
- تجميع ثنائي الفينيل متعدد الكلور
- برمجة اردوينو
يتكون الدماغ البشري من طبقة معقدة من الهياكل التي تساعدنا على أن نكون كائنات سائدة على الأرض. على سبيل المثال ، يمكن أن تمنحك القشرة المخية الداخلية في دماغك إحساسًا بالاتجاه ، مما يساعدك على التنقل بسهولة عبر الأماكن التي لا تعرفها. ولكن على عكسنا ، تحتاج الروبوتات ومركبات أريل غير المأهولة إلى شيء ما للحصول على هذا الإحساس بالاتجاه حتى يتمكنوا من المناورة بشكل مستقل في تضاريس ومناظر طبيعية جديدة. تستخدم الروبوتات المختلفة أنواعًا مختلفة من أجهزة الاستشعار لتحقيق ذلك ، ولكن الأكثر استخدامًا هو مقياس المغناطيسية ، والذي يمكن أن يُعلم الروبوت بالاتجاه الجغرافي الجرافيكي الذي يواجهه حاليًا. لن يساعد هذا الروبوت على الشعور بالاتجاه فحسب ، بل سيساعد أيضًا الروبوت على التناوب في اتجاه محدد مسبقًا وملاك.
نظرًا لأن المستشعر يمكن أن يشير إلى الشكل الجغرافي للشمال والجنوب والشرق والغرب ، فيمكننا نحن البشر أيضًا استخدامه في بعض الأحيان عند الحاجة. لذا في هذه المقالة ، دعونا نحاول فهم كيفية عمل مستشعر مقياس المغناطيسية وكيفية توصيله بوحدة تحكم دقيقة مثل Arduino. سنقوم هنا ببناء بوصلة رقمية رائعة ستساعدنا في العثور على الاتجاهات من خلال توهج مصباح LED يشير إلى اتجاه الشمال. تم تصنيع هذه البوصلة الرقمية بدقة على ثنائي الفينيل متعدد الكلور من PCBGOGO ، بحيث يمكنني حملها في المرة القادمة عندما أخرج في البرية وأتمنى أن أضيع لمجرد استخدام هذا الشيء لإيجاد طريقي إلى المنزل. هيا بنا نبدأ.
المواد المطلوبة
- اردوينو برو ميني
- جهاز استشعار مقياس المغناطيسية HMC5883L
- مصابيح LED - 8Nos
- 470Ohm المقاوم - 8Nos
- جاك برميل
- مصنع موثوق لثنائي الفينيل متعدد الكلور مثل PCBgogo
- مبرمج FTDI للميني
- كمبيوتر / كمبيوتر محمول
ما هو مقياس المغناطيسية وكيف يعمل؟
قبل أن نغوص في الدائرة ، دعونا نفهم قليلاً عن مقياس المغناطيسية وكيفية عملها. كما يوحي الاسم ، فإن المصطلح Magneto لا يشير إلى ذلك المتحول المجنون في الأعجوبة الذي يمكنه التحكم في المعادن بمجرد العزف على البيانو في الهواء. أوه! لكني أحب ذلك الرجل فهو رائع.
مقياس المغناطيسية هو في الواقع قطعة من المعدات يمكنها استشعار الأقطاب المغناطيسية للأرض وتوجيه الاتجاه وفقًا لذلك. نعلم جميعًا أن الأرض قطعة ضخمة من المغناطيس الكروي مع القطب الشمالي والقطب الجنوبي. وبسبب ذلك يوجد مجال مغناطيسي. يستشعر مقياس المغنطيسية هذا المجال المغناطيسي وبناءً على اتجاه المجال المغناطيسي يمكنه اكتشاف الاتجاه الذي نواجهه.
كيف تعمل وحدة الاستشعار HMC5883L
جهاز HMC5883L كونه مستشعر مغناطيسي يقوم بنفس الشيء. يحتوي على HMC5883L IC عليه وهو من شركة Honeywell. يحتوي هذا IC على 3 مواد مغناطيسية مقاومة داخلها مرتبة في المحاور x و y و z. إن كمية التيار المتدفق عبر هذه المواد حساسة للمجال المغناطيسي للأرض. لذلك بقياس التغيير في التيار المتدفق عبر هذه المواد يمكننا اكتشاف التغيير في المجال المغناطيسي للأرض. بمجرد امتصاص التغيير في المجال المغناطيسي ، يمكن إرسال القيم إلى أي وحدة تحكم مضمنة مثل وحدة التحكم الدقيقة أو المعالج من خلال بروتوكول I2C.
نظرًا لأن المستشعر يعمل عن طريق استشعار المجال المغناطيسي ، فستتأثر قيم الإخراج بشكل كبير إذا تم وضع معدن في مكان قريب. يمكن الاستفادة من هذا السلوك لاستخدام هذه المستشعرات كأجهزة الكشف عن المعادن أيضًا. يجب الحرص على عدم تقريب المغناطيس من هذا المستشعر لأن المجال المغناطيسي القوي من المغناطيس قد يؤدي إلى قيم خاطئة على المستشعر.
الفرق بين HMC5883L و QMC5883L
هناك ارتباك شائع يدور حول هذه المستشعرات للعديد من المبتدئين. هذا لأن بعض البائعين (في الواقع معظمهم) يبيعون مستشعرات QMC5883L بدلاً من HMC5883L الأصلي من شركة Honeywell. يرجع ذلك في الغالب إلى أن QMC5883L أرخص بكثير من وحدة HMC5883L. الجزء المحزن هو أن عمل هذين المستشعرين مختلف قليلاً ولا يمكن استخدام نفس الرمز لكليهما. هذا لأن عنوان I2C لكلا المستشعرين ليس هو نفسه. سيعمل الكود الوارد في هذا البرنامج التعليمي فقط مع QMC5883L وحدة الاستشعار المتاحة بشكل شائع.
لمعرفة طراز المستشعر الذي تستخدمه ، عليك فقط البحث عن كثب في IC نفسه لقراءة ما هو مكتوب فوقه. إذا تمت كتابة شيء مثل L883 فهو HMC58836L وإذا كان مكتوبًا بشيء مثل DA5883 فهو QMC5883L IC. تظهر كلتا الوحدتين في الصورة أدناه لتسهيل فهمها.
مخطط الرسم البياني
دائرة البوصلة الرقمية القائمة على Arduino بسيطة للغاية ، علينا ببساطة توصيل مستشعر HMC5883L مع Arduino وتوصيل 8 مصابيح LED بدبابيس GPIO في Arduino Pro mini. يظهر مخطط الدائرة الكاملة أدناه
تحتوي وحدة المستشعر على 5 دبابيس لا يتم استخدام DRDY (Data Ready) منها في مشروعنا لأننا نقوم بتشغيل المستشعر في الوضع المستمر. يتم استخدام Vcc والدبوس الأرضي لتشغيل الوحدة بجهد 5 فولت من لوحة Arduino. SCL و SDA هما خطو ناقل اتصال I2C متصلان بمسامير A4 و A5 I2C في Arduino Pro mini على التوالي. نظرًا لأن الوحدة نفسها بها مقاومة سحب عالية على الخطوط ، فلا داعي لإضافتها خارجيًا.
للإشارة إلى الاتجاه الذي استخدمنا فيه 8 مصابيح LED جميعها متصلة بدبابيس GPIO في Arduino من خلال المقاوم الحالي المحدد بـ 470 أوم. يتم تشغيل الدائرة الكاملة بواسطة بطارية 9 فولت من خلال قابس الأسطوانة. يتم توفير هذا 9V مباشرة إلى دبوس Vin في Arduino حيث يتم تنظيمه إلى 5V باستخدام منظم على متن Arduino. ثم يتم استخدام 5V لتشغيل المستشعر و Arduino أيضًا.
تصنيع ثنائي الفينيل متعدد الكلور للبوصلة الرقمية
تتمثل فكرة الدائرة في وضع 8 مصابيح LED بطريقة دائرية بحيث يشير كل مؤشر إلى جميع الاتجاهات الثمانية وهي الشمال والشمال الشرقي والشرق والجنوب الشرقي والجنوب والجنوب الغربي والغرب والشمال الغربي على التوالي. لذلك ليس من السهل ترتيبها بدقة على لوح التجارب أو حتى على لوحة مثالية لهذا الأمر. تطوير ثنائي الفينيل متعدد الكلور لهذه الدائرة سيجعلها تبدو أكثر أناقة وسهولة في الاستخدام. لذلك فتحت برنامج تصميم ثنائي الفينيل متعدد الكلور الخاص بي ووضعت مصابيح LED والمقاوم في نمط دائري أنيق وقمت بتوصيل المسارات لتشكيل الاتصالات. بدا تصميمي مثل هذا أدناه عند الانتهاء. يمكنك أيضًا تنزيل ملف Gerber من الرابط أدناه.
- قم بتنزيل ملف Gerber لـ Digital Compass PCB
لقد قمت بتصميمها لتكون لوحة مزدوجة الجانب لأنني أريد أن يكون Arduino في الجانب السفلي من ثنائي الفينيل متعدد الكلور الخاص بي حتى لا يفسد المظهر الموجود أعلى ثنائي الفينيل متعدد الكلور. إذا كنت قلقًا من أنه يتعين عليك دفع مبالغ عالية مقابل ثنائي الفينيل متعدد الكلور مزدوج الجانب ، فانتظر ، لقد حصلت على قادم جديد جيد.
الآن ، بعد أن أصبح تصميمنا جاهزًا ، فقد حان الوقت لتصنيعها. لإنجاز PCB سهل للغاية ، ما عليك سوى اتباع الخطوات أدناه
الخطوة 1: ادخل إلى www.pcbgogo.com ، واشترك إذا كانت هذه هي المرة الأولى لك. بعد ذلك ، في علامة التبويب PCB Prototype ، أدخل أبعاد PCB وعدد الطبقات وعدد PCB الذي تحتاجه. يبلغ حجم ثنائي الفينيل متعدد الكلور 80 سم × 80 سم لذا تبدو علامة التبويب كما يلي
الخطوة 2: تابع بالنقر فوق الزر Quote Now . سيتم نقلك إلى صفحة حيث يتم تعيين عدد قليل من المعلمات الإضافية إذا لزم الأمر مثل تباعد المواد المستخدمة وما إلى ذلك. ولكن في الغالب ستعمل القيم الافتراضية بشكل جيد. الشيء الوحيد الذي يتعين علينا التفكير فيه هنا هو السعر والوقت. كما ترى ، فإن مدة البناء هي 2-3 أيام فقط وتكلف 5 دولارات فقط لجهاز PSB الخاص بنا. يمكنك بعد ذلك تحديد طريقة الشحن المفضلة بناءً على متطلباتك.
الخطوة 3: الخطوة الأخيرة هي تحميل ملف Gerber ومتابعة الدفع. للتأكد من أن العملية سلسة ، يتحقق PCBGOGO مما إذا كان ملف Gerber الخاص بك صالحًا قبل متابعة الدفع. بهذه الطريقة يمكنك التأكد من أن ثنائي الفينيل متعدد الكلور الخاص بك سهل التصنيع وسيصل إليك كما هو ملتزم
تجميع ثنائي الفينيل متعدد الكلور
بعد طلب اللوحة ، وصلتني بعد بضعة أيام على الرغم من أن البريد السريع في صندوق معبأ جيدًا ومثل دائمًا كانت جودة PCB رائعة. أشارك بعض صور اللوحات أدناه لكي تحكم عليها.
قمت بتشغيل قضيب اللحام الخاص بي وبدأت في تجميع اللوحة. نظرًا لأن بصمات الأقدام والوسادات والفتحات والشاشة الحريرية هي بالشكل والحجم المناسبين تمامًا ، لم أواجه مشكلة في تجميع اللوحة. كانت اللوحة جاهزة في غضون 10 دقائق فقط من وقت تفريغ الصندوق.
يتم عرض صور قليلة للوحة بعد اللحام أدناه.
برمجة اردوينو
الآن بعد أن أصبحت أجهزتنا جاهزة ، دعونا ننظر في البرنامج الذي يجب تحميله على لوحة Arduino الخاصة بنا. الغرض من الكود هو قراءة البيانات من مستشعر مقياس المغناطيسية QMC5883L وتحويلها إلى درجة (0 إلى 360). بمجرد معرفة الدرجة ، يتعين علينا تشغيل مؤشر LED يشير إلى اتجاه معين. الاتجاه الذي استخدمته في هذا البرنامج هو الشمال. لذلك بغض النظر عن مكان وجودك ، سيكون هناك مؤشر LED واحد فقط متوهج على لوحك وسيشير اتجاه مؤشر LED إلى الاتجاه الشمالي. مرة واحدة يمكن أن نحسب لاحقا الاتجاه الآخر هو اتجاه واحد معروف.
يمكن العثور على الكود الكامل لمشروع Digital Compass هذا في نهاية هذه الصفحة. يمكنك تحميله مباشرة على لوحتك بعد تضمين المكتبة وأنت على استعداد للذهاب. لكن ، إذا كنت تريد أن تعرف