Sadržaj:

Izgradite sami (jeftino!) Višenamjenski bežični upravljač kamerom .: 22 koraka (sa slikama)
Izgradite sami (jeftino!) Višenamjenski bežični upravljač kamerom .: 22 koraka (sa slikama)

Video: Izgradite sami (jeftino!) Višenamjenski bežični upravljač kamerom .: 22 koraka (sa slikama)

Video: Izgradite sami (jeftino!) Višenamjenski bežični upravljač kamerom .: 22 koraka (sa slikama)
Video: Обычный деревообрабатывающий инструмент испортил отделку. Не позволяйте этому случиться с вами! 2024, Srpanj
Anonim
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom
Izgradite vlastiti (jeftino!) Višenamjenski bežični upravljač kamerom

Uvod Jeste li ikada pomislili da izgradite vlastiti kontroler kamere? VAŽNA NAPOMENA: Kondenzatori za MAX619 su 470n ili 0,47u. Shema je točna, ali popis komponenti je bio pogrešan - ažuriran. Ovo je prijava za natjecanje Digital Days pa ako vam se učini korisnim, ocijenite/glasajte/komentirajte pozitivno! Ako vam se zaista sviđa i posrćete, pritisnite "sviđa mi se!":) Ažuriranje: istaknuto na hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Ažuriranje: nove fotografije laserskog okidača na djelu! Ažuriranje: Prva nagrada = D, hvala na glasovanju i/ili ocjeni! Ovo uputstvo je uglavnom za dobrobit SLR korisnika koji žele postići malo više kilometraže od svojih kamera, no ako postoji bilo kakva točka i snimanja s IC sučeljima, ovo bi vam moglo biti zanimljivo. Ovo će zasigurno funkcionirati (s malo izmjena) s hakovima za kamere gdje možete povezati logičke izlaze na terminale okidača kamere. Ovo je počelo kao cjelovit vodič, ali zbog nekih neočekivanih ograničenja s kojima sam se kasnije susreo, mogao bi biti više vodič o tome kako postići različite stvari - često ću vam ostaviti izbor kako biste mogli učiniti stvari koje mislim da je bolji način obavljanja stvari nego samo slijepo reći "moraš to učiniti". Zamislite ovo kao lekciju u dizajnu kontrolera kamere. Dao sam sheme i cijeli kôd tako da ih uvijek možete jednostavno kopirati. To će biti jednostavan slučaj prenošenja dizajna na stripboard i dodavanje LCD -a za većinu ljudi. Prošao sam kroz to kako to napraviti, budući da je postupak vrlo sličan i omogućuje ispravljanje pogrešaka prije nego što dizajn učinite trajnim! Značajke: Način pojedinačnog snimanja Intervalni (vremenski odmak) način Pokrenuti snimak (okidač s vanjskog senzora) Način rada s promjenjivim uvjetima Uključeni dizajni senzora - svjetlo, zvuk (mnogo više mogućih!) Ukupni troškovi - ispod 25 GBP (isključujući alate) LCD zaslon za jednostavnu promjenu postavki Kompatibilan s Nikon/Canon (kodirano), potencijalna podrška (neprovjereno) za Olympus/Pentax Bez firmvera potrebna je izmjena Koristi IC pa je i bežičan i ne oštećuje vašu kameru. Ideju za to sam imao nakon što sam satima sjedio vani na hladnom i klikao daljinski upravljač. Radio sam interval od 8 sekundi za oko 1000 snimaka. Mislio sam, hej, to je samo IC LED zar ne? Zašto ga ne mogu replicirati i napraviti vlastiti daljinski upravljač s ugrađenom odgodom? Tada sam saznao (pomalo neugodno, jer sam mislio da sam imao veliki moždani val) da je to učinjeno i da postoji čak nekoliko instrukcija na tu temu. Ono u čemu se moja implementacija razlikuje od većine intervalometara i daljinskih upravljača je što dopušta mnogo prilagođavanja i modularnosti, kompatibilna je s Nikon/Canonom (a vjerojatno i kasnije) i kombinira mogućnost snimanja slike na određenom okidaču. Ideja je jednostavna. Želite snimiti nešto prilično brzo (trenutno ograničeno zaostatkom na kapci, za mene 6 ms). Postoje različiti načini za to: 1. Pokušaj i pogreška pokušavate snimiti sliku u pravom trenutku 2. Poboljšani pokušaji i pogreške zamračujete sobu, stavljate fotoaparat na žarulju (otvoreni zatvarač) i pali blic u pravo vrijeme 3. Kupite namjenski kontroler okidača koji ima neku vrstu audio/svjetlosnog senzora za snimanje slike na vašu naredbu 4. Izgradite ga sami! U redu, 1 i 2 su u redu za petljanje i mogu dati vrlo dobre slike. No ono što ću vam pokazati je da je moguće izgraditi sklop koji će vam uvijek i iznova davati dosljedne rezultate. Ono što je najvažnije, u ovim teškim vremenima cijena je niža od alternativnih modela (neki su ljudi proizveli komplete za takve stvari, ali koštaju cijelo bogatstvo, pogledajte veze). Svestranost dizajna je sljedeća: Ako vaš senzor generira izlazni napon između 0 i 5 V, možete ga upotrijebiti za aktiviranje fotoaparata! Na prvi pogled ovo je dosadna izjava, ali kad jednom shvatite implikacije, ona postaje vrlo snažna. Jednostavnim praćenjem razine napona, okidač bi mogao biti temeljen na svjetlu (LDR), zvuku (mikrofon ili ultrazvuk), temeljen na temperaturi (termistor) ili čak običnom potenciometru. Zapravo, gotovo sve. Možete čak spojiti krug s drugim kontrolerom i pod uvjetom da vam može dati logički izlaz, pa se možete pokrenuti s njega. Jedino trenutno ograničenje dizajna je to što radi samo s IC sučeljima, bilo bi prilično jednostavno izmijeniti softver i hardver za izlaz putem mini-USB-a ili bilo koje vrste sučelja koja je potrebna. Napomena: Izvorni kod: Dao sam neke aplikacije u koraku 13. Kod koji trenutno pokrećem na svom kontroleru nalazi se gore u heksadecimalnoj datoteci zajedno s glavnom c datotekom i njezinim ovisnostima. Možete jednostavno pokrenuti moj kôd ako niste sigurni u sastavljanje. Uključio sam i neke uzorke koda koje možete koristiti u raznim koracima (nazivaju se očito poput remote_test, intervalometer testa i adc testa. Ako se pozivam na kôd u jednom koraku, postoje izgledi. EDIT: Ažuriranje o baloni koji iskaču - čini se da sam bio malo kratkovidan kad sam rekao da možete lako snimiti fotografije iskačućih balona. Ispostavilo se da koža na prosječnom balonu putuje tako brzo da će potpuno ispasti dok se fotoaparat ne uključi. problem je s većinom kamera, a ne s kontrolerom (koji ADC -om očitava brzinu od oko 120 kHz). Način na koji se to događa je korištenje aktivirane bljeskalice, što je izvedivo ako dodate dodatnu žicu i drugi mali krug. rekao je, teoretski biste mogli upotrijebiti nešto drugo da biste ga iskočili i igrali sa kašnjenjem (ili čak promijenili kôd odgode tako da uključi mikrosekunde). Zračnom zrnu koji putuje 1 m pri 150 ms-1 potrebno je oko 6-7 ms, dovoljno vremena za okidanje i pucanje Samo pomeranje pištolja omogućilo bi rudimentarno kašnjenje od nekoliko mikrosekundi s. Još jednom, ispričavam se zbog ovoga, igrat ću se večeras ako uspijem nabaviti neke balone, ali još uvijek postoji mnogo upotreba zvučnog okidača, poput vatrometa! U nastavku sam stavio brzi i prljavi interval kako bih pokazao da to ipak funkcionira:) Ne zaboravite pročitati, ocijeniti i/ili glasovati! Živjeli, JoshDisclaimer U malo vjerojatnom slučaju da nešto pođe po zlu ili ako ste nekako opekli kameru/dremelirali svoju mačku, ne odgovaram ni za što. Pokretanjem projekta temeljenog na ovoj uputi prihvaćate to i nastavljate na vlastitu odgovornost. Ako napravite jednu od ovih ili upotrijebite moju instrukciju da vam pomognem - pošaljite mi vezu/fotografiju da je mogu uključiti ovdje! Odaziv je do sada bio golem (barem po mojim standardima) pa bi bilo sjajno vidjeti kako ga ljudi tumače. Radim na reviziji 2 dok tipkam;)

Korak 1: Neke početne misli …

Dakle, kako ćemo izgraditi ovu stvar? Mikrokontroler Srce i duša ovog projekta je AVR ATMega8. To je u biti malo podrezana verzija ATMega168 čipa koji koristi Arduino. Može se programirati na C -u ili u sklopu i ima niz zaista korisnih značajki koje možemo koristiti u svoju korist. "28 pinova, od kojih je većina ulazno/izlazni (i/o)" Ugrađeni analogno -digitalni pretvarač "Mala potrošnja energije "3 ugrađena mjerača vremena" Interni ili vanjski izvor sata "Mnogo biblioteka kodova i uzoraka na mreži Imati puno pinova je dobro. Možemo se povezati s LCD zaslonom, imati ulaze sa 6 gumba i još uvijek im je ostalo dovoljno za infracrvenu LED diodu za snimanje i neke LED diode. Serija procesora Atmel AVR ima veliku podršku na mreži i postoji mnogo vodiča za dobivanje započeo (proći ću ovo ukratko, ali postoje bolji namjenski vodiči) i hrpe i hrpe koda za preispitivanje. Za referencu ću kodirati ovaj projekt na C-u pomoću biblioteke AVR-LibC. Mogao sam to učiniti s PIC-om, ali AVR je dobro podržan i svi primjeri koje sam pronašao za daljinske upravljače bazirani su na AVR-u! LCD zaslon Ovdje dvije su glavne vrste prikaza, grafički i alfanumerički. Grafički zasloni imaju rezoluciju i možete postaviti piksele gdje god želite. Nedostatak je što ih je teže kodirati (iako knjižnice postoje). Alfanumerički zasloni jednostavno su jedan ili više redova znakova, LCD ima ugrađeno spremište osnovnih znakova (tj. Abecedu, neke brojeve i simbole) i relativno je jednostavno ispisati nizove itd. Nedostatak je što nisu tako fleksibilni pa je prikazivanje grafike praktički nemoguće, ali odgovara našoj svrsi. Također su jeftiniji! Alfanumerički podaci kategorizirani su prema broju redaka i stupaca. 2x16 je prilično uobičajen, s dva reda od 16 znakova, od kojih je svaki matrica 5x8. Možete dobiti i 2x20 s, ali ne vidim potrebu. Kupite sve što vam je ugodno. Odlučio sam se za LCD s pozadinskim osvjetljenjem u crvenoj boji (ovo želim koristiti za astrofotografiju, a crveno svjetlo je bolje za noćni vid). Možete ići bez pozadinskog osvjetljenja - vaš je izbor. Ako odaberete rutu bez pozadinskog osvjetljenja, uštedjet ćete energiju i novac, ali možda će vam trebati svjetiljka u mraku. Kada tražite LCD, trebali biste osigurati da njime upravlja HD44780. To je industrijski standardni protokol koji je razvio Hitachi i postoji mnogo dobrih knjižnica koje možemo koristiti za izlaz podataka. Model koji sam kupio bio je JHD162A sa eBay -a. Ulaz će se vršiti pomoću gumba (jednostavno!). Odabrao sam 6 načina odabira, ok/snimanje i 4 smjera. Također je vrijedno nabaviti još jedan mali gumb za resetiranje mikro u slučaju sudara. Što se tiče ulaza okidača, neke osnovne ideje su otpornik ovisan o svjetlu ili elektronski mikrofon. Ovdje možete postati kreativni ili škrti ovisno o proračunu. Ultrazvučni senzori koštat će nešto više i zahtijevaju dodatno programiranje, ali s njima možete raditi neke zaista uredne stvari. Većina ljudi bit će zadovoljna mikrofonom (vjerojatno najkorisnijim općenitim senzorom), a električni struji su vrlo jeftini. Imajte na umu da će se i to morati pojačati (ali o tome ću kasnije). Izlaz - Status Jedini pravi izlaz koji nam je potreban je status (osim zaslona), tako da će nekoliko LED dioda ovdje dobro funkcionirati. Izlaz - Snimanje Za snimanje slike, moramo se povezati s kamerom, a za to nam je potreban izvor svjetlosti koji može proizvesti infracrveno zračenje. Srećom, postoji mnoštvo LED dioda koje to rade i trebali biste pokušati odabrati jednu relativno velike snage. Jedinica koju sam odabrao ima trenutnu vrijednost od 100 mA max (većina LED dioda je oko 30 mA). Također biste trebali uzeti u obzir izlaz valne duljine. Infracrveno svjetlo je u dijelu dužih valnih duljina EM spektra i trebali biste tražiti vrijednost od oko 850-950nm. Većina IC LED dioda teži kraju 950 i možda ćete vidjeti malo crveno svjetlo kad je uključeno, to nije problem, ali je uzalud potrošen spektar pa se pokušajte približiti 850 ako je moguće. PowerKako ćemo napajati sve ovaj? Pa bit će prijenosni pa baterije! Odlučio sam koristiti 2 AA baterije koje se zatim pojačavaju do 5V. U sljedećih nekoliko odjeljaka razmotrit ću razloge koji stoje iza ovoga. 'Kućište i konstrukcija' Kako ćete to učiniti, u potpunosti ovisi o vama. Odlučio sam koristiti stripboard za sklop nakon izrade prototipa jer je jeftin i fleksibilan te štedi projektiranje prilagođenog PCB -a. Dostavio sam sheme tako da možete sami izraditi svoj izgled PCB -a - ako to učinite, bio bih zahvalan da dobijete kopiju! Opet je slučaj u potpunosti vaš izbor, mora biti u mogućnosti uklopiti zaslon, gumbe (u prilično intuitivnom rasporedu ako je moguće) i baterije. Što se tiče pločica, ova nije tako komplicirana, mnoge su veze jednostavno na stvari poput gumba/LCD -a.

Korak 2: Upravljanje napajanjem

Upravljanje napajanjem
Upravljanje napajanjem

Upravljanje napajanjem Za ovakav projekt očito je da bi prenosivost trebala biti ključni aspekt. Baterije su stoga logičan izbor! Sada je za prijenosne uređaje prilično važno odabrati izvor baterije koji se može puniti ili je lako dostupan. Dvije su glavne opcije 9V PP3 baterija ili AA baterije. Siguran sam da će neki ljudi pretpostaviti da je 9V baterija najbolja opcija jer hej, 9V je bolja od 3 zar ne? Pa, ne u ovom slučaju. 9V baterije, iako vrlo korisne, proizvode svoj napon na račun trajanja baterije. Mjereno u mAh (miliamper sati), ova ocjena vam u teoriji govori koliko će baterija trajati 1 mA u satima (iako je uzmite s malo soli, one su često u idealnim uvjetima s malim opterećenjem). Što je veća ocjena, baterija će dulje trajati. 9V baterije imaju kapacitet do i oko 1000 mAh. S druge strane, alkalni AA -i imaju gotovo tri puta više na 2900mAh. NiMH punjive baterije mogu doći do toga, iako je 2500mAh razumna količina (imajte na umu da punjive baterije rade na 1,2 V, a ne 1,5!). LCD zaslonu je potreban ulaz od 5 V (10%), a AVR -u (mikrokontroler) treba približno isto (iako može pasti i do 2,7 za niske frekvencije takta). Također nam je potreban prilično stabilan napon, ako zbog toga varira, to bi moglo uzrokovati probleme s mikrokontrolerom. Da bismo to učinili, upotrijebit ćemo regulator napona, morate sada izabrati cijenu u odnosu na učinkovitost. Imate mogućnost korištenja jednostavnog 3-polnog regulatora napona poput LM7805 (serija 78, izlaz +5 volti) ili malog integriranog kruga. Korištenje jednostavnog regulatora Ako odaberete ovu opciju, morate nositi nekoliko točaka na umu. Prvo, tropolnim regulatorima gotovo uvijek je potreban ulaz veći od njihovog izlaza. Zatim snižavaju napon na željenu vrijednost. Nedostatak je što imaju užasnu učinkovitost (50-60% je dobro). Prednost je što su jeftini i radit će s 9V baterijom, a u Velikoj Britaniji možete kupiti osnovni model za 20 penija. Također morate imati na umu da regulatori imaju ispadni napon - minimalni jaz između ulaza i izlaza. Možete kupiti posebne LDO (Low DropOut) regulatore koji imaju ispadanje na oko 50mV (u usporedbi s 1-2V s drugim izvedbama). Drugim riječima, pazite na LDO -ove s izlazom od +5V. Korištenje integriranog kruga Idealan način za to je prekidački regulator. Za našu će svrhu to biti obično 8 -pinski paketi koji primaju napon i daju nam regulirani izlaz s visokom učinkovitošću - u nekim slučajevima gotovo 90%. Pretvarače s povećanjem ili smanjenjem (pojačanje/smanjenje dolara) možete dobiti ovisno o tome što želite staviti, ili možete kupiti regulatore koji će imati iznad ili ispod željenog izlaza. Čip koji koristim za ovaj projekt je a MAX619+. To je pojačavač od 5V koji uzima 2 AA (ulazni raspon je 2V-3.3V) i daje stalan izlaz od 5V. Za rad su mu potrebna samo četiri kondenzatora i vrlo je učinkovit u pogledu prostora. Cijena - 3,00 including, uključujući ograničenja. Vjerojatno je vrijedno razmetanja samo da biste dodatno iskoristili baterije. Jedini veliki nedostatak je što nije zaštićen od kratkog spoja, pa ako dođe do strujnog udara, upozorite! To je razumno trivijalno popraviti s dodatnim krugom: Još jedan koristan dizajn čipa - iako ni izbliza nije tako lijepo rješenje LT1307. Opet, regulator od 5V, ali može uzeti različite ulaze i ima korisne stvari poput otkrivanja prazne baterije. Košta prilično više pri gotovo 5 s induktorima, velikim kondenzatorima i otpornicima. Naponske tračnice Koristit ćemo dvije glavne naponske šine (plus zajedničko uzemljenje). Prvi će biti 3V iz baterije, on će se koristiti za napajanje LED dioda i drugih komponenti relativno velike snage. Moj MAX619 je ocijenjen samo do 60mA (iako je apsolutni maksimum 120mA) pa je lakše spojiti mikrokontroler na MOSFET za kontrolu bilo koje LED diode. MOSFET ne crpi gotovo nikakvu struju i djeluje kao prekid u krugu kada je ulaz vrata ispod 3V. Kad mikrokontroler pošalje logičko 1 na pin, napon je 5V i uključi se FET, a zatim djeluje samo kao kratki spoj (tj. Komad žice). Šina 5V napaja LCD, mikrokontroler i sve pojačane krugove za ulazni senzori. Potrošnja energije Ako pogledamo različite podatkovne tablice, primijetit ćemo da AVR ne uzima više od 15-20mA pri maksimalnom opterećenju. LCD -u je potreban samo 1mA za rad (barem kad sam testirao, proračun za 2). S uključenim pozadinskim osvjetljenjem, na vama je da odlučite. Spajanje izravno na 5V tračnicu (pokušao sam) je u redu, ali prije toga provjerite ima li ugrađeni otpornik (slijedite tragove na PCB -u). Tako je izvuklo 30mA - strašno! Sa 3.3k otpornikom još uvijek je vidljiv (savršen za astro fotografiranje) i troši samo 1mA. I dalje možete postići pristojnu svjetlinu pomoću 1k ili na neki drugi način. Dobro sam s crtanjem ispod 2 mA s uključenim pozadinskim osvjetljenjem! Ako želite, trivijalno je dodati gumb za svjetlinu pomoću potenciometra 10k. IR LED može uzeti maksimalno 100mA, ali ja sam imao dobre rezultate sa 60mA preko moga (eksperiment!). Zatim možete prepoloviti tu struju jer učinkovito radite pri radnom ciklusu od 50% (kada je LED modulirana). U svakom slučaju, uključen je samo djelić sekunde pa se ne moramo brinuti oko ovoga. Ostale LED diode s kojima biste se trebali poigrati, možda ćete otkriti da je samo 10 mA struja dovoljna za dobro osvjetljenje - svakako pogledajte za LED diode male snage (isključujući IC), ne dizajnirate svjetiljku! Odlučio sam ne dodati indikator napajanja u svoj krug, jednostavno zato što ima puno struje koja se ne koristi. Upotrijebite prekidač za uključivanje/isključivanje da biste provjerili je li uključen! Ukupno ne biste trebali raditi više od 30 mA odjednom i s teoretskom opskrbom od oko 2500 (dopuštajući varijacije) mAh što bi vam trebalo dati više od 80 sati ravno sa svime. S procesorom u praznom hodu većinu vremena to će se barem udvostručiti/utrostručiti, pa ne biste morali često mijenjati baterije. Zaključak Eto, to je bilo lako, zar ne! Možete otići jeftino i razveseliti se s 9V baterijom i LDO regulatorom na račun učinkovitosti ili platiti malo više i upotrijebiti namjenski IC za to. Moj proračun je još uvijek bio ispod 20 čak i sa IC -om, pa ga možete još više smanjiti ako trebate.

Korak 3: Pobliže pogledajte ATmega8

Pobliži pogled na ATmega8
Pobliži pogled na ATmega8

PinsImage 1 je dijagram iscrtavanja za ATMega8 (potpuno isti kao i 168/48/88, jedina razlika je količina ugrađene memorije i mogućnosti prekida). Pin 1 - Resetiranje, treba držati na VCC naponu (ili barem logično 1). Ako je uzemljen, uređaj će se meko resetiratiPin 2-6 - Port D, opći ulaz/izlazPin 7 - VCC, opskrbni napon (+5V za nas) Pin 8 - GroundPin 9, 10 - XTAL, ulazi za vanjski sat (dio porta B) Pin 11 - 13 Port D, opći ulaz/izlazPin 14 - 19 Port B, opći ulaz/izlazPin 20 - AVCC, analogni napon napajanja (isti kao i VCC) Pin 21 - AREF, referentni napon analognog pina 22 - Uzemljenje 23-28 Ulaz C, opći ulaz/izlaz Upotrebljivi ulazno/izlazni portovi: D = 8, C = 6, B = 6 Ukupno 20 upotrebljivih priključaka je izvrsno, radi jednostavnosti svoje izlaze grupirajte u portove (recimo D kao izlazni port) ili u grupe na ploči - možda biste htjeli da LCD radi s priključka C samo da bi žice bile uredne u tom kutu. Postoje tri dodatne pinove koje su potrebne za programiranje. To su MISO (18), MOSI (17) i SCK (19). Oni će s radošću djelovati kao i/o pinovi ako je potrebno. Zaključavanje Signal koji šaljemo kameri mora biti točno tempiran (točan do oko mikrosekunde) pa je važno da odaberemo dobar izvor takta. Svi AVR -ovi imaju unutarnji oscilator iz kojeg čip može dobiti svoj sat. Nedostatak toga je što mogu varirati oko 10% s temperaturom/tlakom/vlagom. Ono što možemo učiniti u borbi protiv ovoga je korištenje vanjskog kristala kvarca. Dostupni su na bilo čemu od 32768kHz (sat) do 20MHz. Odlučio sam se za korištenje kristala od 4 Mhz jer pruža pristojnu brzinu, ali je prilično konzervativan u usporedbi s možda 8 MHz+. Upravljanje napajanjem na pločiUistinu sam htio koristiti rutine spavanja u svom kodu. Zapravo, napisao sam prvu verziju koja se uvelike oslanjala na procesor u praznom hodu dok vrijeme teče. Nezadovoljno, zbog vremenskih ograničenja, naišao sam na neke probleme s vanjskim radom sata i prekidanjem korištenja mjerača vremena. U biti bih morao prepisati kôd kako bih se bavio upravljačem jednostavno ne budeći se - što sam mogao učiniti, ali vrijeme je protiv mene. Kao takav, uređaj troši samo 20 mA ishoda, tako da se možete izvući. Ako ste zaista spremni za to, svakako se petljajte po kodu, sve što trebate učiniti je interno okrenuti sat, a zatim pokrenuti Timer 2 u asinkronom načinu rada pomoću 4MHz kristala za točnija kašnjenja. Jednostavno je za napraviti, ali oduzima puno vremena. ADCŠvicarski vojni nož u AVR skupu alata, ADC označava analogno -digitalni pretvarač. Način na koji funkcionira relativno je jednostavan izvana. Na pinu se uzorkuje napon (s nekog senzora ili drugog ulaza), napon se pretvara u digitalnu vrijednost između 0 i 1024. Vrijednost 1024 primijetit će se kada je ulazni napon jednak referentnom naponu ADC -a. Ako postavimo referencu na VCC (+5V), onda je svaka podjela 5/1024 V ili oko 5mV. Tako će povećanje od 5mV na pinu povećati vrijednost ADC -a za 1. Možemo uzeti izlaznu vrijednost ADC -a kao varijablu, a zatim se petljati s njom, uspoređivati je sa stvarima itd. U kodu. ADC je nevjerojatno korisna funkcija i omogućuje vam da radite mnogo zanimljivih stvari, poput pretvaranja AVR -a u osciloskop. Frekvencija uzorkovanja je oko 125 kHz i mora se postaviti proporcionalno glavnoj frekvenciji takta. Registri Možda ste već čuli za registre, ali ne bojte se! Registar je jednostavno skup adresa (lokacija) u AVR memoriji. Registri se klasificiraju prema veličini bitova. 7 -bitni registar ima 8 lokacija, počevši od 0. Postoje registri za gotovo sve, pa ćemo ih kasnije detaljnije pogledati. Neki primjeri uključuju PORTx registre (gdje je x B, C ili D) koji kontroliraju je li pin postavljen visoko ili nisko te postavlja otpornike za ulaze, DDRx registre koji postavljaju hoće li pin biti izlaz ili ulaz itd. Tehnički list: Behemoth književnosti, težak oko 400 stranica; tehnički listovi AVR -a neprocjenjiva su referenca za vaš procesor. Sadrže pojedinosti o svakom registru, svakom pinu, načinu rada mjerača vremena, koje osigurače treba postaviti na što i još mnogo toga. Oni su besplatni i trebat će vam prije ili kasnije, pa preuzmite kopiju! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Korak 4: Dodjela pinova

Dodjela pinova
Dodjela pinova

Već sam spomenuo ulaze i izlaze koji su nam potrebni, pa bismo ih trebali dodijeliti! Sada, PORT D ima 8 pinova što je prikladno jer može djelovati kao naš izlazni port. Za rad LCD -a potrebno je 7 pinova - 4 podatkovne i 3 kontrolne pinove. Za IR LED potreban je samo jedan pin, pa to čini naš 8. PORTB će biti naš port gumb, ima 6 ulaza, ali trebat će nam samo 5. To će biti gumbi za način rada i usmjeravanje. posebno, to je ADC port. Potreban nam je samo jedan pin za ulaz okidača i ima ga smisla staviti na PC0 (uobičajena kratica za pinove portova u ovom slučaju Port C, Pin 0). Zatim imamo nekoliko pinova za LED diode statusa (jedan svijetli kada je vrijednost ADC -a iznad nekog stanja, drugi svijetli kada je ispod nekog stanja). Ovdje ćemo staviti i unos ok/shoot gumb, iz razloga koji će kasnije postati jasni. Nakon svega ovoga, iskoristili smo većinu portova, ali ostaje nam još nekoliko ako želite proširiti projekt - možda više okidača?

Korak 5: Komunikacija s kamerom

Komunikacija s kamerom
Komunikacija s kamerom
Komunikacija s kamerom
Komunikacija s kamerom

Prva nagrada na fotografskom natječaju Digital Days

Preporučeni: