Satura rādītājs:
- 1. darbība: elektroinstalācijas lietas
- 2. solis: programmēšana
- 3. darbība: iestatīšana un mērīšana
- 4. solis: Geeks Stuff
Video: Arduino filmu kameru aizvara pārbaudītājs: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Nesen es nopirku divas lietotas filmas kameras. Pēc to tīrīšanas es sapratu, ka aizvara ātrumu var aizkavēt putekļi, korozija vai eļļas trūkums, tāpēc es nolēmu izgatavot kaut ko jebkuras kameras reālā ekspozīcijas laika mērīšanai, jo ar kailām acīm es to nevaru izmērīt precīzi. Šis projekts izmanto Arduino kā galveno sastāvdaļu ekspozīcijas laika mērīšanai. Mēs izveidosim opto pāri (IR LED un IR fototranzistors) un lasīsim, cik ilgi kameras aizvars ir atvērts. Pirmkārt, es paskaidrošu ātro veidu, kā sasniegt mūsu mērķi, un beigās mēs redzēsim visu šī projekta teoriju.
Komponentu saraksts:
- 1 x filmas kamera
- 1 x Arduino Uno
- 2 x 220 Ω oglekļa plēves rezistors
- 1 x IR LED
- 1 x fototransistors
- 2 x mazi dēlīši (vai 1 liels maizes dēlis, pietiekami liels, lai ietilptu kameras centrā)
- Daudzi džemperi vai kabelis
*Šie papildu komponenti ir nepieciešami paskaidrojumu sadaļai
- 1 x normālas krāsas LED
- 1 x īslaicīga spiedpoga
1. darbība: elektroinstalācijas lietas
Vispirms pievienojiet IR gaismas diodi vienā maizes plāksnē un IR fototransistoru otrā, lai mēs varētu tos novietot viens pret otru. Pievienojiet vienu 220 Ω rezistoru LED anodam (garā kāja vai puse bez plakanas apmales) un pievienojiet rezistoru Arduino 5 V barošanas avotam. Pievienojiet arī LED katodu (īsu kāju vai sānu ar plakanu apmali) vienam no GND portiem Arduino.
Pēc tam pievienojiet kolektora tapu uz foto tranzistora (man tā ir īsa kāja, bet jums jāpārbauda tranzistora datu lapa, lai pārliecinātos, ka to pareizi pievienojat, vai arī varat pārtraukt tranzistora uzspridzināšanu) pie 220 Ω rezistora un rezistoru ar tapu A1 uz Arudino, pēc tam pievienojiet fototransistora Emittera tapu (garo kāju vai to, kurai nav plakanas malas). Tādā veidā mums IR gaismas diode vienmēr ir ieslēgta, un foto tranzistors ir iestatīts kā izlietnes slēdzis.
Kad IR gaisma nonāk tranzistorā, tā ļaus strāvai pāriet no kolektora tapas uz izstarotāja tapu. Mēs iestatīsim A1 tapu, lai ievadītu pull up, tāpēc tapa vienmēr būs augstā stāvoklī, ja vien tranzistors nenoslogos strāvu līdz masai.
2. solis: programmēšana
Iestatiet savu Arduino IDE (ports, tāfele un programmētājs), lai tas atbilstu jūsu Arduino plates konfigurācijai.
Kopējiet šo kodu, apkopojiet un augšupielādējiet:
int readPin = A1; // tapa, kur ir savienots 330 rezistors no fototransistora
int ptValue, j; // no analogRead () bool lock nolasīto datu glabāšanas punkts; // bolean, ko izmanto, lai nolasītu statusu readPin neparakstīts garais taimeris, taimeris2; divreiz nolasīts; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; ilgi gaidīts [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // mēs iestatām seriālo sakaru ātrumu 9600 biti sekundē pinMode (readPin, INPUT_PULLUP); // mēs iestatīsim tapu vienmēr augstu, izņemot gadījumus, kad foto tranzistors grimst, tāpēc mēs "mainījām" loģiku // tas nozīmē HIGH = nav IR signāla un LOW = IR signāla saņemšanas aizture (200); // šī aizkave ir paredzēta sistēmas sākuma palaišanai un izvairīšanās no nepatiesiem rādījumiem j = 0; // inicializējot mūsu skaitītāju} void loop () {lock = digitalRead (readPin); // nolasot dotā tapa stāvokli un piešķirot to mainīgajam, ja (! lock) {// palaist tikai tad, kad tapa ir LOW timer = micros (); // iestatiet atsauces taimeri, kamēr (! lock) {// dariet to, kamēr tapa ir LOW, citiem vārdiem sakot, aizvara atvēršanas taimeris2 = micros (); // ņemiet pagājušo laiku parauga lock = digitalRead (readPin); // izlasiet tapas stāvokli, lai uzzinātu, vai aizvars ir aizvērts} Serial.print ("Position:"); // šis teksts ir domātas informācijas parādīšanai Serial.print (izvēlieties [j]); Serial.print ("|"); Serial.print ("Laiks atvērts:"); lasīts = (taimeris2 - taimeris); // aprēķināt, cik daudz laika bija atvērts aizvars Serial.print (lasīts); Serial.print ("mēs"); Serial.print ("|"); Serial.print ("Paredzamais:"); Sērijas.println (paredzēts [j]*1000); j ++; // palielināt aizvara stāvokli, to varētu izdarīt ar pogu}}
Kad augšupielāde ir pabeigta, atveriet seriālo monitoru (Rīki -> Sērijas monitors) un sagatavojiet kameru rādījumiem
Rezultāti tiek parādīti pēc vārdiem "laiks atvērts:", visa pārējā informācija ir iepriekš ieprogrammēta.
3. darbība: iestatīšana un mērīšana
Noņemiet kameras objektīvus un atveriet filmu nodalījumu. Ja jums jau ir ielādēta filma, neaizmirstiet to pabeigt pirms šīs procedūras veikšanas, pretējā gadījumā jūs sabojāsit uzņemtos fotoattēlus.
Novietojiet IR gaismas diodi un infrasarkano staru tranzistoru kameras pretējās pusēs - vienu filmas sānos un otru sānos, kur bija objektīvi. Neatkarīgi no tā, kuru pusi izmantojat gaismas diodei vai tranzistoram, vienkārši pārliecinieties, ka, saspiežot aizvaru, tie vizuāli saskaras. Lai to izdarītu, iestatiet aizvaru uz "1" vai "B" un pārbaudiet sērijas monitoru, kad "uzņemat" fotoattēlu. Ja aizvars darbojas labi, monitoram vajadzētu parādīt rādījumu. Jūs varat arī novietot necaurspīdīgu objektu starp tiem un pārvietot to, lai iedarbinātu mērīšanas programmu.
Atiestatiet Arduino ar atiestatīšanas pogu un fotografējiet pa vienam ar dažādiem aizvara ātrumiem, sākot no "B" līdz "1000". Sērijas monitors drukās informāciju pēc aizvara aizvēršanas. Piemēram, pievienotajos attēlos varat redzēt laiku, kas mērīts no Miranda un Praktica filmu kamerām.
Izmantojiet šo informāciju, lai labotu fotoattēlus vai diagnosticētu kameras stāvokli. Ja vēlaties tīrīt vai noregulēt kameru, es ļoti iesaku to nosūtīt pieredzējušam tehniķim.
4. solis: Geeks Stuff
Tranzistori ir visu mūsdienās redzamo elektronisko tehnoloģiju pamatā, tos pirmo reizi ap 1925. gadu patentēja kāds Austroungārijā dzimis vācu izcelsmes amerikāņu fiziķis. Tie tika aprakstīti kā ierīce strāvas kontrolei. Pirms tiem mums bija jāizmanto vakuuma caurules, lai veiktu šodien tranzistoru darbības (televizors, pastiprinātāji, datori).
Tranzistoram ir spēja kontrolēt strāvu, kas plūst no kolektora uz izstarotāju, un mēs varam kontrolēt šo strāvu parastajos tranzistoros ar 3 kājām, pielietojot strāvu uz tranzistora vārtiem. Lielākajā daļā tranzistoru vārtu strāva tiek pastiprināta, tāpēc, piemēram, ja mēs pieliekam vārtiem 1 mA, mēs iegūstam 120 mA, kas plūst no emitera. Mēs to varam iedomāties kā ūdens krāna vārstu.
Foto tranzistors ir parasts tranzistors, bet tā vietā, lai būtu vārtu kāja, vārti ir savienoti ar fotoattēliem saprātīgu materiālu. Šis materiāls rada nelielu strāvu, kad to ierosina fotoni, mūsu gadījumā - IR viļņa garuma fotoni. Tātad, mēs kontrolējam foto tranzistoru, mainot IR gaismas avota jaudu.
Pirms iegādājaties un pievienojat mūsu elementus, ir jāņem vērā dažas specifikācijas. Pievienota informācija, kas iegūta no tranzistora un LED datu lapām. Pirmkārt, mums jāpārbauda tranzistora sabrukšanas spriegums, kas ir maksimālais spriegums, ko tas var apstrādāt, piemēram, mans sabrukšanas spriegums no emitera uz kolektoru ir 5V, tādēļ, ja es to nepareizi pievadīšu, iegādājoties 8V, es cepšu tranzistoru. Pārbaudiet arī jaudas izkliedi, tas nozīmē, cik daudz strāvas var piegādāt tranzistoru pirms nāves. Manējais saka 150mW. Pie 5 V 150 mW nozīmē iegūt 30 mA (vati = V * I). Tāpēc es nolēmu izmantot ierobežotāja rezistoru 220 Ω, jo pie 5 V 220 Ω rezistors ļauj izvadīt tikai maksimālo strāvu 23 mA. (Oma likums: V = I * R). Tas pats gadījums attiecas uz LED, datu lapas informācija saka, ka tā maksimālā strāva ir aptuveni 50 mA, tāpēc vēl viens 220 Ω rezistors būs kārtībā, jo mūsu Arduino tapas maksimālā izejas strāva ir 40 mA, un mēs nevēlamies sadedzināt tapas.
Mums ir jāsavieno mūsu iestatījumi kā attēlā. Ja izmantojat tādas pogas kā manējās, uzmanīgi novietojiet abus apaļos izvirzījumus tāfeles centrā. Pēc tam augšupielādējiet šādu kodu Arduino.
int readPin = A1; // pin, kur ir pievienots 220 rezistors no fototransistorinta ptValue, j; // no analogRead () void setup () nolasīto datu glabāšanas punkts {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // sprieguma vērtību lasām readPin (A1) Serial.println (ptValue); // šādā veidā mēs nosūta nolasītos datus uz seriālo monitoru, lai mēs varētu pārbaudīt notiekošo aizkave (35); // tikai aizkavēšanās, lai atvieglotu ekrānuzņēmumus}
Pēc augšupielādes atveriet sērijveida ploteri (Rīki -> Sērijas ploteris) un skatieties, kas notiek, nospiežot IR LED slēdža pogu. Ja vēlaties pārbaudīt, vai IR gaismas diode darbojas (arī televizora tālvadības pults), vienkārši novietojiet mobilā tālruņa kameru gaismas diodes priekšā un uzņemiet fotoattēlu. Ja viss ir kārtībā, no gaismas diodes parādīsies zili violeta gaisma.
Sērijveida ploterī varat atšķirt, kad gaismas diode ir ieslēgta un izslēgta, ja tā nav, pārbaudiet elektroinstalāciju.
Visbeidzot, jūs varat mainīt analogRead metodi digitalRead, lai jūs varētu redzēt tikai 0 vai 1. Es iesaku aizkavēties pēc iestatīšanas (), lai izvairītos no nepatiesas LOW nolasīšanas (attēls ar vienu mazu LOW maksimumu).
Ieteicams:
MPK klases piesārņojuma pārbaudītājs: 10 soļi
CPC klases piesārņojuma pārbaudītājs: Sveiki, es esmu students no Beļģijas, un šis ir mans pirmais lielais projekts bakalaura grāda iegūšanai! Šī pamācība ir par to, kā izveidot gaisa plūsmas mērītāju slēgtām telpām, īpaši klasēm! Es dzirdu, ka jūs domājat, kāpēc šis projekts? Nu, tas viss ir
DIY kabatas gaisa temperatūras pārbaudītājs: 6 soļi
DIY kabatas gaisa temperatūras pārbaudītājs: lai to izdarītu, mēs izmantosim Nokia 5110 displeju, digitālo temperatūras moduli un Arduino Uno. Nepieciešams arī 9V ligzda ar vadiem, nevis muca, kā arī slēdzis un vadi. Var būt vajadzīgs lodāmurs, bet jūs varat arī savīt vadus
Diskrētas bikses lidojuma pārbaudītājs: 17 soļi (ar attēliem)
Diskrētas bikses lido pārbaudītājs: Cilvēkiem vienmēr rodas jautājums, kā es varu izgatavot tik daudz izgudrojumu. Man tā ir parasta ikdienas lieta. Es to vienkārši daru. Es īsti nezinu, kā darīt ko citu. Mani prātam neaptveramāk ir tas, kā visi citi dara šos citus
RPM pārbaudītājs mini motora līdzstrāvai: 11 soļi (ar attēliem)
RPM pārbaudītājs mini motoram DC: apgrieziens minūtē, īsi ir rotācijas ātrums, kas izteikts apgriezienu minūtē. instrumenti RPM mērīšanai parasti izmanto tahometru. Pagājušajā gadā es atklāju interesantu projektu, ko veica electro18, un tas ir mans iedvesmas avots, viņš bija traks
Arduino tējas pārbaudītājs: TfCD: 4 soļi (ar attēliem)
Arduino tējas pārbaudītājs: TfCD: Šī ir tējas krūze ar Arduino termometru, kas palīdzēs pagatavot perfektu tasi tējas, gan ieliekot tējas maisiņu pareizajā temperatūrā, lai pārliecinātos, ka to nededzināt vai nededzināt mēli trīs dažādu vadītāju vadībā