فهرست مطالب:

کنترل کننده شاتر دوربین فیلم آردوینو: 4 مرحله
کنترل کننده شاتر دوربین فیلم آردوینو: 4 مرحله

تصویری: کنترل کننده شاتر دوربین فیلم آردوینو: 4 مرحله

تصویری: کنترل کننده شاتر دوربین فیلم آردوینو: 4 مرحله
تصویری: معرفی و راه اندازی سنسور LDR 2024, جولای
Anonim
کنترل کننده شاتر دوربین فیلم آردوینو
کنترل کننده شاتر دوربین فیلم آردوینو
کنترل کننده شاتر دوربین فیلم آردوینو
کنترل کننده شاتر دوربین فیلم آردوینو

اخیراً دو دوربین فیلمبرداری قدیمی خریدم. پس از تمیز کردن آنها متوجه شدم که سرعت شاتر می تواند به دلیل گرد و غبار ، خوردگی یا کمبود روغن کاهش یابد ، بنابراین تصمیم گرفتم چیزی را برای اندازه گیری زمان واقعی نمایش هر دوربین تهیه کنم ، زیرا با چشم برهنه ام نمی توانم آن را اندازه گیری کنم. دقیقاً در این پروژه از آردوینو به عنوان م componentلفه اصلی برای اندازه گیری زمان نمایش استفاده می شود. ما قصد داریم یک زن و شوهر اپتو (IR LED و یک ترانزیستور عکس IR) بسازیم و بخوانیم که چقدر زمان باز بودن شاتر دوربین است. ابتدا ، من راه سریع رسیدن به هدف خود را توضیح خواهم داد و در پایان ، تمام نظریه های پشت این پروژه را خواهیم دید.

لیست اجزاء:

  • 1 عدد دوربین فیلمبرداری
  • 1 عدد آردوینو Uno
  • 2 x 220 Ω مقاومت فیلم کربن
  • 1 x LED IR
  • 1 عدد فوتوترانزیستور
  • 2 عدد تخته نان کوچک (یا 1 تخته نان بزرگ ، به اندازه کافی بزرگ برای قرار دادن دوربین در مرکز)
  • تعداد زیادی جامپر یا کابل

این اجزای اضافی برای بخش توضیحات مورد نیاز است

  • 1 x LED رنگ معمولی
  • 1 عدد دکمه فوری

مرحله 1: تجهیزات سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی

ابتدا LED IR را در یک نان برد و IR Phototransistor را در دیگری قرار دهید تا بتوانیم آنها را روبروی هم قرار دهیم. یک مقاومت 220 Ω را به آند LED (پایه بلند یا کناری بدون حاشیه صاف) وصل کرده و مقاومت را به منبع تغذیه 5 ولت آردوینو وصل کنید. همچنین کاتد LED (پایه کوتاه یا پهلو با حاشیه صاف) را به یکی از پورت های GND در آردوینو وصل کنید.

بعد ، پین Collector را روی ترانزیستور عکس (برای من پای کوتاه است ، اما باید برگه ترانزیستور خود را بررسی کنید تا مطمئن شوید که به درستی سیم کشی کرده اید یا ممکن است ترانزیستور را منفجر کنید) به مقاومت 220 Ω و مقاومت را به پین A1 در Arudino ، سپس پین امیتر ترانزیستور عکس (پایه بلند یا آن بدون حاشیه صاف) را وصل کنید. به این ترتیب ما LED IR را همیشه روشن داریم و ترانزیستور عکس به عنوان یک کلید سینک تنظیم شده است.

هنگامی که نور IR به ترانزیستور می رسد ، اجازه می دهد تا جریان از پین کلکتور به پین امیتر منتقل شود. ما پین A1 را برای کشش ورودی تنظیم می کنیم ، بنابراین ، پین همیشه در حالت بالا قرار دارد مگر اینکه ترانزیستور جریان را به جرم کاهش دهد.

مرحله 2: برنامه نویسی

Arduino IDE (پورت ، برد و برنامه نویس) خود را طوری تنظیم کنید که با پیکربندی مورد نیاز برد Arduino شما مطابقت داشته باشد.

این کد را کپی ، کامپایل و بارگذاری کنید:

int readPin = A1؛ // محل مقاومت 330 را از فوتوترانزیستور وصل کنید

int ptValue ، j؛ // نقطه ذخیره سازی داده های خوانده شده از analogRead () bool lock؛ // بولین مورد استفاده برای خواندن وضعیت readPin unsigned long timer، 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} ؛ void setup () {Serial.begin (9600)؛ // ما ارتباط سریال را روی 9600 بیت در ثانیه pinMode (readPin ، INPUT_PULLUP) تنظیم می کنیم ؛ // ما قصد داریم پین را همیشه بالا قرار دهیم مگر زمانی که ترانزیستور عکس در حال غرق شدن باشد ، بنابراین ، ما منطق را "معکوس" کرده ایم // این بدان معناست که HIGH = بدون سیگنال IR و LOW = سیگنال IR دریافت تاخیر (200) ؛ // این تأخیر برای این است که سیستم شروع به کار کند و از خواندن اشتباه j = 0 جلوگیری کند. // مقداردهی اولیه counter} void loop () {lock = digitalRead (readPin) ؛ // خواندن وضعیت پین داده شده و اختصاص آن به متغیر if (! lock) {// فقط زمانی اجرا می شود که پین زمان سنج LOW باشد = micros ()؛ // تایمر مرجع را در حالی تنظیم کنید (! lock) {// این کار را در حالی انجام دهید که پین LOW باشد ، به عبارت دیگر ، تایمر بازکن شاتر 2 = micros () ؛ // زمان سپری شده قفل نمونه = digitalRead (readPin) را بگیرید ؛ // وضعیت پین را بخوانید تا بدانید آیا شاتر بسته شده است} Serial.print ("Position:")؛ // این متن برای نمایش اطلاعات مورد نیاز Serial.print است ([j]) را انتخاب کنید ؛ Serial.print ("|")؛ Serial.print ("زمان باز شده:")؛ خوانده شده = (timer2 - تایمر) ؛ // محاسبه کنید چه مدت زمان باز شدن کرکره بوده Serial.print (خوانده شده) ؛ Serial.print ("ما") ؛ Serial.print ("|")؛ Serial.print ("مورد انتظار:")؛ Serial.println (انتظار می رود [j]*1000) ؛ j ++ ؛ // موقعیت شاتر را افزایش دهید ، این را می توان با یک دکمه انجام داد}}

پس از اتمام بارگذاری ، مانیتور سریال (Tools -> Serial monitor) را باز کرده و دوربین را برای خواندن آماده کنید

نتایج پس از کلمات "زمان باز شده" نشان داده می شود ، تمام اطلاعات دیگر از قبل برنامه ریزی شده است.

مرحله 3: راه اندازی و اندازه گیری

راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری
راه اندازی و اندازه گیری

لنزهای دوربین خود را بردارید و قسمت فیلم را باز کنید. اگر فیلم قبلاً بارگذاری شده است ، به یاد داشته باشید که قبل از انجام این روش آن را به پایان برسانید وگرنه به عکس های گرفته شده آسیب می رسانید.

LED IR و ترانزیستور عکس IR را در طرف مقابل دوربین قرار دهید ، یکی در کنار فیلم و دیگری در کنار لنزها. صرف نظر از اینکه از کدام طرف برای LED یا ترانزیستور استفاده می کنید ، فقط مطمئن شوید که هنگام فشار دادن شاتر تماس تصویری برقرار می کنند. برای انجام این کار ، شاتر را روی "1" یا "B" تنظیم کنید و هنگام "گرفتن" عکس ، مانیتور سریال را بررسی کنید. اگر شاتر خوب کار می کند ، مانیتور باید قرائتی را نشان دهد. همچنین ، می توانید یک شیء مات را بین آنها قرار دهید و آن را حرکت دهید تا برنامه اندازه گیری فعال شود.

آردوینو را با دکمه تنظیم مجدد تنظیم مجدد کرده و با سرعت شاتر متفاوت با شروع "B" تا "1000" یک به یک عکس بگیرید. مانیتور سریال پس از بسته شدن شاتر اطلاعات را چاپ می کند. به عنوان مثال می توانید زمان اندازه گیری شده از دوربین های فیلم میراندا و پراکتیکا را بر روی تصاویر ضمیمه شده مشاهده کنید.

از این اطلاعات برای تصحیح عکس ها یا تشخیص وضعیت دوربین خود استفاده کنید. اگر می خواهید دوربین خود را تمیز یا تنظیم کنید ، توصیه می کنم آنها را به یک تکنسین متخصص ارسال کنید.

مرحله چهارم: Geeks Stuff

چیزهای گیکس
چیزهای گیکس
چیزهای گیکس
چیزهای گیکس
چیزهای گیکس
چیزهای گیکس
چیزهای گیکس
چیزهای گیکس

ترانزیستورها پایه همه فناوری های الکترونیکی هستند که امروزه می بینیم ، آنها اولین بار در حدود سال 1925 توسط یک فیزیکدان آلمانی-آمریکایی متولد اتریش-مجارستان و ثبت اختراع شدند. آنها به عنوان وسیله ای برای کنترل جریان توصیف شدند. قبل از آنها ، ما مجبور بودیم از لوله های خلاء برای انجام عملیات امروز ترانزیستورها (تلویزیون ، تقویت کننده ها ، رایانه ها) استفاده کنیم.

یک ترانزیستور توانایی کنترل جریان عبوری از کلکتور به امیتر را دارد و ما می توانیم آن جریان را در ترانزیستورهای معمولی با 3 پایه و اعمال جریان بر روی دروازه ترانزیستور کنترل کنیم. در اکثر ترانزیستورها جریان گیت تقویت می شود ، بنابراین ، برای مثال ، اگر 1 میلی آمپر به گیت اعمال کنیم ، 120 میلی آمپر از گسیل کننده خارج می شود. ما می توانیم آن را به عنوان دریچه شیر آب تصور کنیم.

ترانزیستور عکس یک ترانزیستور معمولی است اما به جای داشتن یک پایه دروازه ، دروازه به یک ماده قابل عکاسی متصل می شود. این ماده هنگامی که توسط فوتون ها تحریک می شود ، در مورد ما فوتون های طول موج IR ، جریان کوچکی ایجاد می کند. بنابراین ، ما یک ترانزیستور عکس را کنترل می کنیم که قدرت منبع نور IR را تغییر می دهد.

قبل از خرید و سیم کشی عناصر ما باید برخی از مشخصات را در نظر بگیریم. پیوست اطلاعات بازیابی شده از برگه های ترانزیستور و LED است. اول ، ما باید ولتاژ خرابی ترانزیستور را بررسی کنیم که حداکثر ولتاژی است که می تواند تحمل کند ، به عنوان مثال ، ولتاژ خرابی من از امیتر به کلکتور 5 ولت است ، بنابراین اگر منبع تغذیه 8 ولت را اشتباه وارد کنم ، ترانزیستور را سرخ می کنم. همچنین ، اتلاف توان را بررسی کنید ، این بدان معناست که چقدر جریان می تواند ترانزیستور را قبل از مرگ منتقل کند. معدن می گوید 150mW. در 5V ، 150mW به معنی منبع 30 میلی آمپر (وات = V * I) است. به همین دلیل تصمیم گرفتم از یک مقاومت محدود کننده 220 Ω استفاده کنم ، زیرا در 5 ولت ، یک مقاومت 220 Ω تنها اجازه عبور حداکثر جریان 23 میلی آمپر را می دهد. (قانون اهم: V = I * R). همین مورد در مورد LED نیز صادق است ، اطلاعات برگه اطلاعات می گوید حداکثر جریان آن حدود 50 میلی آمپر است ، بنابراین ، مقاومت 220 Ω دیگر خوب خواهد بود ، زیرا حداکثر جریان خروجی پین Arduino ما 40 میلی آمپر است و ما نمی خواهیم پین ها را بسوزانیم.

ما باید تنظیمات خود را مانند تصویر موجود در سیم متصل کنیم. اگر از دکمه هایی مانند دکمه من استفاده می کنید ، مراقب باشید که دو برآمدگی گرد را در مرکز تخته قرار دهید. سپس ، کد زیر را در Arduino بارگذاری کنید.

int readPin = A1؛ // پین محل اتصال 220 مقاومت از phototransistorint ptValue ، j ؛ // محل ذخیره داده های خوانده شده از analogRead () void setup () {Serial.begin (9600)؛ } void loop () {ptValue = analogRead (readPin) ؛ // مقدار ولتاژ را در readPin (A1) Serial.println (ptValue) می خوانیم ؛ // به این ترتیب ، ما داده های خوانده شده را به مانیتور سریال ارسال می کنیم ، بنابراین می توانیم بررسی کنیم که چه چیزی با تاخیر اتفاق می افتد (35) ؛ // فقط تاخیر برای سهولت در گرفتن تصاویر از صفحه}

پس از بارگذاری ، پلاتر سریال را باز کنید (Tools -> Serial plotter) و ببینید وقتی دکمه سوئیچ IR LED خود را فشار می دهید چه اتفاقی می افتد. اگر می خواهید بررسی کنید آیا LED IR کار می کند (همچنین از راه دور تلویزیون) فقط دوربین تلفن همراه خود را جلوی LED قرار دهید و عکس بگیرید. اگر خوب است ، یک نور آبی بنفش از LED می بینید.

در پلاتر سریال می توانید زمان روشن و خاموش بودن LED را تشخیص دهید ، در غیر این صورت ، سیم کشی خود را بررسی کنید.

در نهایت ، می توانید روش analogRead را برای یک digitalRead تغییر دهید ، بنابراین فقط 0 یا 1 را مشاهده می کنید. پیشنهاد می کنم بعد از راه اندازی () تاخیر را انجام دهید تا از خواندن کاذب LOW جلوگیری شود (تصویر با یک قله LOW کوچک).

توصیه شده: