Kazalo:

Zgradite si sami (poceni!) Večfunkcijski brezžični krmilnik kamere .: 22 korakov (s slikami)
Zgradite si sami (poceni!) Večfunkcijski brezžični krmilnik kamere .: 22 korakov (s slikami)

Video: Zgradite si sami (poceni!) Večfunkcijski brezžični krmilnik kamere .: 22 korakov (s slikami)

Video: Zgradite si sami (poceni!) Večfunkcijski brezžični krmilnik kamere .: 22 korakov (s slikami)
Video: ПЛОВ. ЭТО ЛУЧШАЯ ЕДА ЧТО Я ЕЛ! СЕКРЕТ РАСКРЫТ УЗБЕКСКИЙ РЕЦЕПТ 2024, Julij
Anonim
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero
Zgradite si sami (poceni!) Večnamenski krmilnik za brezžično kamero

Uvod Ste si kdaj zamislili gradnjo lastnega krmilnika kamere? POMEMBNO: Kondenzatorji za MAX619 so 470n ali 0,47u. Shema je pravilna, vendar je bil seznam komponent napačen - posodobljen. To je vpis v natečaj za digitalne dneve, zato vas prosimo, da ocenite/glasujete/komentirate, če je to koristno! Če vam je res všeč in se spotikate, pritisnite "všeč mi je!":) Posodobitev: predstavljeno na hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Posodobitev: nove fotografije laserskega sprožilca v akciji! Posodobitev: Prva nagrada = D, hvala za glasovanje in/ali oceno! Ta navodila so namenjena predvsem uporabnikom SLR -jev, ki želijo doseči nekaj več kilometrine iz svojih kamer, če pa obstaja kakšna točka in poganjki z IR vmesniki, se vam bo to zdelo zanimivo. Vsekakor bo to delovalo (z nekaj spremembami) pri vdorih za fotoaparate, kjer lahko povežete logične izhode na sponke za sprožitev kamere. To se je začelo kot celovita vadnica, vendar je zaradi nekaterih nepričakovanih omejitev, s katerimi sem se srečal kasneje, morda bolj kot vodnik, kako doseči različne stvari - pogosto vam bom pustil izbiro, kako lahko naredite stvari, ki mislim, da je to boljši način, kot da slepo rečeš "to moraš narediti". Pomislite na to kot na lekcijo pri oblikovanju krmilnika kamere. Zagotovil sem sheme in celotno kodo, tako da jih lahko vedno preprosto kopirate. To bo preprost primer prenosa dizajna na trak in dodajanje LCD -zaslona za večino ljudi. Preučil sem, kako ga pripraviti, ker je postopek zelo podoben in omogoča odpravljanje napak, preden oblikovanje naredite trajno! Značilnosti: način posamičnega posnetka Intervalni (časovni zamik) način Sprožen posnetek (sprožilec iz zunanjega senzorja) Način s spremenljivimi pogoji Vključeni modeli senzorjev - svetloba, zvok (možni so še številni drugi) potrebna sprememba Uporablja IR, tako da je brezžičen in ne poškoduje vaše kamere. Za to sem se zamislil, potem ko sem več ur sedel zunaj na hladnem in s klikom na daljinski upravljalnik. Naredil sem 8 -sekundni interval za približno 1000 posnetkov. Mislil sem, hej, to je samo IR LED, kajne? Zakaj ga ne morem ponoviti in narediti lastnega daljinskega upravljalnika z vgrajeno zakasnitvijo? Nato sem ugotovil (nekoliko nerodno, ker sem mislil, da imam velik možganski val), da je bilo to storjeno in na to temo obstaja celo nekaj navodil. Kjer se moja izvedba razlikuje od večine intervalometrov in daljinskih upravljalnikov sam, je ta, da omogoča veliko prilagajanja in modularnosti, je združljiv z Nikonom/Canonom (in verjetno kasneje tudi kasneje) in združuje možnost fotografiranja na določenem sprožilcu. Ideja je preprosta. Želite posneti nekaj zelo hitrega (trenutno omejeno z zamikom na vašem zaklopu, zame 6 ms). Za to obstajajo različni načini: 1. Poskusi in napake, ko poskušate posneti fotografijo v pravem trenutku. 2. Izboljšani poskusi in napake zatemnijo sobo, kamero postavite na žarnico (odprta zaklopka) in sprožite bliskavico. ob pravem času 3. Kupite namenski krmilnik sprožilca, ki ima nekakšen zvočni/svetlobni senzor, da posname sliko na vaš ukaz 4. Zgradite ga sami! Ok, 1 in 2 sta v redu, če se pometate in lahko dobite nekaj zelo dobrih slik. Toda kar vam bom pokazal, je, da je mogoče sestaviti vezje, ki vam bo vedno znova dalo dosledne rezultate. Najpomembneje je, da so v teh težkih časih stroški nižji od alternativnih modelov (nekateri so izdelali komplete za takšne stvari, vendar stanejo bogastvo na povezavah). Vsestranskost zasnove je naslednja: če vaš senzor ustvari izhodno napetost med 0 in 5 V, jo lahko uporabite za sprožitev fotoaparata! Na prvi pogled je to dolgočasna izjava, a ko začnete razumeti posledice, postane zelo močna. S preprostim spremljanjem napetostnega nivoja je lahko vaš sprožilec svetlobni (LDR), zvočni (mikrofon ali ultrazvok), temperaturni (termistor) ali celo preprost potenciometer. Pravzaprav skoraj vse. Lahko celo povežete vezje z drugim krmilnikom in pod pogojem, da vam lahko da logičen izhod, zato ga lahko sprožite. Edina glavna omejitev zasnove je, da deluje samo z vmesniki IR, zato bi bilo precej preprosto spremeniti programsko in strojno opremo za izhod prek mini-USB ali kakršnega koli vmesnika, ki je potreben. Opomba: Izvorna koda: V koraku 13. sem zagotovil nekaj aplikacij. Koda, ki jo trenutno izvajam na svojem krmilniku, je zgoraj v šestnajstiški datoteki skupaj z glavno datoteko c in njenimi odvisnostmi. Če niste prepričani o prevajanju, lahko preprosto zaženete mojo kodo. Vključil sem tudi nekaj vzorčne kode, ki jo lahko uporabite v različnih korakih (očitno so poimenovani kot remote_test, intervalometer test in adc test. Če se v koraku sklicujem na kodo, so možnosti tam. EDIT: Posodobitev o baloni pokajo - zdelo se mi je, da sem bil malo kratkoviden, ko sem rekel, da lahko enostavno posnamete fotografije popokanih balonov. Izkazalo se je, da koža na povprečnem balonu potuje tako hitro, da se bo do trenutka, ko se fotoaparat sproži, popolnoma popokala. je težava pri večini kamer, NE pri krmilniku (ki zazna ADC pri hitrosti okoli 120 kHz). V tem primeru je treba uporabiti sproženo bliskavico, kar je izvedljivo, če dodate dodatno žico in drugo majhno vezje. teoretično bi lahko uporabili nekaj drugega, da bi ga prikazali in se igrali z zakasnitvijo (ali celo spremenili kodo zakasnitve, tako da vključuje mikrosekunde). Zračni pelet, ki potuje 1 m pri 150 ms-1, traja približno 6-7 ms, kar je dovolj časa za sprožitev in streljanje. Samo premikanje pištole bi zagotovilo osnovno zakasnitev nekaj mikrosekund s. Še enkrat se opravičujem za to, nocoj se bom igral, če bom dobil nekaj balonov, vendar je še vedno veliko uporab za zvočni sprožilec, na primer ognjemet! Spodaj sem dal hiter in umazan časovni zamik, da pokažem, da vseeno deluje:) Ne pozabite prebrati, oceniti in/ali glasovati! Na zdravje, JoshDisclaimer V malo verjetnem primeru, da bi šlo kaj hudo narobe ali si nekako opekel fotoaparat/dremel svojo mačko, ne odgovarjam za nič. Z začetkom projekta, ki temelji na tem navodilu, to sprejmete in nadaljujete na lastno odgovornost. Če naredite eno od teh ali uporabite moje navodilo za pomoč - mi pošljite povezavo/fotografijo, da jo lahko vključim tukaj! Odziv je bil doslej velik (vsaj po mojih merilih), zato bi bilo super videti, kako si ga ljudje razlagajo. Delam na reviziji 2, ko tipkam;)

Korak: Nekaj začetnih misli …

Torej, kako bomo to stvar zgradili? Mikrokontroler Srce in duša tega projekta je AVR ATMega8. To je v bistvu nekoliko obrezana različica čipa ATMega168, ki jo uporablja Arduino. Programiran je v C ali montaži in ima različne res uporabne funkcije, ki jih lahko uporabimo v svojo korist. "28 zatičev, od katerih je večina vhodno/izhodnih (i/o)" Vgrajeni analogno -digitalni pretvornik "Nizka poraba energije "3 vgrajeni merilniki časa" Notranji ali zunanji vir ure "Veliko knjižnic kod in vzorcev na spletu Imeti veliko zatičev je dobro. Lahko se povežemo z LCD zaslonom, imamo vhode s 6 gumbi in imamo še dovolj časa za snemanje z IR LED in nekaj LED diod. Serija procesorjev Atmel AVR ima veliko podpore na spletu in obstaja veliko vadnic za pridobivanje začelo (na kratko bom to preučil, vendar obstajajo boljše namenske vaje) in kupe in kupe kode, ki jih je treba premisliti. Za referenco bom ta projekt kodiral v jeziku C s knjižnico AVR-LibC. Za to bi se zlahka odločil PIC, vendar je AVR dobro podprt in vsi primeri, ki sem jih našel za daljinske upravljalnike, temeljijo na AVR-ju! sta dve glavni vrsti prikaza, grafični in alfanumerični. Grafični zasloni imajo ločljivost in slikovne pike lahko postavite kamor koli želite. Slaba stran je, da jih je težje kodirati (čeprav knjižnice obstajajo). Alfanumerični zasloni so preprosto ena ali več vrstic znakov, LCD ima vgrajeno shrambo osnovnih znakov (t.j. abecedo, nekaj številk in simbolov) in razmeroma enostavno je izpisati nize itd. Slaba stran je, da niso tako prilagodljivi in da je prikaz grafike tako rekoč nemogoč, vendar ustreza našemu namenu. So tudi cenejši! Alfanumerične številke so razvrščene glede na število vrstic in stolpcev. 2x16 je precej pogost, z dvema vrstama po 16 znakov, pri čemer je vsak znak matrika 5x8. Lahko dobite tudi 2x20 s, vendar ne vidim potrebe. Kupite vse, kar vam ustreza. Odločil sem se za rdeče osvetljen LCD (to želim uporabiti za astrofotografijo, rdeča svetloba pa je boljša za nočni vid). Lahko greste brez osvetlitve ozadja - to je popolnoma vaša izbira. Če izberete pot brez osvetlitve, boste prihranili energijo in denar, vendar boste morda potrebovali svetilko v temi. Ko iščete LCD, se prepričajte, da ga upravlja HD44780. To je protokol, ki ga je razvil Hitachi, in obstaja veliko dobrih knjižnic, ki jih lahko uporabimo za izpis podatkov. Model, ki sem ga kupil, je bil JHD162A z eBay -a. InputInput bodo izvajali gumbi (preprosto!). Izbral sem 6 -način izbiranja, ok/ustreli in 4 smeri. Prav tako je vredno dobiti še en majhen gumb za ponastavitev mikro v primeru trka. Kar se tiče sprožilnega vhoda, so nekatere osnovne ideje svetlobno odvisen upor ali elektronski mikrofon. Tu lahko postanete ustvarjalni ali skopi, odvisno od proračuna. Ultrazvočni senzorji bodo stali nekoliko več in potrebujejo nekaj dodatnega programiranja, vendar z njimi lahko naredite nekaj zelo čednih stvari. Večina ljudi bo zadovoljna z mikrofonom (verjetno najbolj uporabnim splošnim senzorjem), električni valovi pa so zelo poceni. Zavedajte se, da ga bo treba tudi okrepiti (vendar bom to obravnaval kasneje). Izhod - stanje Edini pravi izhod, ki ga potrebujemo, je stanje (poleg zaslona), zato bo tukaj delovalo nekaj LED diod. slike, moramo povezati fotoaparat in za to potrebujemo vir svetlobe, ki lahko proizvaja infrardeče sevanje. Na srečo obstaja veliko LED, ki to počnejo, zato poskusite izbrati razmeroma visoko moč. Enota, ki sem jo izbral, ima trenutno moč 100 mA max (večina LED je okoli 30 mA). Pazite tudi na izhod valovne dolžine. Infrardeča svetloba je v daljšem valovnem delu spektra EM, zato bi morali iskati vrednost okoli 850-950nm. Večina IR -diod se nagiba proti koncu 950 in ob vklopu boste morda videli malo rdeče svetlobe, to ni problem, vendar je zapravljen spekter, zato se poskusite približati 850, če je mogoče. to? No, to bo prenosno, zato baterije! Odločil sem se za uporabo dveh baterij AA, ki jih nato povečamo do 5 V. V naslednjih nekaj razdelkih bom obravnaval razloge za to. "Ohišje in gradnja" Kako boste to storili, je v celoti odvisno od vas. Odločil sem se, da bom po izdelavi prototipov uporabil trak za izdelavo vezja, ker je poceni in prilagodljiv ter prihrani oblikovanje tiskanega vezja po meri. Zagotovil sem sheme, tako da si lahko sami ustvarite postavitev tiskanega vezja - čeprav to storite, bi bil hvaležen za kopijo! Tudi ohišje je popolnoma vaša izbira, mora biti sposoben namestiti zaslon, gumbe (v dokaj intuitivni postavitvi, če je mogoče) in baterije. Kar zadeva vezja, to ni tako zapleteno, veliko povezav je preprosto povezanih s stvarmi, kot so gumbi/LCD.

2. korak: Upravljanje porabe energije

Upravljanje porabe energije
Upravljanje porabe energije

Upravljanje porabe energije Za takšen projekt je očitno, da bi morala biti prenosljivost ključni vidik. Baterije so torej logična izbira! Zdaj je za prenosne naprave dokaj ključno, da izberete vir baterije, ki se lahko polni ali je enostavno dostopen. Dve glavni možnosti sta 9V PP3 baterija ali AA baterije. Prepričan sem, da bodo nekateri domnevali, da je 9V baterija najboljša možnost, kajti hej, 9V je boljša od 3, kajne? No, v tem primeru ne. 9V baterije, čeprav so zelo uporabne, proizvajajo svojo napetost na račun življenjske dobe baterije. Merjeno v mAh (miliamper urah), vam ta ocena teoretično pove, kako dolgo bo baterija zdržala pri 1mA v urah (čeprav jo vzemite s ščepcem soli, so te pogosto v idealnih pogojih pri nizki obremenitvi). Višja kot je ocena, dlje bo zdržala baterija. 9V baterije imajo kapaciteto do in okoli 1000 mAh. Alkalni AA pa imajo pri 2900mAh skoraj trikrat več. NiMH polnilne baterije lahko to dosežejo, čeprav je 2500 mAh razumna količina (upoštevajte, da baterije za polnjenje delujejo pri 1,2 V in ne 1,5!). Zaslon LCD potrebuje vhod 5 V (10%), AVR (mikrokrmilnik) pa približno enako (čeprav se lahko pri nizkih frekvencah takta zniža na 2,7). Potrebujemo tudi dokaj stabilno napetost, če lahko zaradi tega niha, lahko povzroči težave z mikrokrmilnikom. Če želite to narediti, bomo uporabili regulator napetosti, zdaj pa se morate odločiti glede cene in učinkovitosti. Imate možnost uporabe enostavnega 3-polnega regulatorja napetosti, kot je LM7805 (serija 78, izhod +5 voltov) ali majhnega integriranega vezja. Uporaba preprostega regulatorja Če se odločite za to možnost, morate nositi nekaj točk v mislih. Prvič, tripolni regulatorji skoraj vedno potrebujejo vhod, ki je višji od njihovega izhoda. Nato znižajo napetost na želeno vrednost. Slaba stran je, da imajo grozno učinkovitost (50-60% dobro deluje). Prednost je v tem, da so poceni in bodo delovale z 9V baterijo, v Veliki Britaniji lahko izberete osnovni model za 20 penijev. Upoštevati morate tudi, da imajo regulatorji izpadno napetost - najmanjšo vrzel med vhodom in izhodom. Lahko kupite posebne regulatorje LDO (Low DropOut), ki imajo izpad pri približno 50mV (v primerjavi z 1-2V pri drugih izvedbah). Z drugimi besedami, bodite pozorni na LDO z izhodom +5 V. Uporaba integriranega vezja Idealen način je preklopni regulator. Za naš namen bodo to običajno 8 -polni paketi, ki sprejemajo napetost in nam dajejo reguliran izhod z visokim izkoristkom - v nekaterih primerih skoraj 90%. Pretvornike za povečanje ali znižanje (povečanje/znižanje) lahko dobite, odvisno od tega, kaj želite vstaviti, lahko pa kupite tudi regulatorje, ki bodo imeli nad ali pod želeno močjo. Čip, ki ga uporabljam za ta projekt, je a MAX619+. Gre za 5V povečevalni regulator, ki vzame 2 AA (vhodno območje je 2V-3.3V) in daje stabilen 5V izhod. Za delovanje potrebuje le štiri kondenzatorje in je zelo prostorsko učinkovit. Cena - 3,00 €, vključno z zgornjimi mejami. Verjetno je vredno pretiravati, če želite le še bolj izkoristiti baterije. Edina velika pomanjkljivost je, da ni zaščitena pred kratkim stikom, zato bodite opozorjeni, če pride do trenutnega sunka! To pa je dokaj trivialno popraviti z dodatnim vezjem: še ena uporabna zasnova čipa - čeprav ni niti približno tako čedna rešitev, je LT1307. Spet regulator 5V, vendar lahko sprejme različne vhode in ima uporabne stvari, kot je zaznavanje nizke baterije. Pri induktivnostih, velikih kondenzatorjih in uporih stane skoraj nekaj več. Napetostne tirnice Bomo uporabljali dve glavni napetostni tirnici (skupaj s skupno maso). Prvi bo 3V iz akumulatorja, ta se bo uporabljal za napajanje LED in drugih relativno močnih komponent. Moj MAX619 je ocenjen le na 60 mA (čeprav je absolutni maksimum 120 mA), zato je lažje priključiti mikrokrmilnik na MOSFET za nadzor vseh LED. MOSFET ne črpa skoraj nobenega toka in deluje kot prekinitev v tokokrogu, ko je vhod vrat pod približno 3V. Ko mikrokrmilnik pošlje logično številko 1 na pin, je napetost 5V in FET se vklopi, nato pa deluje le kot kratek stik (tj. Kos žice). 5V vodilo napaja LCD, mikrokrmilnik in vsa ojačevalna vezja za vhodni senzorji. Poraba energije Če pogledamo različne podatkovne liste, opazimo, da AVR pri največji obremenitvi ne potrebuje več kot 15-20 mA. Za delovanje LCD -ja je potrebnih le 1 mA (vsaj pri testiranju, proračun 2). Ko je osvetlitev ozadja vklopljena, se res odločite sami. Priključitev naravnost na 5V vodilo (poskusil sem) je v redu, vendar se pred tem prepričajte, da ima vgrajen upor (sledite sledom na tiskanem vezju). Tako je potegnilo 30 mA - grozno! Z 3.3k uporom je še vedno viden (kot nalašč za astro fotografijo) in porabi le 1 mA. Še vedno lahko dobite dostojno svetlost s pomočjo 1k ali kako drugače. V redu sem, če risam nekaj manj kot 2 mA z vklopljeno osvetlitvijo! Če želite, je z uporabo potenciometra 10k trivialno dodati gumb za svetlost. IR LED lahko traja največ 100 mA, vendar sem imel dobre rezultate s 60 mA po mojem (poskus!). Ta tok lahko nato prepolovite, ker učinkovito delujete pri 50% delovnem ciklu (ko je LED modulirana). Kakorkoli že, vklopljen je le delček sekunde, zato nam ni treba skrbeti za to. Druge LED, s katerimi bi se morali poigrati, boste morda ugotovili, da je le 10 mA tok dovolj, da dobite dobro svetlost - vsekakor poglejte za LED z nizko porabo (razen IR) ne načrtujete bakle! Odločil sem se, da ne bom dodal indikatorja napajanja v vezje, preprosto zato, ker je veliko porabe toka za malo uporabe. S stikalom za vklop/izklop preverite, ali je vklopljen! Skupaj ne bi smeli delovati več kot 30 mA hkrati in s teoretičnim napajanjem okoli 2500 mAh (kar dopušča variacije), kar bi vam moralo dati več kot 80 ur naravnost z vsem. Ker bo procesor večino časa v prostem teku, se bo to vsaj podvojilo/potrojilo, zato vam baterij ne bi bilo treba pogosto menjati. Lahko bodite poceni in veseli z 9V baterijo in LDO regulatorjem na račun učinkovitosti ali pa plačate malo več in za to uporabite namenski IC. Moj proračun je bil tudi z IC -jem še vedno pod 20, zato ga lahko po potrebi še znižate.

3. korak: Pobližje poglejte ATmega8

Natančnejši pogled na ATmega8
Natančnejši pogled na ATmega8

PinsImage 1 je diagram izklopa za ATMega8 (popolnoma enak kot pri 168/48/88, razlika je le v količini vgrajenega pomnilnika in možnosti prekinitev). Pin 1 - ponastavitev, je treba držati pri napetosti VCC (ali vsaj logično 1). Če je ozemljena, se bo naprava mehko ponastavila Pin 2-6 - vrata D, splošni vhod/izhod Pin 7 - VCC, napajalna napetost (+5V za nas) Pin 8 - GroundPin 9, 10 - XTAL, vhodi za zunanjo uro (del vrat B) Pin 11 - 13 Port D, splošni vhod/izhod Pin 14 - 19 Port B, splošni vhod/izhod Pin 20 - AVCC, analogna napajalna napetost (enako kot VCC) Pin 21 - AREF, referenca analogne napetosti Pin 22 - GroundPin 23-28 Vhod C, splošni vhod/izhod Uporabna v/i vrata: D = 8, C = 6, B = 6 Skupaj 20 uporabnih vrat je super, zaradi enostavnosti morate svoje izhode razvrstiti v vrata (recimo D kot izhodna vrata) ali v skupine na plošči - morda bi želeli, da LCD deluje iz vrat C. samo zato, da so žice v tem kotu urejene. Za programiranje so potrebni trije dodatni zatiči. To so MISO (18), MOSI (17) in SCK (19). Ti bodo z veseljem delovali kot vhodno -izhodni zatiči, če bo potrebno. Vsi AVR -ji imajo notranji oscilator, iz katerega lahko čip dobi uro. Slaba stran tega je, da lahko nihajo okoli 10% s temperaturo/tlakom/vlažnostjo. Za boj proti temu lahko uporabimo zunanji kremenčev kristal. Ti so na voljo v katerem koli od 32768kHz (ura) do 20MHz. Odločil sem se za uporabo 4Mhz kristala, saj zagotavlja dostojno hitrost, vendar je dokaj konzervativen v primerjavi z morda 8Mhz+. Upravljanje porabe na vozilu V svoji kodi sem res želel uporabiti rutine spanja. Pravzaprav sem napisal prvo različico, ki se je močno zanašala na mirovanje procesorja med časom. Zaradi časovnih omejitev sem nenamerno naletel na nekatere težave z zunanjim izvajanjem ure in prekinitvijo uporabe časovnikov. V bistvu bi moral kodo prepisati, da se krmilnik preprosto ne zbudi - kar bi lahko storil, vendar je čas proti meni. Naprava tako porabi le 20 mA ish, tako da se lahko izognete. Če ste res pripravljeni na to, potem vsekakor poigrajte s kodo, vse kar morate storiti je, da se notranje ure in nato zaženete Timer 2 v asinhronem načinu s 4MHz kristalom za natančnejše zamude. To je preprosto, vendar zamudno. ADC Švicarski vojaški nož v naboru orodij AVR pomeni ADC analogno -digitalni pretvornik. Kako deluje, je od zunaj razmeroma preprosto. Na zatiču (z nekega senzorja ali drugega vhoda) se vzorči napetost, napetost se pretvori v digitalno vrednost med 0 in 1024. Ko je vhodna napetost enaka referenčni napetosti ADC, bo opažena vrednost 1024. Če nastavimo referenco na VCC (+5V), potem je vsaka delitev 5/1024 V ali okoli 5mV. Tako bo povečanje za 5mV na zatiču povečalo vrednost ADC -ja za 1. Izhodno vrednost ADC -ja lahko vzamemo kot spremenljivko in jo nato poiščemo, primerjamo s stvarmi itd. V kodi. ADC je neverjetno uporabna funkcija in vam omogoča, da naredite veliko kul stvari, na primer spremenite svoj AVR v osciloskop. Frekvenca vzorčenja je okoli 125 kHz in jo je treba nastaviti sorazmerno z glavno frekvenco. Registri Morda ste že slišali za registre, vendar se ne bojte! Register je preprosto zbirka naslovov (lokacij) v pomnilniku AVR. Registri so razvrščeni glede na velikost bitov. 7 -bitni register ima 8 lokacij, saj začnemo od 0. Obstajajo registri za skoraj vse, kasneje pa jih bomo podrobneje pogledali. Nekateri primeri vključujejo registre PORTx (kjer je x B, C ali D), ki nadzorujejo, ali je pin nastavljen visoko ali nizko, in nastavi vlečne upore za vhode, registre DDRx, ki določajo, ali je pin izhodni ali vhodni itd. Podatkovni list Behemoth literature, tehta okoli 400 strani; podatkovni listi AVR so neprecenljiva referenca za vaš procesor. Vsebujejo podrobnosti o vsakem registru, vsakem zatiču, kako delujejo časovniki, katere varovalke je treba nastaviti na kaj in še veliko več. Brezplačni so in prej ali slej jih boste potrebovali, zato prenesite kopijo! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

4. korak: Dodelitev zatičev

Dodelitev zatičev
Dodelitev zatičev

Omenil sem že vhode in izhode, ki jih potrebujemo, zato jim moramo dodeliti zatiče! Zdaj ima PORT D 8 zatičev, kar je priročno, saj lahko deluje kot naša izhodna vrata. Za delovanje LCD -ja je potrebnih 7 nožic - 4 podatkovni in 3 kontrolni. IR LED potrebuje le en zatič, kar pomeni, da bo naš 8. PORTB vrata za gumbe, ima 6 vhodov, potrebovali pa bomo le 5. To bodo gumbi za način in smer. posebno, to so vrata ADC. Za vhod sprožilca potrebujemo le en pin in smiselno ga je namestiti na PC0 (pogosta okrajšava za nožice vrat v tem primeru vrata C, pin 0). Nato imamo nekaj zatičev za LED diode stanja (eden zasveti, ko je vrednost ADC nad nekim pogojem, drugi zasveti, ko je pod nekim pogojem). Tu bomo vnesli tudi vnos gumba ok/ustreli, iz razlogov, ki bodo pozneje jasni. Po vsem tem smo porabili večino vrat, vendar nam jih je ostalo še nekaj, če želite projekt razširiti - morda več sprožilcev?

5. korak: Komunikacija s kamero

Komunikacija s kamero
Komunikacija s kamero
Komunikacija s kamero
Komunikacija s kamero

Prva nagrada na fotografskem natečaju Digital Days

Priporočena: