مقدمة
إضافة أوحدة الكاميراإلى نظام مضمن يفتح رؤية الآلة والأمن والروبوتات وإنترنت الأشياء. على عكس كمبيوتر سطح المكتب حيث تقوم فقط بتوصيل كاميرا ويب USB، يحتاج التكامل المضمن إلى تفكير متأني حول الواجهة وبرامج التشغيل والطاقة والحجم. تتناول هذه المقالة الخطوات العملية لدمج أنواع الكاميرات المختلفة - بدءًا من أوحدة الكاميرا الصغيرةمع MIPI CSI-2، إلى أوحدة الكاميرا CMOSمع USB، وحتى كيف أوحدة استشعار الأشعة تحت الحمراء UARTيمكن أن تعمل جنبا إلى جنب مع الكاميرا.
الخطوة 1: اختر وحدة الكاميرا المناسبة
أولاً، اختر أوحدة الكاميرا الاستشعارالذي يناسب حدود النظام المضمن الخاص بك.
- واجهة- الخيارات الشائعة: MIPI CSI-2 (زمن انتقال منخفض، طاقة منخفضة، مباشر إلى المعالج)، USB (UVC، التوصيل والتشغيل، كابلات أطول)، أو متوازي (المزيد من الدبابيس، الأقدم). بالنسبة لمعظم الأنظمة المضمنة، MIPI هو الأفضل.
- دقة- 720p أو 1080p كافية للعديد من المهام؛ يحتاج 4K إلى معالج قوي.
- الحجم المادي – A وحدة الكاميرا الصغيرة(على سبيل المثال، 8 مم × 8 مم) يناسب الأجهزة المدمجة. بالنسبة للمساحات الصغيرة، توجد وحدات على مستوى لوحة COB.
- حساسية– بالنسبة للإضاءة المنخفضة أو الأشعة تحت الحمراء، اختر أوحدة الكاميرا CMOSمع وحدات البكسل ذات الإضاءة الخلفية (BSI).
ملحوظة: أوحدة استشعار الأشعة تحت الحمراء UARTليست الكاميرا. يقوم بإخراج بيانات المسافة أو التواجد عبر UART. يمكنك إضافة واحدة لاكتشاف الحركة وتنشيط الكاميرا.
الخطوة 2: فهم واجهة الأجهزة
- MIPI CSI-2- تحتوي معظم المعالجات المدمجة (Raspberry Pi، وi.MX، وSTM32MP، وJetson) على موصل CSI مخصص. أنت بحاجة إلى كابل شريطي وموصل مطابق. الوحدة كاميرا التوت 2يعد هذا مثالًا كلاسيكيًا - حيث يتم توصيله مباشرةً بمنفذ Pi's CSI.
- USB– إذا كان المعالج الخاص بك يحتوي على مضيف USB (على سبيل المثال، Raspberry Pi، وBeagleBone)، فيمكنك استخدام وحدة كاميرا USB. يقوم برنامج تشغيل UVC الخاص بـ Linux kernel بالتعامل معه تلقائيًا.
- الموازي / DVP- تستخدم وحدات MCU الأقدم أو منخفضة الطاقة (مثل بعض STM32F4) واجهة متوازية. يتطلب هذا العديد من دبابيس GPIO وتوقيتًا دقيقًا.
- وحدة استشعار الأشعة تحت الحمراء UART– قم بتوصيله بـ UART (TX/RX) على المعالج الخاص بك. اقرأ بياناته التسلسلية للحصول على قيم المسافة أو التواجد.
الخطوة 3: إعداد نظام التشغيل وبرامج التشغيل
- لينكس- بالنسبة لكاميرات MIPI، قم بتمكين تراكب شجرة الجهاز الصحيح (على سبيل المثال، في Raspberry Pi: dtoverlay=imx219). تستخدم كاميرات USB برنامج تشغيل uvcvideo المدمج. استخدم Video4Linux (V4L2) للالتقاط. الأمر: v4l2-ctl --list-devices.
- أندرويد– يتم دعم كاميرات MIPI من خلال Camera HAL. يتضمن مزودو خدمات الأعمال (BSPs) للموردين برامج تشغيل.
- RTOS (فريرتوس، زفير)- قد تحتاج إلى كتابة سائق. الكاميرات المتوازية الأبسط أسهل.
- لوحدة استشعار الأشعة تحت الحمراء UARTما عليك سوى قراءة الأحرف من الجهاز التسلسلي وتحليلها.
الخطوة 4: التكامل الجسدي
- تصاعد– تأمينوحدة الكاميرا الصغيرةمع مسامير أو لاصقة. قم بمحاذاة العدسة مع أي نافذة.
- الكابلات- شرائط MIPI هشة؛ اجعلها قصيرة وتجنب الانحناءات الحادة. يمكن أن تكون كابلات USB أطول ولكنها تحتاج إلى تخفيف الضغط.
- قوة– التحقق من جهد الكاميرا (عادة 3.3 فولت أو 5 فولت). تحتاج بعض الوحدات إلى مستلزمات متعددة. أوحدة الكاميرا CMOSمع منظم مدمج قد يحتاج فقط إلى 3.3 فولت.
- إيمي– إشارات MIPI يمكن أن تسبب تداخلاً. استخدم الكابلات المحمية والطائرات الأرضية.
الخطوة 5: كتابة برنامج للوصول إلى الكاميرا
- استخدام V4L2 (لينكس)– افتح /dev/videoX، واضبط التنسيق (على سبيل المثال، V4L2_PIX_FMT_YUYV أو MJPEG)، واطلب المخازن المؤقتة، وابدأ البث. يستخدم الكثيرون libcamera أو GStreamer.
- على Raspberry Pi مع وحدة كاميرا Raspberry 2– استخدم libcamera-jpeg لالتقاط صورة ثابتة:
- libcamera-jpeg -o test.jpg
- كاميرا USB مع بايثون– يستطيع OpenCV الوصول إلى أي كاميرا UVC: cap=cv2.VideoCapture(0)
- قراءة وحدة استشعار الأشعة تحت الحمراء UART- افتح المنفذ التسلسلي (على سبيل المثال، /dev/ttyS0) بمعدل الباود الصحيح واقرأ إطارات البيانات.
الخطوة 6: تحسين القيود المضمنة
قم بتقليل معدل الإطارات (على سبيل المثال، 5‑15 إطارًا في الثانية) لتوفير وحدة المعالجة المركزية والطاقة.
دقة أقل - غالبًا ما تكون الدقة العالية الكاملة مبالغة؛ استخدم عائد استثمار أصغر.
استخدم منطقة الاهتمام (ROI) - اقرأ جزءًا فقط من المستشعر.
الزناد مع جهاز استشعار آخر - أوحدة استشعار الأشعة تحت الحمراء UARTيمكنه تنشيط الكاميرا فقط عند اكتشاف الحركة.
الخطوة 7: تصحيح المشكلات الشائعة
- لا يوجد /dev/videoX– التحقق من dmesg|فيديو جريب. بالنسبة لـ MIPI، تحقق من تراكب شجرة الجهاز.
- صورة باللون الأخضر/الوردي– تنسيق لون خاطئ أو لم يتم ضبط توازن اللون الأبيض.
- وميض– ضبط التعرض أو التحكم التلقائي في الكسب.
- وحدة المعالجة المركزية عالية- استخدم ترميز الأجهزة (H.264) أو دقة أقل.
مثال: وحدة كاميرا Raspberry Pi + raspberry 2 + مستشعر الأشعة تحت الحمراء UART
قم بتوصيل الكاميرا بمنفذ CSI.
قم بتوصيل مستشعر مسافة الأشعة تحت الحمراء UART بدبابيس GPIO UART.
اكتب نصًا بلغة Python يقرأ المستشعر. عندما تكون المسافة أقل من العتبة، التقط صورة JPEG من الكاميرا.
وهذا يجعل الكاميرا بسيطة تعمل بالحركة.
خاتمة
دمج أوحدة الكاميرافي نظام مضمن يتطلب اختيار الحقوحدة الكاميرا الاستشعار(الواجهة، الحجم، الدقة)، توصيله بشكل صحيح (MIPI أو USB)، تكوين نظام التشغيل/برنامج التشغيل، وكتابة برنامج التقاط فعال. أوحدة الكاميرا الصغيرةرائع للتصميمات المدمجة. أوحدة الكاميرا CMOSيقدم أداءً عصريًا منخفض الطاقة. الوحدة كاميرا التوت 2هو خيار سهل للنماذج الأولية. إضافة أوحدة استشعار الأشعة تحت الحمراء UARTيتيح التنبيه الذكي أو دمج البيانات. ومن خلال التخطيط الدقيق، يمكنك إضافة رؤية موثوقة إلى أي جهاز مضمن.
الاتصال الصادق للعرفوحدة الكاميرادعم التكامل.





