کنترل دوربین دیجیتال با آردوینو | کنترل شاتر و فوکوس

قسمت 58
مشاهده سایر جلسات آموزش
20 بازدید
۱۴۰۵-۰۷-۰۱
4 دقیقه
  • نویسنده: حسین زنجانی زاده
  • درباره نویسنده: ---

در قسمت قبل از آموزش آردوینو به ارسال سیگنال‌های ریموت کنترل با آردوینو رفتیم. در قسمت 58 آموزش آردوینو، به سراغ کنترل دوربین دیجیتال با آردوینو می‌رویم و بررسی می‌کنیم چگونه می‌توان فوکوس و شاتر یک دوربین را مستقیماً توسط برنامه کنترل کرد. در این قسمت قصد داریم ببینیم چگونه می‌توان یک دوربین دیجیتال را با Arduino کنترل کرد و بدون فشردن مستقیم دکمه شاتر، از طریق برنامه عکس گرفت.

این روش می‌تواند برای پروژه‌هایی مانند عکاسی Time-Lapse، تصویربرداری خودکار در فاصله‌های زمانی مشخص یا گرفتن عکس در واکنش به یک رویداد تشخیص‌داده‌شده توسط آردوینو استفاده شود.

کنترل دوربین دیجیتال با آردوینو

فرض کنید می‌خواهید Arduino یک دوربین دیجیتال را کنترل کند و دوربین تحت کنترل برنامه عکس بگیرد. برای مثال، می‌توانید عکاسی Time-Lapse انجام دهید یا زمانی که یک سنسور متصل به آردوینو رویداد خاصی را تشخیص می‌دهد، به‌صورت خودکار عکس بگیرید.

برای انجام این کار چند روش وجود دارد. اگر دوربین شما دارای ریموت کنترل مادون قرمز باشد، می‌توانید ابتدا کدهای مربوط به ریموت را دریافت کنید و سپس Arduino همان سیگنال‌های مادون قرمز را برای دوربین ارسال کند.

اما اگر دوربین ریموت مادون قرمز ندارد و در عوض دارای ورودی مخصوص ریموت سیمی است، می‌توان از روشی که در ادامه توضیح می‌دهیم استفاده کرد.

کانکتور TRS دوربین چیست؟

کانکتور شاتر دوربین معمولاً از نوع TRS یا Tip, Ring, Sleeve است. این کانکتورها معمولاً در اندازه‌های ۲٫۵ یا ۳٫۵ میلی‌متر ساخته می‌شوند؛ بااین‌حال، طول و شکل کانکتور در همه دوربین‌ها الزاماً استاندارد نیست.

مطمئن‌ترین روش برای تهیه کانکتور مناسب این است که یک ریموت سیمی ارزان‌قیمت مخصوص مدل دوربین خود تهیه کنید و کابل آن را برای پروژه تغییر دهید. همچنین می‌توانید از کابل‌های تبدیل مخصوص شاتر دوربین استفاده کنید.

برای کنترل دوربین، Arduino نباید مستقیماً به مدار شاتر متصل شود. در این مدار از اپتوکوپلر (Optocoupler) استفاده می‌کنیم تا مدار Arduino از مدار داخلی دوربین از نظر الکتریکی ایزوله شود.

مدار اتصال دوربین به آردوینو

Arduino از طریق دو اپتوکوپلر به کابل ریموت دوربین متصل می‌شود. یکی از اپتوکوپلرها وظیفه فعال‌کردن فوکوس و دیگری وظیفه فعال‌کردن شاتر را بر عهده دارد.

کنترل دوربین دیجیتال با آردوینو | کنترل شاتر و فوکوس

در مدار بالا پایه‌های دیجیتال Arduino از طریق مقاومت‌های ۲۲۰ اهم به LED داخلی اپتوکوپلرها متصل شده‌اند. سمت ترانزیستوری اپتوکوپلرها نیز به خطوط فوکوس و شاتر کانکتور دوربین وصل می‌شود.

کد کنترل شاتر دوربین با آردوینو

کد زیر ۲۰ عکس می‌گیرد و بین هر دو عکس ۱۰ ثانیه فاصله قرار می‌دهد. پایه ۴ برای کنترل فوکوس و پایه ۳ برای کنترل شاتر استفاده شده است.

نحوه عملکرد کد کنترل دوربین

در ابتدای برنامه دو پایه برای کنترل دوربین مشخص شده‌اند. پایه ۴ با متغیر focus وظیفه فعال‌کردن فوکوس دوربین را دارد و پایه ۳ با متغیر shutter برای فعال‌کردن شاتر استفاده می‌شود.

متغیر exposure مدت‌زمان فعال‌بودن شاتر را تعیین می‌کند. مقدار ۲۵۰ به معنای ۲۵۰ میلی‌ثانیه است:

متغیر interval نیز فاصله زمانی بین دو عکس را مشخص می‌کند. مقدار 10000 برابر با ۱۰ ثانیه است:

در تابع setup() هر دو پایه به‌عنوان خروجی تعریف می‌شوند. سپس یک حلقه for تابع takePicture() را ۲۰ مرتبه اجرا می‌کند.

پس از هر بار گرفتن عکس، برنامه به‌اندازه مقدار interval منتظر می‌ماند و سپس عکس بعدی گرفته می‌شود.

تابع takePicture چگونه کار می‌کند؟

عملیات اصلی کنترل دوربین داخل تابع takePicture() انجام می‌شود. ابتدا خط فوکوس فعال می‌شود:

سپس برنامه برای مدت کوتاهی منتظر می‌ماند تا دوربین فرصت بیدارشدن و انجام فوکوس را داشته باشد:

بعد از آن خط شاتر فعال می‌شود:

شاتر به‌اندازه مقدار تعیین‌شده در exposureTime فعال باقی می‌ماند و سپس آزاد می‌شود. در پایان نیز خط فوکوس آزاد می‌شود:

چرا باید از اپتوکوپلر استفاده کنیم؟

اتصال مستقیم پایه‌های Arduino به ورودی ریموت دوربین توصیه نمی‌شود. ولتاژها و شرایط الکتریکی مدار داخلی دوربین ممکن است با Arduino سازگار نباشند و اتصال مستقیم می‌تواند باعث آسیب‌دیدن Arduino یا دوربین شود.

اپتوکوپلر بین دو مدار ایزولاسیون الکتریکی ایجاد می‌کند. در نتیجه Arduino تنها LED داخلی اپتوکوپلر را کنترل می‌کند و ترانزیستور سمت دیگر اپتوکوپلر مانند کلید مربوط به فوکوس یا شاتر دوربین عمل می‌کند.

همچنین برای انتخاب صحیح کانکتور و نحوه اتصال پایه‌های Focus، Shutter و Common باید دفترچه راهنمای مدل دوربین خود را بررسی کنید؛ زیرا آرایش کانکتور در همه دوربین‌ها یکسان نیست.

کنترل فوکوس و نوردهی Bulb

ممکن است لازم باشد ترتیب فعال و غیرفعال‌شدن پایه‌های focus و shutter را متناسب با مدل دوربین خود تغییر دهید.

برای مثال، در بعضی دوربین‌های Canon برای انجام نوردهی Bulb ابتدا باید فوکوس فعال شود. سپس بدون آزادکردن فوکوس، شاتر باز شود. پس از پایان نوردهی ابتدا شاتر و بعد از آن فوکوس آزاد می‌شود. کد این آموزش نیز از همین ترتیب استفاده می‌کند.

اما اگر می‌خواهید دوربین خودش میزان نوردهی را محاسبه کند، ممکن است لازم باشد ابتدا فرمان فوکوس ارسال شود، فوکوس آزاد شود و سپس فرمان شاتر فعال شود.

کاربردهای کنترل دوربین با Arduino

پس از اینکه بتوانید شاتر را به‌صورت نرم‌افزاری کنترل کنید، می‌توانید گرفتن عکس را به انواع ورودی‌ها و رویدادها وابسته کنید. برای مثال، می‌توان از این روش برای عکاسی Time-Lapse، ثبت تصویر پس از تشخیص حرکت، عکاسی هنگام فعال‌شدن یک سنسور یا ساخت سیستم‌های تصویربرداری خودکار استفاده کرد.

روش‌های دیگر کنترل دوربین

برای برخی دوربین‌های Canon می‌توان از ابزار Canon Hack Development Kit برای دسترسی به قابلیت‌های بیشتری از دوربین استفاده کرد.

کنترل برخی دوربین‌های GoPro نیز از طریق Arduino مجهز به WiFi امکان‌پذیر است.

برای کنترل بعضی دوربین‌های ویدئویی نیز می‌توان از پروتکل LANC استفاده کرد. همچنین برای تجهیزات حرفه‌ای Blackmagic Design راهکارهایی مبتنی بر Arduino و پروتکل باز این شرکت وجود دارد.

جمع‌بندی

در این آموزش دیدیم که چگونه می‌توان با استفاده از Arduino، دو اپتوکوپلر و ورودی ریموت سیمی دوربین، فوکوس و شاتر یک دوربین دیجیتال را کنترل کرد. استفاده از اپتوکوپلر باعث می‌شود Arduino و مدار داخلی دوربین از یکدیگر ایزوله باشند و خطر آسیب ناشی از اتصال مستقیم دو مدار کاهش پیدا کند.

با تغییر زمان نوردهی، فاصله بین عکس‌ها یا اضافه‌کردن سنسورها می‌توان همین مدار ساده را به سیستم‌های Time-Lapse، تشخیص حرکت و تصویربرداری خودکار تبدیل کرد.

 

مرجع :

Arduino Cookbook [Book]

اطلاعات
20
0
0
اشتراک و حمایت
جلسات دیگر
آموزش

آموزش کنترل ریموت، دوربین و دستگاه‌های AC با...

profile نویسنده: حسین زنجانی زاده متخصص الکترونیک

مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله