جدول المحتويات:
- الخطوة 1: ما سوف تحتاجه
- الخطوة 2: توصيل وحدة الكاميرا
- الخطوة الثالثة: إعداد الكاميرا
- الخطوة 4: اختبار وحدة الكاميرا
- الخطوة 5: إنشاء الدائرة بالكود
فيديو: كشك تصوير Raspberry Pi: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
الغرض:
- تعرف على كيفية ترميز وتثبيت كاميرا Pi
- استخدام عبارات التعريف و if في الترميز
- تعلم استخدام التكنولوجيا الجديدة مثل RGB LEDs
الخطوة 1: ما سوف تحتاجه
- 1 Raspberry Pi 3
- اللوح
- صداري
- 1 مقاوم يعتمد على الضوء
- 1 مكثف
- 1 زر ضغط
- 6220 أوم مقاومات
- عدد 2 RGB LEDs
- 1 كاميرا Raspberry Pi
الخطوة 2: توصيل وحدة الكاميرا
بادئ ذي بدء ، مع إيقاف تشغيل Pi ، ستحتاج إلى توصيل وحدة الكاميرا بمنفذ كاميرا Raspberry Pi ، ثم بدء تشغيل Pi والتأكد من تمكين البرنامج.
- حدد موقع منفذ الكاميرا الموجود بين منفذ HDMI ومنفذ 3.5 ملم
- اسحب مشبك الكاميرا لأعلى من الحواف البلاستيكية حتى يصبح المقطع قطريًا
- أدخل الآن كابل الكاميرات باللون الأزرق الذي يواجه المنفذ مقاس 3.5 مم
الخطوة الثالثة: إعداد الكاميرا
فتح أداة تكوين Raspberry Pi من القائمة الرئيسية وتعطيل كافة الواجهات أعلاه وتمكينها
من القائمة الرئيسية ، افتح Terminal واكتب سطور التعليمات البرمجية التالية:
سودو راسبي التكوين
الآن من هنا ، استخدم مفاتيح الأسهم الخاصة بك للعمل من خلال النظام وانقر على خيار الاتصال المحيطي ومن انقر فوق P1 Camera وقم بتمكين الكاميرا ، ثم حدد إنهاء. العودة إلى نوع المحطة الطرفية في سطور التعليمات البرمجية التالية:
نقطة تثبيت picamera
أو Sudo pip قم بتثبيت Picamera
الخطوة 4: اختبار وحدة الكاميرا
من هنا يمكننا اختبار ما إذا كانت الكاميرا تعمل أم لا لأن لدينا جميع البرامج والأجهزة ممكّنة.
افتح Python 3 من القائمة
من هناك افتح ملفًا جديدًا من الغلاف واحفظه في cameratest.py.
أدخل الرمز التالي:
من picamera ، استيراد PiCamera #imported module التي تم إنشاؤها من أمر pip install pi camera من وقت استيراد السكون # استيراد السكون للتأكد من بقاء الكاميرا على الكاميرا = PiCamera () #Setup للكاميرا
camera.start_preview () # يبدأ تشغيل الكاميرا ويظهر لك شكل إخراج الكاميرا
sleep (10) # يترك المعاينة قيد التشغيل لمدة 10 ثوانٍ
camera.stop_preview () # يخرج أخيرًا من المعاينة
قم بتشغيل الكود عن طريق F5
إذا تلقيت هذا الخطأ عند تشغيل الرمز:
(mmal: mmal_vc_component_create: فشل إنشاء المكون "vc.ril.camera" (1: ENOMEM)
mmal: mmal_component_create_core: تعذر إنشاء المكون 'vc.ril.camera' (1) Traceback (آخر مكالمة أخيرة): File "" ، السطر 1 ، في File "/usr/lib/python2.7/dist-packages/picamera /camera.py "، السطر 257 ، في _init_ self._init_camera () File" /usr/lib/python2.7/dist-packages/picamera/camera.py "، السطر 288 ، في بادئة _init_camera =" فشل إنشاء الكاميرا المكون ") ملف" /usr/lib/python2.7/dist-packages/picamera/exc.py "، السطر 112 ، في mmal_check رفع PiCameraMMALError (الحالة ، البادئة) picamera.exc. PiCameraMMALError: فشل إنشاء مكون الكاميرا: Out من الذاكرة)
يرجى الانتقال إلى تكوين Raspberry Pi ، والذهاب إلى أسفل عمود الأداء وتعزيز ذاكرة GPU الخاصة بك حتى يختفي الخطأ (يجب إعادة التشغيل).
الآن من أجل إنشاء صورة سيتم حفظها على سطح المكتب ، سنستخدم الكود التالي:
من picamera ، قم باستيراد PiCamera #Imported module التي تم إنشاؤها من أمر pip install pi camera من وقت استيراد sleep #Imported sleep للتأكد من بقاء الكاميرا قيد التشغيل
camera = PiCamera () #Setup للكاميرا
camera.start_preview () #Starts the previewsleep (5) #Leaves the preview on for 5 seconds
camera.capture ('/ home / pi / Desktop / image.jpg') # من ملف
camera.stop_preview () # يوقف المعاينة
الخطوة 5: إنشاء الدائرة بالكود
كما رأينا أعلاه من الرسوم البيانية للدائرة ، نحتاج إلى إعداد زر ، و LDR ، وأخيراً مصباحان RGB LED. سنقوم أولاً بإعداد الزر الموجود على الجانب الأيسر السفلي من اللوح. أثناء إعدادك للزر ، سنستخدم خطوط السكك الحديدية المشتركة مما يعني أننا سنقوم بتوصيل 3.3 فولت على الموجب والأرضي بالسالب. بعد الانتهاء من إعداد الدائرة للزر فقط.
سنختبر دائرتنا لمعرفة ما إذا كان بإمكاننا فعلها بحيث إذا تم الضغط على الزر ، فإننا نقوم بتشغيل المصباح باستخدام الكود التالي:
#Imported Modules من زر استيراد gpiozero من picamera استيراد PiCamera من وقت استيراد النوم
#اقامة
الكاميرا = PiCamera () زر = زر (22)
# وظيفة التقاط الصور ، لقد قررت وضعها في وظيفة تعريف لأنها تساعدنا في تنظيف الكود الرئيسي
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/ home / pi / Desktop / image.jpg') طباعة ("تم التقاط الصورة") Camera.stop_preview ()
#كود الرئيسي:
بينما صحيح: إذا Button.is_pressed: طباعة ("تم الضغط على الزر") صورة فوتوغرافية ()
# لماذا يعمل هذا: يعمل الرمز الرئيسي كما نفعل كل ما نفعله هو استخدام الأمر if button.is_pressed in a while true statement بحيث يتم تحديثه باستمرار عند الضغط على الزر لالتقاط الصورة
سنقوم الآن بإعداد 2 RGB LEDs على طول الطريق حتى الجزء العلوي من الدائرة وفصلها في منتصف اللوح وجعلها متماثلة. إذا لم يكن لديك مقاومات 220 أوم لهذا المشروع ، يمكنك إعدادها بالتوازي اعتمادًا على مقاومتك للمقاومات التي لديك. الدبوس الثاني من 4 طرف RGB LED (يجب توصيل الطرف الأطول بالأرض عبر السكة الحديدية. يجب توصيل جميع المسامير الأخرى بمسامير GPIO الخاصة بها. (الدبوس الأول = أحمر ، الدبوس الثاني = أرضي ، الدبوس الثالث = أخضر ، الدبوس الرابع = أزرق).
سنختبر أحد مصابيح RGB LED الخاصة بنا في دائرة الأزرار الخاصة بنا بالرمز أدناه:
#Imported Modules من زر استيراد gpiozero من picamera استيراد PiCamera
من gpiozero استيراد RGBLED
من وقت استيراد النوم
#اقامة
الكاميرا = PiCamera () زر = زر (22)
TimedLED = RGBLED (أحمر = 21 ، أخضر = 20 ، أزرق = 16)
# وظيفة التقاط الصور مع RGB LED ، لقد قررت وضعها في وظيفة تعريف لأنها تساعدنا في تنظيف الكود الرئيسي
def photocap (): Camera.start_preview () سكون (4)
timedled.color (1 ، 0 ، 0)
ينام (2)
timed.color (0 ، 1 ، 0)
النوم (1)
طباعة Camera.capture ('/ home / pi / Desktop / image.jpg') ("تم التقاط الصورة") Camera.stop_preview ()
#كود الرئيسي:
احيانا صحيح:
إذا Button.is_pressed:
طباعة ("تم الضغط على الزر") صورة فوتوغرافية ()
# لماذا يعمل هذا: السبب في عمل هذا الرمز هو أننا الآن حصلنا على RGBLED للعمل كمؤقت عندما يتم التقاط الصورة
الآن قم بإعداد المقاوم Light Dependent على الجانب الأيمن السفلي من اللوح باستخدام الرسم التخطيطي على طول الطريق في الأعلى وخطوط السكك الحديدية الشائعة التي تمت مناقشتها من قبل. تذكر أنه يجب توصيل كل من الأرجل الطويلة لـ LDR والمكبس بدبوس GPIO.
بعد توصيل LDR ، سنستخدم الكود التالي:
# الوحدات المستوردة
من زر استيراد gpiozero
من picamera استيراد PiCamera من gpiozero استيراد RGBLED
من gpiozero استيراد LightSensor
من وقت استيراد النوم
#اقامة
الكاميرا = PiCamera () الزر = زر (22) TimedLED = RGBLED (أحمر = 21 ، أخضر = 20 ، أزرق = 16)
LightSensor = LightSensor (23)
# وظيفة التقاط الصور مع RGB LED ، لقد قررت وضعها في وظيفة تعريف لأنها تساعدنا في تنظيف الكود الرئيسي
def photocap (): Camera.start_preview () sleep (4) timed.color (1، 0، 0) sleep (2) timed.color (0، 1، 0) sleep (1) Camera.capture ('/ home / طباعة pi / Desktop / image-j.webp
#كود الرئيسي:
احيانا صحيح:
إذا Button.is_pressed: طباعة ("تم الضغط على الزر") صورة فوتوغرافية ()
إذا كان Button.is_pressed و lightensor.when_dark:
طباعة ("تم الضغط على الزر")
print ("إنه مظلم")
فوتوكاب ()
#Why هذا يعمل: الطريقة التي أضفت بها مستشعر الضوء إلى الكود الخاص بي هي من خلال عبارة if أخرى تحتوي على الوظيفة المستوردة لمستشعر الضوء.
الآن ستكون الخطوة الأخيرة من خلال هذا المشروع هي تفعيل متماثل RGBLED الآخر للعمل كضوء فلاش ،
الكود النهائي:
من زر استيراد gpiozero
من picamera استيراد PiCamera
من gpiozero استيراد RGBLED
من gpiozero استيراد LightSensor
من وقت استيراد النوم
#اقامة
الكاميرا = PiCamera ()
زر = زر (22)
TimedLED = RGBLED (أحمر = 21 ، أخضر = 20 ، أزرق = 16)
FlashLED = RGBLED (أحمر = 19 ، أخضر = 13 ، أزرق = 6)
LightSensor = LightSensor (23)
# وظيفة التقاط الصور مع RGB LED ، لقد قررت وضعها في وظيفة تعريف لأنها تساعدنا في تنظيف الرمز الرئيسي للصور الفوتوغرافية (): Camera.start_preview () sleep (4) timed.color (1 ، 0 ، 0) sleep (2) timed.color (0، 1، 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image.jpg') طباعة ("تم التقاط الصورة") Camera.stop_preview () # الكود الرئيسي: بينما صحيح: إذا Button.is_pressed:
طباعة ("تم الضغط على الزر")
فوتوكاب ()
إذا كان Button.is_pressed و lightensor.when_dark:
طباعة ("تم الضغط على الزر") طباعة ("إنه مظلم")
FlashLED.color (1، 1، 1)
فوتوكاب ()
#Why هذا يعمل: الطريقة التي أضفت بها مصباح الفلاش الخاص بي هي باستخدام RGB أدى إلى إخراج اللون الأبيض وهو 1 ، 1 ، 1 وهو لا يفعل إلا إذا كانت عبارة if صحيحة.
موصى به:
دفقة! تصوير قطرات الماء: 10 خطوات (بالصور)
دفقة! تصوير قطرات الماء: أقوم بتصوير قطرات الماء لفترة من الوقت الآن … منذ عام 2017. ما زلت أتذكر مدى حماسي عندما ارتدت قطرات الماء من السطح مع الإعداد الأول الذي قمت به باستخدام Littlebits … مع هذه إعدادات (Mark I و Mark II) أصبحت مصدر إلهام
حامل تصوير وعرض Samsung Galaxy A3: 6 خطوات
حامل التصوير والعرض من Samsung Galaxy A3: لاحظ أن هذا مخصص فقط لجهاز Samsung Galaxy A3 لأنه يناسب التصميم
جهاز تصوير فاصل زمني: 6 خطوات
جهاز تصوير الفاصل الزمني: يستخدم جهاز الفاصل الزمني الخاص بي الجيل الأول من Pi + كاميرا ويب USB رخيصة جدًا + حامل مجاني (bipod). جزء من معايير البناء الخاصة بي هو إعادة استخدام / إعادة تشغيل الأشياء التي حصلت عليها بالفعل ، وإلا كنت قد خرجت للتو واشتريت وحدة كاميرا Pi واستخدمت هذا المشروع
كاميرا تصوير حراري تعمل بالأشعة تحت الحمراء: 3 خطوات (بالصور)
كاميرا الأشعة تحت الحمراء للتصوير الحراري DIY: مرحبًا ، أبحث دائمًا عن مشاريع جديدة لدروس الفيزياء. قبل عامين صادفت تقريرًا عن المستشعر الحراري MLX90614 من Melexis. الأفضل مع 5 ° FOV (مجال الرؤية) سيكون مناسبًا لكاميرا حرارية ذاتية الصنع. لقراءة
كشك تصوير الزفاف / الحدث: 6 خطوات (بالصور)
الزفاف / الحدث فوتوبوث: مرحبًا بالجميع ، لقد تزوجت العام الماضي ، عندما كنا نبحث عن التحضير ليوم الإنزال ، ذهبنا في الكثير من مؤتمرات الزفاف. كان فكرة رائعة لحضور حفل زفاف ، كل ضيف ج