جدول المحتويات:

مدقق مصراع كاميرا فيلم Arduino: 4 خطوات
مدقق مصراع كاميرا فيلم Arduino: 4 خطوات

فيديو: مدقق مصراع كاميرا فيلم Arduino: 4 خطوات

فيديو: مدقق مصراع كاميرا فيلم Arduino: 4 خطوات
فيديو: Проект с дистанционным затвором пленочной камеры: Raspberry Pi PICO 2024, يوليو
Anonim
اردوينو فيلم مصراع الكاميرا
اردوينو فيلم مصراع الكاميرا
اردوينو فيلم مصراع الكاميرا
اردوينو فيلم مصراع الكاميرا

اشتريت مؤخرًا كاميرتين من الكاميرات القديمة المستعملة. بعد تنظيفها ، أدركت أن سرعة الغالق يمكن أن تتأخر بسبب الغبار أو التآكل أو نقص الزيت ، لذلك قررت عمل شيء ما لقياس وقت العرض الحقيقي لأي كاميرا ، لأنه من خلال عيني العاريتين ، لا يمكنني قياسه يستخدم هذا المشروع Arduino كمكون رئيسي لقياس وقت العرض. سنقوم بصنع زوجين بصريين (IR LED وترانزستور صور IR) وقراءة مقدار الوقت الذي يكون فيه مصراع الكاميرا مفتوحًا. أولاً ، سأشرح الطريقة السريعة لتحقيق هدفنا ، وفي النهاية ، سنرى كل النظريات الكامنة وراء هذا المشروع.

قائمة المكونات:

  • 1 × كاميرا فيلم
  • 1 × اردوينو أونو
  • 2 × 220 المقاوم فيلم الكربون
  • 1 x IR LED
  • 1 × الترانزستور الضوئي
  • 2 × لوح صغير (أو لوح تجارب كبير ، كبير بما يكفي لتناسب الكاميرا في المنتصف)
  • العديد من وصلات العبور أو الكابلات

* هذه المكونات الإضافية مطلوبة لقسم الشرح

  • 1 × لون عادي LED
  • 1 × زر ضغط مؤقت

الخطوة 1: الأسلاك

الاشياء الأسلاك
الاشياء الأسلاك
الاشياء الأسلاك
الاشياء الأسلاك
الاشياء الأسلاك
الاشياء الأسلاك

أولاً ، قم بتوصيل IR LED في أحد اللوحين و IR Phototransistor في الآخر حتى نتمكن من جعلهما يواجهان بعضهما البعض. قم بتوصيل المقاوم 220 بمصعد LED (الساق الطويلة أو الجانب بدون الحدود المسطحة) وقم بتوصيل المقاوم بمصدر الطاقة 5V على Arduino. قم أيضًا بتوصيل كاثود LED (ساق قصيرة أو الجانب ذو الحد المسطح) بأحد منافذ GND في Arduino.

بعد ذلك ، قم بتوصيل دبوس المجمع على ترانزستور الصورة (بالنسبة لي هو الساق القصيرة ، ولكن يجب عليك التحقق من ورقة بيانات الترانزستور الخاصة بك للتأكد من أنك تقوم بتوصيلها بالطريقة الصحيحة أو قد ينتهي بك الأمر إلى تفجير الترانزستور) إلى 220 المقاوم و المقاوم إلى الدبوس A1 على Arudino ، ثم قم بتوصيل دبوس Emitter من ترانزستور الصورة (الساق الطويلة أو التي ليس لها جانب حد مسطح). بهذه الطريقة ، يكون لدينا IR LED دائمًا ويتم تعيين ترانزستور الصورة كمفتاح بالوعة.

عندما يصل ضوء الأشعة تحت الحمراء إلى الترانزستور ، فإنه سيسمح للتيار بالمرور من دبوس المجمع إلى دبوس الباعث. سنقوم بتعيين دبوس A1 لسحب الإدخال لأعلى ، لذلك سيكون الدبوس دائمًا في حالة عالية ما لم يغرق الترانزستور التيار إلى الكتلة.

الخطوة الثانية: البرمجة

قم بإعداد Arduino IDE (المنفذ واللوحة والمبرمج) لمطابقة التكوين المطلوب للوحة Arduino.

انسخ هذا الرمز ، وجمعه وحمله:

int readPin = A1 ؛ // دبوس حيث يتم توصيل المقاوم 330 من الترانزستور الضوئي

int ptValue ، j ؛ // نقطة تخزين البيانات المقروءة من قفل منطقي analogRead () ؛ // بوليان يستخدم لقراءة حالة readPin غير الموقعة طويلة الموقت ، timer2 ؛ قراءة مزدوجة سلسلة حدد [12] = {"B" ، "1" ، "2" ، "4" ، "8" ، "15" ، "30" ، "60" ، "125" ، "250" ، "500" ، "1000"} ؛ متوقع طويلاً [12] = {0 ، 1000 ، 500 ، 250 ، 125 ، 67 ، 33 ، 17 ، 8 ، 4 ، 2 ، 1} ؛ إعداد باطل () {Serial.begin (9600) ؛ // قمنا بتعيين الاتصال التسلسلي على 9600 بت في الثانية pinMode (readPin ، INPUT_PULLUP) ؛ // سنقوم بضبط الدبوس دائمًا على مستوى عالٍ إلا عندما يغرق ترانزستور الصورة ، لذلك ، قمنا "بعكس" المنطق // هذا يعني HIGH = لا توجد إشارة IR و LOW = تلقي إشارة IR تأخير (200) ؛ // هذا التأخير هو للسماح ببدء النظام وتجنب القراءات الخاطئة j = 0 ؛ // تهيئة العداد} حلقة فارغة () {lock = digitalRead (readPin) ؛ // قراءة حالة الدبوس المحدد وتعيينه إلى المتغير if (! lock) {// تشغيل فقط عندما يكون الدبوس LOW timer = micros ()؛ // اضبط المؤقت المرجعي أثناء (! lock) {// افعل ذلك بينما يكون الدبوس منخفضًا ، بمعنى آخر ، توقيت فتح الغالق 2 = micros () ؛ // خذ قفل عينة للوقت المنقضي = digitalRead (readPin) ؛ // اقرأ حالة الدبوس لمعرفة ما إذا كان المصراع مغلقًا} Serial.print ("Position:") ؛ // هذا النص مخصص لعرض المعلومات المطلوبة Serial.print (اختر [j]) ؛ Serial.print ("|") ؛ Serial.print ("وقت الفتح:") ؛ تمت قراءتها = (timer2 - timer) ؛ // حساب مقدار الوقت الذي كان فيه المصراع مفتوحًا Serial.print (تمت قراءته) ؛ Serial.print ("لنا") ؛ Serial.print ("|") ؛ Serial.print ("متوقع:") ؛ Serial.println (متوقع [j] * 1000) ؛ j ++ ؛ // قم بزيادة موضع الغالق ، يمكن القيام بذلك باستخدام زر}}

بعد الانتهاء من التحميل ، افتح الشاشة التسلسلية (أدوات -> الشاشة التسلسلية) وقم بإعداد الكاميرا للقراءات

تظهر النتائج بعد كلمات "وقت الفتح" ، وجميع المعلومات الأخرى مبرمجة مسبقًا.

الخطوة 3: الإعداد والقياس

الإعداد والقياس
الإعداد والقياس
الإعداد والقياس
الإعداد والقياس
الإعداد والقياس
الإعداد والقياس
الإعداد والقياس
الإعداد والقياس

انزع عدسات الكاميرا وافتح حجرة الفيلم. إذا كان لديك فيلم تم تحميله بالفعل ، تذكر إنهاءه قبل القيام بهذا الإجراء وإلا ستتلف الصور الملتقطة.

ضع IR LED وترانزستور صور الأشعة تحت الحمراء على جانبي الكاميرا ، أحدهما على جانب الفيلم والآخر في الجانب كان العدسات. بغض النظر عن الجانب الذي تستخدمه لمصباح LED أو الترانزستور ، فقط تأكد من الاتصال البصري عند الضغط على الغالق. للقيام بذلك ، اضبط الغالق على "1" أو "B" وتحقق من الشاشة التسلسلية عند "التقاط" صورة. إذا كان المصراع يعمل بشكل جيد ، يجب أن تظهر الشاشة قراءة. يمكنك أيضًا وضع كائن معتم بينهما وتحريكه لتشغيل برنامج القياس.

أعد ضبط Arduino باستخدام زر إعادة الضبط والتقط الصور واحدة تلو الأخرى بسرعات غالق مختلفة تبدأ من "B" إلى "1000". ستقوم الشاشة التسلسلية بطباعة المعلومات بعد إغلاق المصراع. كمثال يمكنك أن ترى الأوقات التي تم قياسها من كاميرات فيلم Miranda و Praktica على الصور المرفقة.

استخدم هذه المعلومات لإجراء تصحيحات عند التقاط الصور أو تشخيص حالة الكاميرا. إذا كنت ترغب في تنظيف الكاميرا أو ضبطها ، فإنني أوصي بشدة بإرسالها إلى فني خبير.

الخطوة 4: Geeks Stuff

السخافات المهوسون
السخافات المهوسون
السخافات المهوسون
السخافات المهوسون
السخافات المهوسون
السخافات المهوسون
السخافات المهوسون
السخافات المهوسون

الترانزستورات هي أساس جميع التقنيات الإلكترونية التي نراها اليوم ، وقد تم تسجيل براءة اختراعها لأول مرة في حوالي عام 1925 من قبل عالم فيزياء ألماني أمريكي مولود في النمسا-مجري. تم وصفها بأنها جهاز للتحكم في التيار. قبلهم ، كان علينا استخدام الأنابيب المفرغة لإجراء عمليات الترانزستورات اليوم (التلفزيون ، مكبرات الصوت ، أجهزة الكمبيوتر).

الترانزستور لديه القدرة على التحكم في التيار المتدفق من المجمع إلى الباعث ويمكننا التحكم في هذا التيار ، في الترانزستورات المشتركة ذات 3 أرجل ، وتطبيق التيار على بوابة الترانزستور. في معظم الترانزستورات يتم تضخيم تيار البوابة ، لذلك ، على سبيل المثال ، إذا طبقنا 1 مللي أمبير على البوابة ، نحصل على 120 مللي أمبير تتدفق من الباعث. يمكننا تخيله على أنه صمام صنبور ماء.

الترانزستور الضوئي هو ترانزستور عادي ولكن بدلاً من وجود ساق البوابة ، يتم توصيل البوابة بمادة حساسة للصور. تُصدر هذه المادة تيارًا صغيرًا عندما تثيره الفوتونات ، في حالتنا ، فوتونات الطول الموجي للأشعة تحت الحمراء. لذلك ، نتحكم في ترانزستور صور يعدل قوة مصدر ضوء الأشعة تحت الحمراء.

هناك بعض المواصفات التي يجب أن نأخذها في الاعتبار قبل شراء عناصرنا وتوصيلها. مرفق بالمعلومات المسترجعة من أوراق بيانات الترانزستور و LED. أولاً ، نحتاج إلى التحقق من جهد انهيار الترانزستور وهو أقصى جهد يمكنه التعامل معه ، على سبيل المثال ، جهد الانهيار الخاص بي من الباعث إلى المجمع هو 5 فولت ، لذلك إذا قمت بتوصيله بمصدر خاطئ 8 فولت ، فسوف أقوم بقلي الترانزستور. تحقق أيضًا من تبديد الطاقة ، فهذا يعني مقدار التيار الذي يمكن أن يوصل الترانزستور قبل الموت. منجم يقول 150 ميجاوات. عند 5 فولت ، يعني 150 ميجاوات الحصول على 30 مللي أمبير (وات = V * I). لهذا السبب قررت استخدام المقاوم المحدد 220 ، لأنه عند 5V ، يسمح المقاوم 220 فقط بتمرير أقصى تيار 23 مللي أمبير. (قانون أوم: V = I * R). نفس الحالة تنطبق على LED ، تقول معلومات ورقة البيانات أن أقصى تيار لها هو حوالي 50 مللي أمبير ، لذلك ، سيكون المقاوم 220 آخر على ما يرام ، لأن تيار الإخراج الأقصى Arduino pin الخاص بنا هو 40 مللي أمبير ولا نريد حرق المسامير.

نحتاج إلى توصيل الإعداد الخاص بنا باعتباره الموجود في الصورة. إذا كنت تستخدم أزرارًا مثل الأزرار الخاصة بي ، فاحرص على وضع النتوءين المستديرين في منتصف اللوحة. بعد ذلك ، قم بتحميل الكود التالي إلى Arduino.

int readPin = A1 ؛ // دبوس حيث يتم توصيل المقاوم 220 من الترانزستور الضوئي ptValue ، j ؛ // نقطة تخزين البيانات المقروءة من analogRead () void setup () {Serial.begin (9600) ؛ } حلقة فارغة () {ptValue = analogRead (readPin) ؛ // نقرأ قيمة الجهد على readPin (A1) Serial.println (ptValue) ؛ // بهذه الطريقة ، نرسل البيانات المقروءة إلى الشاشة التسلسلية ، حتى نتمكن من التحقق مما يحدث تأخير (35) ؛ // مجرد تأخير لتسهيل لقطات الشاشة}

بعد التحميل ، افتح الراسمة التسلسلية (أدوات -> الراسمة التسلسلية) وشاهد ما يحدث عندما تضغط على زر مفتاح IR LED الخاص بك. إذا كنت تريد التحقق مما إذا كان IR LED يعمل (أيضًا أجهزة التحكم عن بُعد الخاصة بالتلفزيون) فقط ضع كاميرا الهاتف المحمول أمام مؤشر LED والتقط صورة. إذا كان الأمر على ما يرام ، فسترى ضوءًا أزرق بنفسجي قادمًا من مؤشر LED.

في الراسمة التسلسلية ، يمكنك التمييز بين تشغيل مؤشر LED وإيقاف تشغيله ، وإذا لم يكن كذلك ، فتحقق من الأسلاك الخاصة بك.

أخيرًا ، يمكنك تغيير طريقة analogRead لـ digitalRead ، بحيث يمكنك رؤية 0 أو 1. فقط أقترح القيام بتأخير بعد الإعداد () لتجنب قراءة منخفضة زائفة ، (صورة ذات قمة منخفضة واحدة صغيرة).

موصى به: