Სარჩევი:

არდუინოს ფილმის კამერის ჩამკეტის შემოწმება: 4 ნაბიჯი
არდუინოს ფილმის კამერის ჩამკეტის შემოწმება: 4 ნაბიჯი

ვიდეო: არდუინოს ფილმის კამერის ჩამკეტის შემოწმება: 4 ნაბიჯი

ვიდეო: არდუინოს ფილმის კამერის ჩამკეტის შემოწმება: 4 ნაბიჯი
ვიდეო: რობოტიკის სასწავლო სათამაშო პლატფორმა Build IoT 2024, ივლისი
Anonim
არდუინოს ფილმის კამერის ჩამკეტის შემოწმება
არდუინოს ფილმის კამერის ჩამკეტის შემოწმება
არდუინოს ფილმის კამერის ჩამკეტის შემოწმება
არდუინოს ფილმის კამერის ჩამკეტის შემოწმება

ცოტა ხნის წინ შევიძინე ორი მეორადი ძველი კინოკამერა. მათი გაწმენდის შემდეგ მივხვდი, რომ ჩამკეტის სიჩქარე შეიძლება ჩამორჩეს მტვერს, კოროზიას ან ზეთის ნაკლებობას, ამიტომ გადავწყვიტე რაიმე გამეკეთებინა ნებისმიერი კამერის რეალური ექსპოზიციის დროის გასაზომად, რადგან შიშველი თვალით ვერ გავზომე ზუსტად ეს პროექტი იყენებს არდუინოს, როგორც მთავარ კომპონენტს ექსპოზიციის დროის გასაზომად. ჩვენ ვაპირებთ გავაკეთოთ ოპტო წყვილი (IR LED და IR ფოტო-ტრანზისტორი) და წავიკითხოთ რამდენი ხანია კამერის ჩამკეტი ღიაა. პირველ რიგში, მე განვმარტავ ჩვენი მიზნის მისაღწევად სწრაფ გზას და, ბოლოს, ჩვენ დავინახავთ ყველა თეორიას ამ პროექტის უკან.

კომპონენტების სია:

  • 1 x ფილმის კამერა
  • 1 x Arduino Uno
  • 2 x 220 Ω ნახშირბადის ფილმის რეზისტორი
  • 1 x IR LED
  • 1 x ფოტოტრანსისტორი
  • 2 x პატარა დაფა (ან 1 დიდი დაფა, საკმარისად დიდი, რომ კამერა მოთავსდეს ცენტრში)
  • ბევრი მხტუნავი ან კაბელი

*ეს დამატებითი კომპონენტები საჭიროა ახსნის განყოფილებისთვის

  • 1 x ნორმალური ფერის LED
  • 1 x მომენტალური ღილაკი

ნაბიჯი 1: გაყვანილობის მასალა

გაყვანილობის მასალა
გაყვანილობის მასალა
გაყვანილობის მასალა
გაყვანილობის მასალა
გაყვანილობის მასალა
გაყვანილობის მასალა

პირველ რიგში, მიამაგრეთ IR LED ერთ დაფაზე და IR Phototransistor მეორეში, რათა მათ ერთმანეთის პირისპირ ვიყოთ. შეაერთეთ ერთი 220 Ω რეზისტორი LED ანოდთან (გრძელი ფეხი ან გვერდი ბრტყელი საზღვრის გარეშე) და დაუკავშირეთ რეზისტორი არდუინოს 5V კვების ბლოკს. ასევე დაუკავშირეთ LED კათოდს (მოკლე ფეხი ან გვერდი ბრტყელ საზღვართან) არდუინოს ერთ – ერთ GND პორტთან.

შემდეგი, მიამაგრეთ კოლექტორის პინი ფოტო ტრანზისტორზე (ჩემთვის მოკლე ფეხია, მაგრამ თქვენ უნდა შეამოწმოთ თქვენი ტრანზისტორი მონაცემების ფურცელი, რომ დარწმუნდეთ, რომ მას სწორად აერთებთ, ან შესაძლოა ტრანზისტორი ააფეთქოთ) 220 Ω რეზისტორზე და რეზისტორი არუდინოს A1 პინზე, შემდეგ დააკავშირეთ ფოტო ტრანზისტორის Emitter pin (გრძელი ფეხი ან ერთი ბრტყელი საზღვრის გარეშე). ამ გზით ჩვენ გვაქვს IR LED ყოველთვის ჩართული და ფოტო ტრანზისტორი მითითებულია ნიჟარის გადამრთველად.

როდესაც IR სინათლე ჩამოდის ტრანზისტორში ის საშუალებას მისცემს დენი გაიაროს კოლექტორის პინიდან ემიტერის პინზე. ჩვენ დავაყენებთ A1 პინს შესასვლელად, ასე რომ, ის ყოველთვის იქნება მაღალ მდგომარეობაში, თუ ტრანზისტორი დენს მასაზე არ იძირება.

ნაბიჯი 2: პროგრამირება

დააყენეთ თქვენი Arduino IDE (პორტი, დაფა და პროგრამისტი) თქვენი Arduino დაფისთვის საჭირო კონფიგურაციის შესატყვისად.

დააკოპირეთ ეს კოდი, შეადგინეთ და ატვირთეთ:

int readPin = A1; // მიამაგრეთ სად არის დაკავშირებული 330 რეზისტორი ფოტოტრანსისტორიდან

int ptValue, j; // analogRead () bool lock- დან წაკითხული მონაცემების შენახვის წერტილი; // bolean გამოიყენება წაკითხვის მდგომარეობის 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; // ჩვენი მრიცხველის ინიციალიზაცია} void loop () {lock = digitalRead (readPin); // მოცემული პინის მდგომარეობის წაკითხვა და ცვლადზე მინიჭება, თუ (! lock) {// მუშაობს მხოლოდ მაშინ, როდესაც pin არის LOW ქრონომეტრი = micros (); // დააყენეთ მითითების ქრონომეტრი (! lock) {// ამის გაკეთება სანამ pin არის LOW, სხვა სიტყვებით რომ ვთქვათ, ჩამკეტის გახსნის ტაიმერი 2 = micros (); // აიღეთ გასული დროის ნიმუშის ჩაკეტვა = digitalRead (readPin); // წაიკითხეთ პინის მდგომარეობა რათა იცოდეთ დახურულია თუ არა ჩამკეტი} Serial.print ("პოზიცია:"); // ეს ტექსტი არის საჭირო ინფორმაციის საჩვენებლად Serial.print (აირჩიეთ [j]); Serial.print ("|"); Serial.print ("დრო გაიხსნა:"); წაკითხული = (ტაიმერი 2 - ტაიმერი); // გამოთვალეთ რამდენი დრო იყო ჩამკეტის გახსნა Serial.print (წაკითხული); Serial.print ("ჩვენ"); Serial.print ("|"); Serial.print ("მოსალოდნელია:"); Serial.println (მოსალოდნელი [j]*1000); j ++; // გაზარდეთ ჩამკეტის პოზიცია, ეს შეიძლება გაკეთდეს ღილაკით}}

ატვირთვის დასრულების შემდეგ გახსენით სერიული მონიტორი (Tools -> Serial monitor) და მოამზადეთ კამერა კითხვისთვის

შედეგები ნაჩვენებია სიტყვების "გახსნის დრო:" შემდეგ, ყველა სხვა ინფორმაცია წინასწარ არის დაპროგრამებული.

ნაბიჯი 3: დაყენება და გაზომვა

დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა
დაყენება და გაზომვა

ამოიღეთ კამერის ლინზები და გახსენით ფილმის განყოფილება. თუ თქვენ უკვე გაქვთ ჩატვირთული ფილმი, გახსოვდეთ მისი დასრულება ამ პროცედურის გაკეთებამდე, წინააღმდეგ შემთხვევაში თქვენ დააზიანებთ გადაღებულ ფოტოებს.

განათავსეთ IR LED და IR ფოტო ტრანზისტორი კამერის მოპირდაპირე მხარეს, ერთი ფილმის მხარეს, მეორე კი ლინზების გვერდით. არ აქვს მნიშვნელობა რომელ მხარეს იყენებთ LED- ს ან ტრანზისტორს, უბრალოდ დარწმუნდით, რომ ისინი ასრულებენ ვიზუალურ კონტაქტს ჩამკეტის დაჭერისას. ამისათვის დააყენეთ ჩამკეტი "1" ან "B" და შეამოწმეთ სერიული მონიტორი ფოტოს "გადაღებისას". თუ ჩამკეტი კარგად მუშაობს, მონიტორმა უნდა აჩვენოს კითხვა. ასევე, თქვენ შეგიძლიათ განათავსოთ გაუმჭვირვალე ობიექტი მათ შორის და გადაიტანოთ იგი საზომი პროგრამის გასააქტიურებლად.

გადატვირთეთ Arduino გადატვირთვის ღილაკით და გადაიღეთ ფოტოები სათითაოდ ჩამკეტის სხვადასხვა სიჩქარით, რომელიც იწყება "B" - დან "1000" - მდე. სერიული მონიტორი დაბეჭდავს ინფორმაციას ჩამკეტის დახურვის შემდეგ. მაგალითად, თქვენ შეგიძლიათ ნახოთ მირანდას და პრაქტიკას კინოკამერებიდან გაზომილი დრო თანდართულ სურათებზე.

გამოიყენეთ ეს ინფორმაცია ფოტოების გადაღებისას შესასწორებლად ან კამერის მდგომარეობის დასადგენად. თუ გსურთ თქვენი კამერის გაწმენდა ან მოწესრიგება, მე გირჩევთ გაგზავნოთ ისინი ექსპერტ ტექნიკოსთან.

ნაბიჯი 4: Geeks Stuff

ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff
ონლაინ თამაში Geeks Stuff

ტრანზისტორები არის ყველა იმ ელექტრონული ტექნოლოგიის საფუძველი, რომელსაც ჩვენ დღეს ვხედავთ, ისინი პირველად დააპატენტა დაახლოებით 1925 წელს ავსტრია-უნგრეთში დაბადებულმა გერმანელმა ამერიკელმა ფიზიკოსმა. ისინი აღწერილი იყო როგორც დენის მაკონტროლებელი მოწყობილობა. მათამდე, ჩვენ უნდა გამოგვეყენებინა ვაკუუმური მილები იმ ოპერაციების შესასრულებლად, რასაც დღეს ტრანზისტორები აკეთებენ (ტელევიზია, გამაძლიერებლები, კომპიუტერები).

ტრანზისტორს აქვს უნარი გააკონტროლოს დენი, რომელიც მიედინება კოლექტორიდან ემისტერში და ჩვენ შეგვიძლია გავაკონტროლოთ ის დენი, საერთო ტრანზისტორებში 3 ფეხიანი, რომელიც დენის ტრანზისტორის კარიბჭეზე ახდენს. უმეტეს ტრანზისტორებში კარიბჭის დენი გაძლიერებულია, ასე რომ, მაგალითად, თუ ჭიშკართან მივმართავთ 1 mA- ს, მივიღებთ 120 mA- ს, რომელიც მიედინება ემიტერიდან. ჩვენ შეგვიძლია წარმოვიდგინოთ, როგორც წყლის ონკანის სარქველი.

ფოტო ტრანზისტორი არის ნორმალური ტრანზისტორი, მაგრამ კარიბჭის ფეხის ნაცვლად, კარიბჭე უკავშირდება ფოტოგონიერ მასალას. ეს მასალა წარმოშობს მცირე დენს, როდესაც აღგზნებულია ფოტონებით, ჩვენს შემთხვევაში IR ტალღის სიგრძის ფოტონებით. ამრიგად, ჩვენ ვაკონტროლებთ ფოტო ტრანზისტორს, რომელიც ცვლის IR სინათლის წყაროს ძალას.

არსებობს გარკვეული მახასიათებლები, რომლებიც უნდა გავითვალისწინოთ ჩვენი ელემენტების შეძენამდე და გაყვანილობამდე. მიმაგრებულია ინფორმაცია ამოღებული ტრანზისტორიდან და LED მონაცემთა ცხრილებიდან. პირველ რიგში, ჩვენ უნდა შევამოწმოთ ტრანზისტორის დაშლის ძაბვა, რომელიც არის მაქსიმალური ძაბვა, რომელსაც მას შეუძლია გაუმკლავდეს, მაგალითად, ჩემი გაფრქვევის ძაბვა ემიტერიდან კოლექტორამდე არის 5V, ასე რომ, თუ მე მას არასწორად ვიღებ 8V- ს, მე შევწვები ტრანზისტორი. ასევე, შეამოწმეთ სიმძლავრის გაფრქვევა, ეს ნიშნავს იმას, თუ რამდენ დენს შეუძლია გადასცეს ტრანზისტორი სიკვდილის წინ. ნაღმი ამბობს 150mW. 5V, 150mW ნიშნავს 30 mA (Watts = V * I). ამიტომაც გადავწყვიტე გამოვიყენო 220 Ω შემზღუდველი რეზისტორი, რადგანაც 5V- ზე 220 Ω რეზისტორი მხოლოდ 23 mA დენის მაქსიმალური გამტარიანობის საშუალებას იძლევა. (ომის კანონი: V = I * R). იგივე ეხება LED- ს, მონაცემთა ფურცლის ინფორმაცია ამბობს, რომ მისი მაქსიმალური დენი არის დაახლოებით 50mA, ასე რომ, სხვა 220 Ω რეზისტორი იქნება კარგი, რადგან ჩვენი Arduino pin მაქსიმალური გამომავალი დენი არის 40 mA და ჩვენ არ გვინდა ქინძისთავების დაწვა.

ჩვენ უნდა დავაკავშიროთ ჩვენი კონფიგურაცია, როგორც სურათზეა. თუ თქვენ იყენებთ ჩემნაირ ღილაკებს, იზრუნეთ, რომ დაფის ცენტრში მოათავსოთ ორი მრგვალი ამობურცულობა. შემდეგ, ატვირთეთ შემდეგი კოდი არდუინოში.

int readPin = A1; // pin სადაც არის დაკავშირებული 220 რეზისტორი ფოტოტრანსისტორინტი ptValue, j; // analogRead () void setup () წაკითხული მონაცემების შენახვის წერტილი () {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // ვკითხულობთ ძაბვის მნიშვნელობას readPin (A1) Serial.println (ptValue); // ამ გზით, ჩვენ ვუგზავნით წაკითხულ მონაცემებს სერიულ მონიტორს, რათა შევამოწმოთ რა ხდება დაგვიანებით (35); // უბრალოდ დაგვიანება ეკრანის ანაბეჭდების გასაადვილებლად}

ატვირთვის შემდეგ გახსენით სერიული პლოტერი (Tools -> Serial plotter) და უყურეთ რა მოხდება, როდესაც დააჭერთ თქვენს IR LED გადამრთველ ღილაკს. თუ გსურთ შეამოწმოთ მუშაობს თუ არა IR LED (ასევე ტელევიზორის დისტანციური მართვის პულტი) უბრალოდ განათავსეთ თქვენი მობილური ტელეფონის კამერა LED- ის წინ და გადაიღეთ ფოტო. თუ ყველაფერი წესრიგშია, დაინახავთ ლურჯ-მეწამულ შუქს, რომელიც გამოდის LED- დან.

სერიულ პლოტერში შეგიძლიათ განასხვავოთ, როდესაც LED არის ჩართული და გამორთული, თუ არა, შეამოწმეთ თქვენი გაყვანილობა.

დაბოლოს, თქვენ შეგიძლიათ შეცვალოთ analogRead მეთოდი digitalRead– ისთვის, ასე რომ თქვენ შეგიძლიათ ნახოთ მხოლოდ 0 ან 1. მე გირჩევთ შეაჩეროთ დაყენების შემდეგ (), რათა თავიდან ავიცილოთ ცრუ დაბალი წაკითხვა, (სურათი ერთი პატარა დაბალი პიკით).

გირჩევთ: