جدول المحتويات:
- الخطوة 1: قائمة المواد
- الخطوة الثانية: بناء رقصة ليزر وكاميرا
- الخطوة 3: تشغيل الليزر وشاشة LCD
- الخطوة 4: الكشف عن الليزر باستخدام OpenCV
- الخطوة 5: معايرة Range Finder
- الخطوة السادسة: قياس المسافات
فيديو: صنع محدد المدى باستخدام الليزر والكاميرا: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
أخطط حاليًا لبعض الأعمال الداخلية للربيع القادم ، لكن بما أنني اشتريت للتو منزلًا قديمًا ، فليس لدي أي مخطط للمنزل. لقد بدأت في قياس المسافات من الجدار إلى الجدار باستخدام المسطرة ولكنها بطيئة وعرضة للخطأ. فكرت في شراء أداة تحديد المدى لتسهيل العملية ولكن بعد ذلك وجدت مقالًا قديمًا حول بناء أداة تحديد المدى الخاصة بها باستخدام الليزر والكاميرا. كما اتضح ، لدي هذه المكونات في ورشة العمل الخاصة بي.
يعتمد المشروع على هذه المقالة:
الاختلاف الوحيد هو أنني سأبني أداة تحديد المدى باستخدام Raspberry Pi Zero W وشاشة LCD ووحدة كاميرا Raspberry Pi. سأستخدم أيضًا OpenCV لتتبع الليزر.
سأفترض أنك خبير تقني وأنك مرتاح لاستخدام Python وسطر الأوامر. في هذا المشروع ، أستخدم Pi في وضع مقطوعة الرأس.
لنبدأ!
الخطوة 1: قائمة المواد
بالنسبة لهذا المشروع ، سوف تحتاج إلى:
- ليزر رخيص 6 مم 5 ميجاوات
- مقاوم 220
- ترانزستور 2N2222A أو ما يعادله
- a Raspberry Pi Zero W
- كاميرا Raspberry Pi v2.0
- شاشة Nokia 5110 LCD أو ما يعادلها
- بعض أسلاك العبور ولوح صغير
لقد استخدمت الطابعة ثلاثية الأبعاد لطباعة رقصة ساعدتني أثناء التجارب. أخطط أيضًا لاستخدام الطابعة ثلاثية الأبعاد لإنشاء حاوية كاملة لجهاز البحث عن النطاق. يمكنك الاستغناء عنه تمامًا.
الخطوة الثانية: بناء رقصة ليزر وكاميرا
يفترض النظام مسافة ثابتة بين عدسة الكاميرا ومخرج الليزر. لتسهيل الاختبارات ، قمت بطباعة رقصة يمكنني من خلالها تركيب الكاميرا والليزر ودائرة قيادة صغيرة لليزر.
لقد استخدمت أبعاد وحدة الكاميرا لبناء حامل الكاميرا. لقد استخدمت بشكل أساسي فرجار رقمي ومسطرة دقيقة لأخذ القياسات. بالنسبة لليزر ، قمت بإنشاء ثقب بحجم 6 مم مع القليل من التعزيز لضمان عدم تحرك الليزر. حاولت الاحتفاظ بمساحة كافية لتثبيت لوح صغير في الجزء الخلفي من الرقصة.
لقد استخدمت Tinkercad للبناء ، يمكنك العثور على النموذج هنا:
يوجد مسافة 3.75 سم بين مركز عدسة الليزر ومركز عدسة الكاميرا.
الخطوة 3: تشغيل الليزر وشاشة LCD
لقد اتبعت هذا البرنامج التعليمي https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi لتشغيل شاشة LCD باستخدام Raspberry Pi Zero. بدلاً من تحرير ملف /boot/config.txt ، يمكنك تمكين واجهة SPI باستخدام sudo raspi-config عبر سطر الأوامر.
أنا أستخدم Raspberry Pi Zero في وضع مقطوعة الرأس باستخدام أحدث ، في الوقت الحالي ، Raspbian Stretch. لن أقوم بتغطية التثبيت في Instructable هذا ولكن يمكنك اتباع هذا الدليل: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- سطر الأوامر أو استخدام الشبكة 97f065af722e
للحصول على نقطة ليزر ساطعة ، أستخدم سكة 5V من Pi. لذلك ، سأستخدم ترانزستور (2N2222a أو ما يعادله) لقيادة الليزر باستخدام GPIO. يسمح المقاوم 220 الموجود في قاعدة الترانزستور بتيار كافٍ عبر الليزر. أنا أستخدم RPi. GPIO لمعالجة Pi GPIO. لقد قمت بتوصيل قاعدة الترانزستور بدبوس GPIO22 (الدبوس الخامس عشر) ، والباعث على الأرض ، والمجمع بصمام الليزر.
لا تنس تمكين واجهة الكاميرا باستخدام sudo raspi-config عبر سطر الأوامر.
يمكنك استخدام هذا الرمز لاختبار الإعداد الخاص بك:
إذا سارت الأمور على ما يرام ، يجب أن يكون لديك ملف dot-j.webp
في الكود ، نقوم بإعداد الكاميرا و GPIO ، ثم نقوم بتمكين الليزر ، والتقاط الصورة ، وتعطيل الليزر. نظرًا لأنني أقوم بتشغيل Pi في وضع مقطوعة الرأس ، فأنا بحاجة إلى نسخ الصور من Pi إلى جهاز الكمبيوتر الخاص بي قبل عرضها.
في هذه المرحلة ، يجب تكوين أجهزتك.
الخطوة 4: الكشف عن الليزر باستخدام OpenCV
أولاً ، نحتاج إلى تثبيت OpenCV على Pi. لديك ثلاث طرق للقيام بذلك. يمكنك إما تثبيت الإصدار القديم مع apt. يمكنك تجميع الإصدار الذي تريده ولكن في هذه الحالة يمكن أن يصل وقت التثبيت إلى 15 ساعة ومعظمها للترجمة الفعلية. أو ، أسلوبي المفضل ، يمكنك استخدام نسخة مجمعة مسبقًا لـ Pi Zero التي توفرها جهة خارجية.
نظرًا لأنه أبسط وأسرع ، فقد استخدمت حزمة طرف ثالث. يمكنك العثور على خطوات التثبيت في هذه المقالة: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ لقد جربت العديد من المصادر الأخرى ولكن حزمها لم تكن محدثة.
لتتبع مؤشر ليزر ، قمت بتحديث الكود من https://github.com/bradmontgomery/python-laser-tracker لاستخدام وحدة كاميرا Pi بدلاً من جهاز USB. يمكنك استخدام الرمز مباشرة إذا لم يكن لديك وحدة كاميرا Pi وتريد استخدام كاميرا USB.
يمكنك العثور على الكود الكامل هنا:
لتشغيل هذا الرمز ، ستحتاج إلى تثبيت حزم Python: pillow and picamera (sudo pip3 قم بتثبيت وسادة picamera).
الخطوة 5: معايرة Range Finder
في المقالة الأصلية ، صمم المؤلف إجراء معايرة للحصول على المعلمات المطلوبة لتحويل إحداثيات y إلى مسافة فعلية. لقد استخدمت طاولة غرفة المعيشة الخاصة بي للمعايرة وقطعة قديمة من كرافت. كل 10 سم أو نحو ذلك لاحظت إحداثيات x و y في جدول بيانات: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… للتأكد من أن كل شيء يعمل بشكل صحيح ، في كل خطوة ، قمت بفحص الصور الملتقطة لمعرفة ما إذا تم تتبع الليزر بشكل صحيح. إذا كنت تستخدم ليزرًا أخضر أو إذا لم يتم تتبع الليزر الخاص بك بشكل صحيح ، فستحتاج إلى ضبط درجة اللون والتشبع وقيمة البرنامج وفقًا لذلك.
بمجرد الانتهاء من مرحلة القياس ، حان الوقت لحساب المعلمات فعليًا. مثل المؤلف استخدمت الانحدار الخطي. في الواقع ، قام Google Spreadsheet بالمهمة بالنسبة لي. ثم أعدت استخدام هذه المعلمات لحساب المسافة المقدرة والتحقق منها مقابل المسافة الفعلية.
حان الوقت الآن لحقن المعلمات في برنامج أداة تحديد المدى لقياس المسافات.
الخطوة السادسة: قياس المسافات
في الكود: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c قمت بتحديث المتغيرات HEIGHT و GAIN و OFFSET وفقًا لقياسات المعايرة. لقد استخدمت صيغة المسافة في المقالة الأصلية لتقدير المسافة وقمت بطباعة المسافة باستخدام شاشة LCD.
سيقوم الكود أولاً بإعداد الكاميرا و GPIO ، ثم نريد أن نضيء الإضاءة الخلفية لشاشة LCD لرؤية القياسات بشكل أفضل. تم توصيل مدخل LCD بـ GPIO14. كل 5 ثوانٍ أو نحو ذلك ، سنقوم بما يلي:
- تمكين الصمام الثنائي ليزر
- التقاط الصورة في الذاكرة
- تعطيل الصمام الثنائي ليزر
- تتبع الليزر باستخدام مرشحات نطاق HSV
- كتابة الصورة الناتجة على القرص لغرض التصحيح
- احسب المسافة بناءً على إحداثي ص
- اكتب المسافة على شاشة LCD.
ومع ذلك ، فإن المقاييس دقيقة للغاية ودقيقة بما يكفي لحالة الاستخدام الخاصة بي ، وهناك مجال كبير للتحسينات. على سبيل المثال ، نقطة الليزر ذات جودة رديئة للغاية وخط الليزر غير متمركز بالفعل. باستخدام ليزر ذي جودة أفضل ، ستكون خطوات المعايرة أكثر دقة. حتى الكاميرا ليست في وضع جيد في تهزهز ، فهي تميل إلى الأسفل.
يمكنني أيضًا زيادة دقة أداة تحديد المدى عن طريق تدوير الكاميرا بمقدار 90 درجة باستخدام الدقة الكاملة وزيادة الدقة إلى الحد الأقصى الذي تدعمه الكاميرا. مع التنفيذ الحالي ، نحن مقيدون بنطاق من 0 إلى 384 بكسل ، يمكننا زيادة الحد الأعلى إلى 1640 ، 4 أضعاف الدقة الحالية. ستكون المسافة أكثر دقة.
كمتابعة ، سأحتاج إلى العمل على التحسينات الدقيقة التي ذكرتها أعلاه وإنشاء حاوية لجهاز تحديد المدى. يجب أن يكون العلبة ذات عمق دقيق لتسهيل القياسات من الجدار إلى الجدار.
الكل في الكل النظام الحالي كافٍ بالنسبة لي وسيوفر لي بعض الدولارات في وضع خطة منزلي!
موصى به:
افعلها بنفسك -- كيفية صنع روبوت عنكبوت يمكن التحكم فيه باستخدام الهاتف الذكي باستخدام Arduino Uno: 6 خطوات
افعلها بنفسك || كيف تصنع روبوتًا عنكبوتًا يمكن التحكم فيه باستخدام الهاتف الذكي باستخدام Arduino Uno: أثناء صنع روبوت العنكبوت ، يمكن للمرء أن يتعلم الكثير من الأشياء عن الروبوتات ، مثل صنع الروبوتات هو أمر ترفيهي بالإضافة إلى كونه صعبًا. سنشرح لك في هذا الفيديو كيفية صنع روبوت عنكبوت ، يمكننا تشغيله باستخدام هاتفنا الذكي (Androi
محدد المدى للجراج مع الأردوينو: 4 خطوات (بالصور)
Rangefinder for Garage Parking With Arduino: سيساعدك هذا المشروع البسيط على إيقاف سيارتك في المرآب من خلال عرض المسافة من الأشياء أمام مصد سيارتك ، وستخبرك رسالة `` Stop '' عندما يحين وقت التوقف. على المعتاد HC-SR04 أو Parallax Ping)))
محدد ضبط DIP باستخدام دبوس واحد: 4 خطوات
DIP Tune Selector باستخدام دبوس واحد: عملت أثناء العودة على & quot؛ صندوق الموسيقى & quot؛ المشروع الذي يحتاج إلى الاختيار من بين ما يصل إلى 10 مقتطفات لحن مختلفة. كان الاختيار الطبيعي لاختيار نغمة معينة هو مفتاح غمس ذو 4 سنون لأن 4 مفاتيح توفر 24 = 16 إعدادًا مختلفًا. ح
ترايبود DIY - كيفية عمل حامل ثلاثي القوائم للهاتف الذكي والكاميرا بواسطة الهوائي: 8 خطوات
ترايبود DIY | كيفية صنع هاتف ذكي وحامل ثلاثي القوائم للكاميرا بواسطة الهوائي: عندما أبحث عن حامل ثلاثي القوائم لصنع مقاطع فيديو لـ CookQueens ، رأيت أن سعر كل حامل ثلاثي القوائم بطول 5 أقدام يبدأ من نطاق مرتفع جدًا على موقع تجارة إلكترونية مختلف. أنا أيضًا أنتظر الخصم ، لكنني لم أحصل على ذلك. بعد ذلك ، قررت أن أجعل
عرض ضوء الليزر للموسيقى بوكس الليزر: 18 خطوة (بالصور)
برنامج ليزر بوكس ميوزيك لايت شو: لقد نشرت سابقًا Instructable الذي وصف كيفية استخدام محركات الأقراص الثابتة للكمبيوتر لعمل عرض ضوئي للموسيقى بالليزر. قررت أن أصنع نسخة مضغوطة باستخدام صندوق كهربائي ومحركات سيارة RC. قبل أن أبدأ ربما يجب أن أخبرك أن الليز