Talaan ng mga Nilalaman:

Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller .: 22 Mga Hakbang (na may Mga Larawan)
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller .: 22 Mga Hakbang (na may Mga Larawan)

Video: Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller .: 22 Mga Hakbang (na may Mga Larawan)

Video: Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller .: 22 Mga Hakbang (na may Mga Larawan)
Video: Apple's Painful 2-year Fortnite Lawsuit, Explained | TechLonger 2024, Nobyembre
Anonim
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller
Buuin ang Iyong Sarili (murang!) Multi-function na Wireless Camera Controller

Panimula Naisip na pagbuo ng iyong sariling camera controller? MAHALAGA TANDAAN: Ang mga capacitor para sa MAX619 ay 470n o 0.47u. Tama ang eskematiko, ngunit ang listahan ng sangkap ay mali - na-update. Ito ay isang pagpasok sa kumpetisyon ng Digital Days kaya kung nakita mong kapaki-pakinabang ito, mangyaring i-rate / bumoto / magkomento nang mas mabuti! Kung gusto mo ito ng reallly at ikaw ay isang hadlang, pindutin ang "gusto ko ito!":) Update: itinampok sa hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Update: mga bagong larawan ng laser trigger na kumikilos! Update: First Prize = D, salamat sa pagboto at / o pag-rate! Ang itinuturo na ito ay pangunahin para sa pakinabang ng mga gumagamit ng SLR na naghahanap upang makakuha ng kaunting agwat ng mga milya mula sa kanilang mga camera, subalit kung may anumang punto at nag-shoot sa mga IR interface, maaari mong makita ang kawili-wili na ito. Tiyak na gagana rin ito (na may kaunting pagbabago) sa mga pag-hack ng camera kung saan maaari mong i-wire ang mga lohikal na output sa mga terminal ng pag-trigger ng camera. Nagsimula ito bilang isang buong tinatangay ng hangin tutorial, ngunit dahil sa ilang hindi inaasahang mga hadlang na nakasalubong ko sa paglaon, maaaring higit itong isang gabay sa kung paano makamit ang iba't ibang mga bagay - madalas kitang iwan ng pagpipilian kung paano mo magagawa ang mga bagay na kung saan Sa palagay ko ay isang mas mahusay na paraan ng paggawa ng mga bagay kaysa sa bulag na pagsasabing "dapat mong gawin ito". Isipin ito bilang isang aralin sa disenyo ng camera controller. Nagbigay ako ng mga iskema at buong code upang maaari mo lamang itong kopyahin lamang. Ito ay magiging isang simpleng kaso ng paglilipat ng disenyo sa isang stripboard at pagdaragdag ng LCD para sa karamihan ng mga tao. Napagdaanan ko kung paano ito i-breadboard dahil ang proseso ay halos kapareho at pinapayagan ang pagwawasto ng mga pagkakamali bago mo gawing permanente ang disenyo! Mga Tampok: Single shot mode Interval (time lapse) mode na Triggered shot (gatilyo mula sa panlabas na sensor) mode na may mga variable na kondisyon Kasamang mga disenyo ng sensor - ilaw, tunog (mas posible!) Kabuuang gastos - sa ilalim ng £ 25 (hindi kasama ang mga tool) LCD Display para sa madaling pagbabago ng mga setting Tugma sa Nikon / Canon (naka-code), potensyal na suporta (hindi nasubukan) para sa Olympus / Pentax Walang firmware Kailangan ng pagbabago na Gumagamit ng IR sa gayon ay pareho nang wireless at hindi makapinsala sa iyong camera Mayroon akong ideya para dito pagkatapos na nakaupo sa labas sa malamig na pag-click sa aking remote control nang maraming oras. Gumagawa ako ng isang 8 segundo na agwat para sa halos 1000 shot. Akala ko, hoy, IR LED lang naman di ba? Bakit hindi ko ito makaya at gumawa ng sarili kong remote na may built na pagkaantala? Pagkatapos ay nalaman ko (medyo napahiya, dahil naisip ko na nagkaroon ako ng napakalaking alon ng utak) na tapos na ito at may ilang mga itinuturo din sa paksa. Kung saan ang aking pagpapatupad ay naiiba mula sa karamihan sa mga intervalometers at diy remote na pinapayagan nito para sa maraming pagpapasadya at modularity, ay katugma sa parehong Nikon / Canon (at malamang na iba pa mamaya) at pinagsasama ang kakayahang kumuha ng larawan sa isang partikular na gatilyo. Ang ideya ay simple. Nais mong kumuha ng larawan ng isang bagay na medyo mabilis (kasalukuyang limitado ng lag sa iyong shutter, para sa akin 6ms). Mayroong iba't ibang mga pamamaraan para sa paggawa nito: 1. Pagsubok at pagkakamali sinubukan mong kunan ng larawan sa tamang sandali 2. Pinahusay na pagsubok at error na pinaputi mo ang silid, ilagay ang iyong camera sa bombilya (buksan ang shutter) at sunugin ang isang flash sa tamang oras 3. Bumili ng isang nakatuon na controller ng pag-trigger na mayroong ilang uri ng audio / ilaw na sensor upang kunan ng larawan ang iyong utos 4. Bumuo ng isa sa iyong sarili! Ok, ang 1 at 2 ay pagmultahin para sa paggulo at maaaring magbigay ng ilang napakahusay na larawan. Ngunit kung ano ang ipapakita ko sa iyo ay posible na bumuo ng isang circuit na magbibigay sa iyo ng pare-pareho ang mga resulta ng oras at oras muli. Pinakamahalaga, sa mga masikip na oras na ito, ang gastos ay mas mababa kaysa sa mga kahaliling modelo (ang ilang mga tao ay gumawa ng mga kit na gumagawa ng ganitong uri ng bagay, ngunit nagkakahalaga sila ng isang makakita ng mga kapalaran). Ang kagalingan ng maraming disenyo ay ito: Kung ang iyong sensor ay bumubuo ng isang output boltahe sa pagitan ng 0 at 5V, maaari mo itong gamitin upang ma-trigger ang iyong camera! Sa harap nito ito ay isang nakakainip na pahayag, ngunit sa sandaling masimulan mong maunawaan ang mga implikasyon ay nagiging napakalakas nito. Sa pamamagitan lamang ng pagsubaybay sa isang antas ng boltahe, ang iyong gatilyo ay maaaring batay sa ilaw (LDR), nakabatay sa tunog (mikropono o ultrasound), nakabatay sa temperatura (thermistor) o kahit isang simpleng potensyomiter. Sa katunayan, kahit ano. Maaari mo ring i-link ang circuit hanggang sa isa pang controller at ibinigay na mabibigyan ka nito ng isang lohikal na output, kaya maaari kang mag-trigger mula rito. Ang tanging pangunahing limitasyon ng disenyo sa kasalukuyan ay gumagana lamang ito sa mga interface ng IR, magiging simple lamang na baguhin ang software at hardware upang mai-output sa pamamagitan ng mini-USB o anumang uri ng interface ang kinakailangan. Tandaan: Source Code: Nagbigay ako ng ilang mga application sa hakbang 13. Ang code na pinapatakbo ko sa aking controller hanggang ngayon ay nasa isang hex file kasama ang pangunahing c file at mga dependency nito. Maaari mo lamang patakbuhin ang aking code kung hindi ka sigurado tungkol sa pag-iipon. Nagsama rin ako ng ilang sample code na maaari mong gamitin sa iba't ibang mga hakbang (malinaw na pinangalanan sila tulad ng remote_test, intervalometer test at adc test. Kung sumangguni ako sa code sa isang hakbang, narito ang posibilidad. Narito ang EDIT: Isang pag-update tungkol sa lumalabas ang mga lobo - tila medyo ako ay may paningin nang sinabi kong madali mong kunan ng larawan ang mga popping lobo. Lumabas na ang balat sa average na lobo ay mabilis na naglalakbay na ganap na itong mag-pop sa oras na mag-apoy ang iyong camera. Ito ay isang isyu sa karamihan ng mga camera, HINDI ang controller (kung saan ang pandama ng ADC sa rate na humigit-kumulang 120kHz). Ang paraan na pag-ikot nito ay ang paggamit ng isang na-trigger na flash, na maaaring gawin kung magdagdag ka ng isang sobrang kawad at isa pang maliit na circuit. Iyon sinabi, maaari mong gamitin sa teorya ang ibang bagay upang mai-pop ito at maglaro kasama ang pagkaantala (o kahit palitan ang code ng pagkaantala upang isama ang mga microsecond). Ang isang air pellet na naglalakbay na 1m sa 150ms-1 ay tumatagal ng mga 6-7ms, sapat na oras upang ma-trigger at kunan ng larawan Ang paglipat lamang ng baril ay magbibigay ng isang paunang pag-antala ng ilang microsecond s. Muli, humihingi ng paumanhin tungkol dito, maglalaro ako tungkol sa ngayong gabi kung makakahawak ako ng ilang mga lobo, ngunit marami pa ring paggamit para sa isang audio trigger, tulad ng paputok! Naglagay ako ng isang mabilis at maruming oras na lumipas sa ibaba upang maipakita na gumagana ito gayunpaman:) Huwag kalimutang basahin, i-rate at / o iboto! Cheers, JoshDisclaimer Sa hindi malamang kaganapan na may isang bagay na napakasindak na mali o kahit papaano ay brick mo ang iyong camera / dremel ang iyong pusa, hindi ako mananagot para sa anumang bagay. Sa pamamagitan ng pagsisimula ng isang proyekto batay sa itinuturo na ito, tatanggapin mo iyon at magpatuloy sa iyong sariling panganib. Kung gumawa ka ng isa sa mga ito, o gamitin ang aking itinuro upang matulungan ka - mangyaring magpadala sa akin ng isang link / larawan upang maisama ko ito dito! Ang tugon ay napakalaki sa ngayon (hindi bababa sa aking mga pamantayan) kaya't kahanga-hanga makita kung paano ito binibigyang kahulugan ng mga tao. Gumagawa ako sa rebisyon 2 habang nagta-type ako;)

Hakbang 1: Ilang Paunang Pananaw…

Kaya, paano natin bubuuin ang bagay na ito? Microcontroller Ang puso at kaluluwa ng proyektong ito ay isang AVR ATMega8. Mahalaga ito ay isang bahagyang naka-trim na bersyon ng ATMega168 chip na ginagamit ng Arduino. Programmable ito sa C o Assembly at mayroong iba't ibang talagang kapaki-pakinabang na mga tampok na maaari naming magamit sa aming kalamangan. "28 pin, ang karamihan ay input / output (i / o)" Onboard analog sa digital converter "Mababang pag-inom ng kuryente "3 onboard timer" Panloob o panlabas na mapagkukunan ng orasan "Maraming mga aklatan ng code at mga sample sa online Ang pagkakaroon ng maraming mga pin ay mabuti. Maaari kaming mag-interface sa isang LCD screen, magkaroon ng 6 na mga input ng pindutan at mayroon pa ring sapat na natira para sa isang IR LED upang kunan ng larawan at ilang mga LED status. Ang serye ng mga processor ng Atmel AVR ay mayroong maraming suporta sa online at maraming mga tutorial sa pagkuha nagsimula (dadalhin ko ito sandali, ngunit may mga mas mahusay na nakatuon na mga tutorial) at tambak at tambak ng code upang mull over. Para sa sanggunian ay nai-coding ko ang proyektong ito sa C gamit ang AVR-LibC library. Madali akong napunta sa PIC upang gawin ito, ngunit ang AVR ay suportado ng mabuti at ang lahat ng mga halimbawa na nakita ko para sa mga remote ay batay sa AVR! LCD DisplayThere ay dalawang pangunahing uri ng pagpapakita, grapiko at alphanumeric. Ang mga graphic display ay may resolusyon at maaari kang maglagay ng mga pixel saan mo man gusto. Ang downside ay mas mahirap silang mag-code para sa (kahit na mayroon ang mga aklatan). Ang mga pagpapakita ng alphanumeric ay isa lamang o maraming mga hilera ng mga character, ang LCD ay may isang onboard store ng mga pangunahing character (ibig sabihin, ang alpabeto, ilang mga numero at simbolo) at medyo madali itong mag-output ng mga string at iba pa. Ang downside ay hindi sila kasing kakayahang umangkop at ang pagpapakita ng mga graphic ay halos imposible, ngunit nababagay ito sa aming layunin. Mas mura din sila! Ang mga alphanumerics ay ikinategorya ayon sa bilang ng kanilang hilera at haligi. Ang 2x16 ay medyo karaniwan, na may dalawang mga hilera ng 16 na mga character, ang bawat character ay isang 5x8 matrix. Maaari ka ring makakuha ng 2x20 s, ngunit hindi ko makita ang pangangailangan. Bumili ng anumang komportable sa iyo. Pinili kong gumamit ng isang pulang backlit LCD (nais kong gamitin ito para sa astrophotography at ang pulang ilaw ay mas mahusay para sa night vision). Maaari kang pumunta nang walang backlight - buo ang iyong pinili. Kung pipiliin mo ang isang hindi pabalik na ruta makatipid ka ng lakas at pera, ngunit maaaring kailanganin mo ng isang tanglaw sa dilim. Kapag naghahanap ng isang LCD, dapat mong tiyakin na kontrolado ito ng HD44780. Ito ay isang pamantayan sa industriya na protokol na binuo ni Hitachi at maraming mga mahusay na aklatan na maaari naming magamit upang mag-output ng data. Ang modelo na binili ko ay isang JHD162A mula sa eBay. Ang InputInput ay gagawin ng mga pindutan (simple!). Pinili ko ang 6 - mode select, ok / shoot at 4 na direksyon. Sulit din ang pagkuha ng isa pang maliit na pindutan para sa pag-reset ng micro kung sakaling magkaroon ng isang pag-crash. Tulad ng para sa pag-input ng gatilyo, ang ilang pangunahing ideya ay isang light dependant na resistor o isang electret microphone. Dito ka makakakuha ng pagiging malikhain o kuripot depende sa iyong badyet. Ang mga sensor ng ultrasound ay nagkakahalaga ng kaunti pa at mangangailangan ng dagdag na programa ngunit maaari kang gumawa ng ilang mga talagang maayos na bagay sa kanila. Karamihan sa mga tao ay matutuwa sa isang mikropono (marahil ang pinaka kapaki-pakinabang na pangkalahatang sensor) at ang mga electret ay napakamura. Magkaroon ng kamalayan na kakailanganin itong palakasin din (ngunit susuriin ko ito sa paglaon). Output - Katayuan Ang tanging tunay na output na kailangan namin ay katayuan (bukod sa display), kaya't ang isang pares ng mga LED ay gagana nang maayos dito. Output - ShootingFor pagkuha mga larawan, kailangan namin upang makipag-ugnay sa camera at para sa kailangan namin ng isang mapagkukunan ng ilaw na maaaring makabuo ng infra-red radiation. Sa kabutihang palad mayroong maraming mga LED na ginagawa ito at dapat mong subukang kunin ang isang makatwirang mataas na kapangyarihan. Ang yunit na pinili ko ay may kasalukuyang rating na 100mA max (ang karamihan sa mga LED ay humigit-kumulang na 30mA). Dapat mo ring mag-ingat na tandaan ang output ng haba ng daluyong. Ang Infrared light ay nasa mas mahabang haba ng haba ng haba ng haba ng wa ng haba ng spectrum ng EM at dapat ay naghahanap ka para sa isang halaga na humigit-kumulang 850-950nm. Karamihan sa mga IR LEDs ay may posibilidad na magtapos sa 950 na dulo at maaari kang makakita ng kaunting pulang ilaw kapag ito ay nakabukas, hindi ito isang problema, ngunit nasayang ang spectrum kaya subukang lumapit sa 850 kung maaari. ito Kaya, ito ay magiging portable kaya baterya! Pinili kong gumamit ng 2 mga baterya ng AA na pagkatapos ay aakyat sa 5V. Susubukan ko ang pangangatuwiran sa likod nito sa mga susunod na ilang seksyon. Nagpasya akong gumamit ng stripboard para sa circuit pagkatapos ng prototyping sapagkat ito ay mura at may kakayahang umangkop at nai-save ang pagdidisenyo ng isang pasadyang PCB. Ibinigay ko ang mga iskema upang malaya ka upang makagawa ng iyong sariling layout ng PCB - kahit na kung gagawin mo ito, magpapasalamat ako na magkaroon ng isang kopya! Muli ang kaso ay ganap na iyong pinili, kailangang maangkop ang screen, mga pindutan (sa isang medyo madaling maunawaan na layout kung maaari) at ang mga baterya. Tulad ng pagpunta ng mga circuit board, ang isang ito ay hindi kumplikado, maraming mga koneksyon ay simpleng sa mga bagay tulad ng mga pindutan / LCD.

Hakbang 2: Pamamahala sa Power

Pamamahala sa Kuryente
Pamamahala sa Kuryente

Pamamahala ng Power Para sa isang proyekto na tulad nito ay malinaw na ang kakayahang dalhin ay dapat isang pangunahing aspeto. Ang mga baterya ay gayon ang lohikal na pagpipilian! Ngayon, para sa mga portable na aparato ay medyo susi na pumili ka ng isang mapagkukunan ng baterya na maaaring rechargeable o madaling magagamit. Ang dalawang pangunahing pagpipilian ay ang 9V PP3 na baterya o mga baterya ng AA. Sigurado ako na ang ilang mga tao ay ipalagay na ang isang 9V baterya ay ang pinakamahusay na pagpipilian dahil hey, 9V ay mas mahusay kaysa sa 3 tama? Well, hindi sa kasong ito. Ang 9V na baterya habang lubos na kapaki-pakinabang, gumawa ng kanilang boltahe na kapinsalaan ng buhay ng baterya. Sinusukat sa mAh (mga oras ng milliamp), sasabihin sa iyo ng rating na ito sa teorya kung gaano katagal ang pagpapatakbo ng baterya sa 1mA sa mga oras (bagaman dalhin ito sa isang kurot ng asin, madalas itong nasa ilalim ng mainam, mababang kondisyon ng pag-load). Kung mas mataas ang rating, mas matagal ang baterya. Ang 9V na baterya ay na-rate ng hanggang sa at sa paligid ng 1000mAh. Ang Alkaline AA's sa kabilang banda ay may halos tatlong beses na mas malaki sa 2900mAh. Maaaring maabot ito ng NiMH rechargables, kahit na ang 2500mAh ay isang makatuwirang halaga (tandaan na ang mga rechargeable na baterya ay nagpapatakbo sa 1.2V hindi 1.5!). Ang LCD screen ay nangangailangan ng isang 5V input (10%) at ang AVR (ang microcontroller) ay nangangailangan ng halos pareho (kahit na maaari itong bumaba ng 2.7 para sa mababang bilis ng orasan ng dalas). Kailangan din namin ng medyo matatag na boltahe, kung nagbabago ang tungkol dito ay maaaring maging sanhi ng mga problema sa microcontroller. Upang magawa ito gagamitin namin ang isang regulator ng boltahe, kailangan mong pumili ng higit sa presyo kumpara sa kahusayan ngayon. Mayroon kang pagpipilian ng paggamit ng isang simpleng 3-pin voltage regulator tulad ng LM7805 (78 series, +5 volts output) o isang maliit na integrated circuit. Gumamit ng isang simpleng regulator Kung pinili mong sumama sa pagpipiliang ito, kailangan mong magdala ng ilang mga puntos sa isip. Una, ang tatlong mga regulator ng pin ay palaging nangangailangan ng isang input na mas mataas kaysa sa kanilang output. Pagkatapos ay ibababa nila ang boltahe pababa sa nais na halaga. Ang downside ay mayroon silang kakila-kilabot na kahusayan (50-60% ay mahusay na pagpunta). Ang nakabaligtad ay ang mga ito ay mura at tatakbo gamit ang isang 9V na baterya, maaari kang pumili ng isang pangunahing modelo para sa 20 pence sa UK. Dapat mo ring tandaan na ang mga regulator ay may isang dropout boltahe - ang minimum na agwat sa pagitan ng pag-input at output. Maaari kang bumili ng mga espesyal na regulator ng LDO (Mababang DropOut) na may mga dropout sa paligid ng 50mV (kumpara sa 1-2V sa iba pang mga disenyo). Sa madaling salita, maghanap ng mga LDO na may output na + 5V. Gumagamit ng isang integrated circuit Ang perpektong paraan upang pumunta ay isang switching regulator. Ito ay magiging, para sa aming hangarin, karaniwang mga 8-pin na pakete na kumukuha ng boltahe at bibigyan kami ng isang kinokontrol na output sa isang mataas na kahusayan - halos 90% sa ilang mga kaso. Maaari kang makakuha ng pagtaas o pagbaba ng mga converter (boost / buck ayon sa pagkakabanggit) depende sa kung ano ang nais mong ilagay, bilang kahalili maaari kang bumili ng mga regulator na tatagal sa itaas o sa ibaba ng nais na output. Ang chip na ginagamit ko para sa proyektong ito ay isang MAX619 +. Ito ay isang 5V step up regulator na tumatagal ng 2 AA (ang saklaw ng pag-input ay 2V-3.3V) at nagbibigay ng isang matatag na 5V. Kailangan lamang nito ng apat na capacitor upang mapatakbo at napakahusay ng puwang. Gastos - 3.00 kasama ang mga takip. Masasabing sulit sa splurge lamang upang makakuha ng kaunting paggamit mula sa iyong mga baterya. Ang tanging pangunahing downside ay na ito ay hindi protektado ng maikling circuit, kaya kung mayroong isang kasalukuyang pag-akyat, babalaan! Ito ay makatuwirang walang halaga upang ayusin sa isang idagdag sa circuit gayunpaman: Ang isa pang kapaki-pakinabang na disenyo ng maliit na tilad - kahit na hindi gaanong masinop ang isang solusyon ay ang LT1307. Muli, isang 5V regulator, ngunit maaari itong tumagal ng iba't ibang mga input at may mga kapaki-pakinabang na bagay tulad ng mababang pagtuklas ng baterya. Gumastos ito ng medyo higit pa sa halos5 sa mga inductor, malalaking capacitor at resistors. Voltage Rails Gagamitin namin ang dalawang pangunahing riles ng boltahe (kasama ang isang karaniwang lupa). Ang una ay ang 3V mula sa baterya, magagamit ito upang mapagana ang mga LED at iba pang medyo mataas na mga sangkap ng kuryente. Ang aking MAX619 ay na-rate lamang hanggang sa 60mA (kahit na ang maximum maximum ay 120mA) kaya mas madaling ikonekta ang microcontroller sa isang MOSFET upang makontrol ang anumang mga LED. Ang MOSFET ay nakakakuha ng halos walang kasalukuyang at gumaganap bilang isang pahinga sa circuit kapag ang input ng gate ay nasa ilalim ng paligid ng 3V. Kapag ang microcontroller ay nagpapadala ng lohikal na 1 sa pin, ang boltahe ay 5V at ang FET ay nakabukas, pagkatapos ay kumikilos lamang bilang isang maikling circuit (ie isang piraso ng kawad). Ang 5V rail ay magpapagana sa LCD, Microcontroller at anumang mga circuit ng amplification para sa mga input sensor. Pagkonsumo ng Power Kung titingnan namin ang iba't ibang mga datasheet, tandaan namin na ang AVR ay tumatagal ng hindi hihigit sa 15-20mA sa maximum na pagkarga. Ang LCD ay tumatagal lamang ng 1mA upang mapatakbo (hindi bababa sa kapag nasubukan ko, badyet para sa 2). Sa nakabukas ang backlight, nasa sa iyo talaga ang magpasya. Ang pagkonekta nito diretso hanggang sa 5V rail (sinubukan ko) ay mabuti, ngunit tiyaking mayroon itong onboard resistor (sundin ang mga bakas sa PCB) bago mo ito gawin. Gumuhit ito ng 30mA sa ganoong paraan - kakila-kilabot! Sa pamamagitan ng isang resistor na 3.3k makikita pa rin ito (perpekto para sa astro photography) at gumuhit lamang ng 1mA. Maaari ka pa ring makakuha ng disenteng ningning gamit ang isang 1k o kung hindi man. Mabuti ako sa pagguhit ng minahan sa ilalim lamang ng 2mA na may backlight! Kung nais mo, walang halaga upang magdagdag ng isang brightness knob gamit ang isang 10k potentiometer. Ang IR LED ay maaaring tumagal ng maximum na 100mA, ngunit mayroon akong magagandang resulta sa 60mA sa aking (eksperimento!). Pagkatapos ay maaari mong hatiin ang kasalukuyang iyon dahil mabisa kang tumatakbo sa isang 50% na cycle ng tungkulin (kapag ang LED ay binago). Gayunpaman, ito ay nasa isang maliit na bahagi lamang ng isang segundo kaya hindi namin kailangang mag-alala tungkol dito. Ang iba pang mga LEDs na dapat mong i-play, maaari mong malaman na ang isang kasalukuyang 10mA lamang ay sapat na upang bigyan ka ng isang mahusay na ningning - tiyak na tumingin para sa mababang mga LED na kapangyarihan (hindi kasama ang IR), hindi ka nagdidisenyo ng isang tanglaw! Pinili kong hindi magdagdag ng isang tagapagpahiwatig ng kuryente sa aking circuit, dahil lamang sa maraming kasalukuyang gumuhit para sa hindi gaanong paggamit. Gamitin ang on / off switch upang suriin kung naka-on ito! Sa kabuuan, hindi ka dapat magpatakbo ng higit sa 30mA sa anumang oras at may isang teoretikal na supply na humigit-kumulang 2500 (pinapayagan ang pagkakaiba-iba) mAh na dapat bigyan ka ng higit sa 80 oras diretso sa lahat ng bagay. Sa proseso na idled para sa karamihan ng oras na ito ay hindi bababa sa doble / triple, kaya hindi mo dapat palitan ang iyong mga baterya nang madalas. Konklusyon Dito tayo pupunta, madali iyon Maaari kang mag-mura at masayang kasama ang isang 9V na baterya at isang regulator ng LDO na gastos ng kahusayan o magbayad nang kaunti pa at gumamit ng isang nakalaang IC upang magawa ito. Ang aking badyet ay nasa ilalim pa rin ng 20 kahit na MAY IC, upang maipalabas mo pa ito lalo kung kailangan mo.

Hakbang 3: Isang Malapit na Pagtingin sa ATmega8

Isang Malapit na Pagtingin sa ATmega8
Isang Malapit na Pagtingin sa ATmega8

Ang PinsImage 1 ay ang pinout diagram para sa ATMega8 (eksaktong kapareho ng 168/48/88, ang pagkakaiba lamang ay ang halaga ng onboard memory at makagambala na mga pagpipilian). Pin 1 - I-reset, dapat na gaganapin sa boltahe ng VCC (o hindi bababa sa lohikal 1). Kung na-grounded, ang aparato ay soft-resetPin 2-6 - Port D, pangkalahatang input / outputPin 7 - VCC, supply boltahe (+ 5V para sa amin) Pin 8 - GroundPin 9, 10 - XTAL, mga panlabas na input ng orasan (bahagi ng Port B) Pin 11 - 13 Port D, pangkalahatang input / outputPin 14 - 19 Port B, pangkalahatang input / outputPin 20 - AVCC, boltahe ng supply ng analogue (kapareho ng VCC) Pin 21 - AREF, sangguniang boltahe ng analoguePin 22 - GroundPin 23-28 Port C, pangkalahatang input / output Maaaring gamitin i / o port: D = 8, C = 6, B = 6A kabuuang 20 magagamit na mga port ay mahusay, para sa pagiging simple dapat mong i-grupo ang iyong mga output alinman sa mga port (sabihin, D bilang output port) o sa mga grupo sa pisara - baka gusto mong tumakbo ang LCD mula sa Port C upang mapanatiling malinis ang mga wire sa sulok na iyon. Mayroong tatlong labis na mga pin na kinakailangan para sa pag-program. Iyon ang MISO (18), MOSI (17) at SCK (19). Ang mga ito ay masayang kumikilos bilang mga i / o pin kung kinakailangan man. ClockingAng signal na ipinadala namin sa camera ay kailangang tumpak na mag-time (tumpak sa paligid ng isang microsecond) kaya mahalaga na pumili tayo ng isang mahusay na mapagkukunan ng orasan. Ang lahat ng mga AVR ay may panloob na oscillator na maaaring makuha ng maliit na tilad ang orasan nito. Ang kabiguan nito ay maaari silang magbagu-bago sa paligid ng 10% na may temperatura / presyon / halumigmig. Ang maaari nating gawin upang labanan ito ay ang paggamit ng isang panlabas na kristal na quartz. Magagamit ang mga ito sa anumang mula sa 32768kHz (relo) hanggang 20MHz. Pinili kong gumamit ng isang 4Mhz na kristal dahil nagbibigay ito ng disenteng dami ng bilis ngunit medyo konserbatibo kumpara sa marahil na 8Mhz +. Onboard Power Management Nais kong gumamit ng mga gawain sa pagtulog sa aking code. Sa katunayan sinulat ko ang unang bersyon na umaasa nang husto sa pag-idle ng processor habang lumipas ang oras. Sa kasamaang palad, dahil sa paghihigpit ng oras, tumakbo ako sa ilang mga isyu sa pagpapatakbo ng orasan sa labas at nakakagambala gamit ang mga timer. Sa esensya kakailanganin kong muling isulat ang code upang makitungo sa controller na hindi paggising - na magagawa ko, ngunit ang oras ay laban sa akin. Tulad ng naturan, kumukuha lamang ang aparato ng 20mA ish upang makawala ka dito. Kung talagang pinaghandaan mo ito, kung gayon sa pamamagitan ng lahat ng paraan ay makalikot sa code, ang kailangan mo lang gawin ay mag-relo sa loob at pagkatapos ay patakbuhin ang Timer 2 sa asynchronous mode gamit ang 4MHz na kristal para sa mas tumpak na pagkaantala. Ito ay simpleng gawin, ngunit gugugol ng oras. ADTO ang swiss ng kutsilyo ng hukbo sa mga tool ng AVR, ang ADC ay nangangahulugang Analogue to Digital Converter. Kung paano ito gumagana ay medyo simple mula sa labas. Ang isang boltahe ay na-sample sa isang pin (mula sa ilang sensor o iba pang input), ang boltahe ay nabago sa isang digital na halaga sa pagitan ng 0 at 1024. Ang isang halaga ng 1024 ay mapapansin kapag ang input boltahe ay katumbas ng ADC na boltahe ng sanggunian. Kung itinakda namin ang aming sanggunian na maging VCC (+ 5V) kung gayon ang bawat dibisyon ay 5/1024 V o sa paligid ng 5mV. Sa gayon ang isang pagtaas ng 5mV sa pin ay tataas ang halaga ng ADC ng 1. Maaari naming kunin ang halaga ng output ng ADC bilang isang variable at pagkatapos ay makalikot dito, ihambing ito sa mga bagay, atbp sa code. Ang ADC ay isang hindi kapani-paniwalang kapaki-pakinabang na pag-andar at pinapayagan kang gumawa ng maraming mga cool na bagay tulad ng gawing isang oscilloscope. Ang dalas ng sampling ay nasa paligid ng 125kHz at dapat itakda sa proporsyon ng pangunahing dalas ng orasan. Mga Rehistro Maaaring narinig mo ang tungkol sa mga pagrehistro bago, ngunit huwag matakot! Ang isang rehistro ay isang koleksyon lamang ng mga address (lokasyon) sa memorya ng AVR. Ang mga rehistro ay inuuri sa kanilang laki. Ang isang 7 bit na rehistro ay mayroong 8 mga lokasyon, habang nagsisimula kami mula sa 0. Mayroong mga pagrehistro para sa halos lahat at titingnan natin sila nang mas detalyado sa paglaon. Ang ilang mga halimbawa ay kasama ang mga rehistro ng PORTx (kung saan ang x ay B, C o D) na kumokontrol kung ang isang pin ay itinakda mataas o mababa at nagtatakda ng mga puller resistor para sa mga input, ang mga rehistro ng DDRx na nagtatakda kung ang isang pin ay output o input at iba pa. Ang Datasheet Isang behemoth ng panitikan, na tumitimbang sa halos 400 mga pahina; ang mga datasheet ng AVR ay isang napakahalagang sanggunian sa iyong processor. Naglalaman ang mga ito ng mga detalye ng bawat rehistro, bawat pin, kung paano gumagana ang mga timer, kung anong mga piyus ang dapat itakda sa kung ano at higit pa. Wala silang bayad at kakailanganin mo ito maaga o huli, kaya mag-download ng isang kopya! Www.atmel.com/dyn/resource/prod_documents/doc2486.pdf

Hakbang 4: Paglalaan ng Mga Pins

Naglalaan ng mga Pins
Naglalaan ng mga Pins

Nabanggit ko na ang mga input at output na kailangan namin, kaya dapat naming ilaan ang mga ito ng mga pin! Ngayon, ang PORT D ay may 8 mga pin na maginhawa dahil maaari itong kumilos bilang aming output port. Nangangailangan ang LCD ng 7 mga pin upang gumana - 4 na mga data pin at 3 control pin. Ang IR LED ay nangangailangan lamang ng isang pin, kaya na bumubuo sa aming 8. PORTB ay magiging aming pindutan ng pindutan, mayroon itong 6 na input, ngunit kakailanganin lamang namin 5. Ito ang magiging mode at direksyon na mga pindutan. espesyal, ito ay ang ADC port. Kailangan lang namin ng isang pin para sa pag-input ng gatilyo at makatuwiran na ilagay ito sa PC0 (isang karaniwang pagpapaikli para sa mga port pin sa kasong ito Port C, Pin 0). Mayroon kaming ilang mga pin para sa mga LED status (ang isang ilaw kapag ang halaga ng ADC ay nasa itaas ng ilang kundisyon, ang iba pang mga ilaw kapag ito ay nasa ibaba ng ilang kundisyon). Ilalagay din namin ang aming ok / shoot button input dito, para sa mga kadahilanan na magiging malinaw sa paglaon. Pagkatapos ng lahat ng ito, naubos na namin ang karamihan ng mga port ngunit mayroon pa kaming natitira kung nais mong palawakin ang proyekto - marahil maraming mga pag-trigger?

Hakbang 5: Pakikipag-usap sa Camera

Nakikipag-usap sa Camera
Nakikipag-usap sa Camera
Nakikipag-usap sa Camera
Nakikipag-usap sa Camera

Unang Gantimpala sa Digital Days Photo Contest

Inirerekumendang: