Obsah:

Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový ovladač kamery: 22 kroků (s obrázky)
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový ovladač kamery: 22 kroků (s obrázky)

Video: Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový ovladač kamery: 22 kroků (s obrázky)

Video: Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový ovladač kamery: 22 kroků (s obrázky)
Video: Nejlepší chlazení PC? Stavíme nabušený Corsair PC! 2024, Červenec
Anonim
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač
Sestavte si svůj vlastní (levný!) Multifunkční bezdrátový kamerový ovladač

Úvod Už jste si někdy přáli postavit si vlastní kamerový ovladač? DŮLEŽITÁ POZNÁMKA: Kondenzátory pro MAX619 jsou 470n nebo 0,47u. Schéma je správné, ale seznam komponent byl špatný - aktualizováno. Toto je vstup do soutěže Digital Days, takže pokud to považujete za užitečné, prosím ohodnoťte/hlasujte/komentujte příznivě! Pokud se vám to opravdu líbí a jste klopýtající, klikněte na „líbí se mi to!“:) Aktualizace: vystupoval na hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Update: nové fotografie laserové spouště v akci! Aktualizace: První cena = D, díky za hlasování a/nebo hodnocení! Tento instruktáž je hlavně ve prospěch uživatelů SLR, kteří chtějí získat o něco více kilometrů ze svých kamer, ale pokud existují nějaké body a střílí s IR rozhraním, může to být zajímavé. Určitě to bude fungovat (s trochou úprav) i u hacků kamer, kde můžete propojit logické výstupy se spouštěcími terminály kamery. Začalo to jako plnohodnotný tutoriál, ale kvůli některým neočekávaným omezením, se kterými jsem se později setkal, to může být spíše návod, jak dosáhnout různých věcí - často vám nechám volbu, jak byste mohli dělat věci, které Myslím, že je lepší způsob, jak dělat věci, než jen slepě říkat „toto musíš udělat“. Berte to jako lekci při návrhu ovladače kamery. Poskytl jsem schémata a úplný kód, takže jej můžete vždy jen zkopírovat. Bude to jednoduchý případ přenosu designu na stripboard a přidání LCD pro většinu lidí. Prošel jsem tím, jak to zvládnout, protože proces je velmi podobný a umožňuje opravu chyb, než uděláte návrh trvalým! Vlastnosti: Režim jednoho snímku Intervalový režim (časosběrný režim) Spouštěný výstřel (spouštění z externího senzoru) režim s proměnnými podmínkami Zahrnuté designy senzorů - světlo, zvuk (mnoho dalších možných!) Celkové náklady - do 25 GBP (bez nástrojů) LCD displej pro snadnou změnu nastavení Kompatibilní s Nikon/Canon (kódováno), potenciální podpora (nevyzkoušeno) pro Olympus/Pentax Žádný firmware nutná úprava Používá IR, takže je bezdrátový a nepoškodí vaši kameru. Napadlo mě to, když jsem hodiny seděl venku v chladu a klikal na dálkové ovládání. Dělal jsem 8sekundový interval kolem 1000 snímků. Říkal jsem si, hej, je to jen IR LED, že? Proč to nemohu replikovat a vytvořit si vlastní dálkové ovládání s integrovaným zpožděním? Pak jsem zjistil (poněkud rozpačitě, protože jsem si myslel, že jsem měl obrovskou mozkovou vlnu), že to bylo provedeno a existuje dokonce několik instrukcí k tomuto tématu. Kde se moje implementace liší od většiny intervalometrů a dálkových ovladačů, je to, že umožňuje mnoho přizpůsobení a modularity, je kompatibilní s Nikon/Canon (a pravděpodobně s dalšími později) a kombinuje schopnost pořídit snímek na konkrétní spoušť. Myšlenka je jednoduchá. Chcete vyfotit něco docela rychlého (aktuálně omezeného zpožděním na vaší závěrce, pro mě 6ms). Existuje celá řada metod, jak toho dosáhnout: 1. Pokusem a chybou se pokusíte pořídit snímek ve správný okamžik 2. Vylepšeným pokusem a omylem zatemníte místnost, nasadíte fotoaparát na žárovku (otevřená závěrka) a odpálíte blesk ve správný čas 3. Kupte si vyhrazený ovladač spouštění, který má nějaký druh zvukového/světelného senzoru, který vyfotí váš příkaz 4. Vytvořte si ho sami! Dobře, 1 a 2 jsou dobré pro popletení a mohou poskytnout velmi dobré obrázky. Ale co vám ukážu, je, že je možné postavit obvod, který vám znovu a znovu poskytne konzistentní výsledky. A co je nejdůležitější, v této omezené době jsou náklady nižší než u alternativních modelů (někteří lidé vyrobili soupravy, které dělají takové věci, ale stojí jmění viz odkazy). Všestrannost designu je následující: Pokud váš senzor generuje výstupní napětí mezi 0 a 5 V, můžete jej použít ke spuštění kamery! Na první pohled je to nudné prohlášení, ale jakmile začnete chápat důsledky, stane se velmi silným. Jednoduchým monitorováním úrovně napětí může být vaše spoušť světelná (LDR), zvuková (mikrofon nebo ultrazvuk), teplotní (termistor) nebo dokonce jednoduchý potenciometr. Vlastně téměř cokoli. Můžete dokonce propojit obvod s jiným ovladačem a za předpokladu, že vám poskytne logický výstup, takže z něj můžete spouštět. Jediným zásadním omezením návrhu je v současné době to, že funguje pouze s infračervenými rozhraními, bylo by poměrně jednoduché upravit software a hardware tak, aby vyzařovaly přes mini-USB nebo jakýkoli druh rozhraní je vyžadován. Poznámka: Zdrojový kód: V kroku 13 jsem poskytl některé aplikace. Kód, který na svém ovladači nyní používám, je tam v hexadecimálním souboru spolu s hlavním souborem c a jeho závislostmi. Můžete si jednoduše spustit můj kód, pokud si nejste jisti kompilací. Zahrnul jsem také ukázkový kód, který můžete použít v různých krocích (jmenují se zjevně jako remote_test, intervalometer test a adc test. Pokud odkazuji na kód v kroku, je pravděpodobné, že je tam. EDIT: Aktualizace o praskání balónků - zdálo se mi, že jsem byl trochu krátkozraký, když jsem řekl, že můžete snadno pořizovat fotografie praskajících balónků. Ukázalo se, že kůže v průměrném balónu cestuje tak rychle, že se úplně vystřelí, až se spustí váš fotoaparát. je problém u většiny kamer, NENÍ ovladač (který snímá ADC rychlostí kolem 120 kHz). Cesta kolem toho je použít spouštěný blesk, což je možné, pokud přidáte další kabel a další malý obvod. řekl, můžete teoreticky použít něco jiného, aby to pop a hrát si se zpožděním (nebo dokonce změnit kód zpoždění tak, aby zahrnoval mikrosekundy). Vzduchová peleta cestující 1 m na 150 ms-1 trvá asi 6-7 ms, dost času na spuštění a výstřel „Pohyb zbraně by poskytl základní zdržení několik mikrosekund s. Ještě jednou se omlouvám za toto, budu hrát asi dnes večer, pokud se mi podaří získat nějaké balónky, ale stále existuje mnoho použití pro zvukovou spoušť, jako je ohňostroj! Níže jsem uvedl rychlý a špinavý časový odstup, abych ukázal, že to však funguje:) Nezapomeňte číst, hodnotit a/nebo hlasovat! Na zdraví, JoshDisklaimer Zahájením projektu založeného na tomto pokynu to přijímáte a pokračujete na vlastní riziko. Pokud jeden z nich vytvoříte nebo použijete můj návod k použití - pošlete mi prosím odkaz/fotografii, abych jej mohl zahrnout zde! Odezva byla zatím zdrcující (alespoň podle mých měřítek), takže by bylo úžasné sledovat, jak si to lidé vykládají. Pracuji na revizi 2, jak píšu;)

Krok 1: Některé počáteční myšlenky…

Jak tedy tuto věc postavíme? Mikrokontrolér Srdcem a duší tohoto projektu je AVR ATMega8. Je to v podstatě mírně ořezaná verze čipu ATMega168, kterou používá Arduino. Je programovatelný v C nebo Assembly a má řadu opravdu užitečných funkcí, které můžeme využít ve svůj prospěch. “28 pinů, z nichž většina je vstup/výstup (I/O)„ Integrovaný převodník analogového a digitálního signálu “Nízká spotřeba energie „3 integrované časovače“Interní nebo externí zdroj hodin „Spousta knihoven kódů a ukázek onlineMít spoustu pinů je dobré. Můžeme komunikovat s LCD obrazovkou, mít 6 tlačítkových vstupů a stále nám zbývá dost na to, aby IR LED střílelo a některé stavové LED. Série procesorů Atmel AVR má velkou podporu online a existuje spousta návodů, jak získat začalo (stručně to projdu, ale existují lepší specializované návody) a hromady a hromady kódu, nad nimiž se budeme muset zamyslet. Pro referenci budu tento projekt kódovat v C pomocí knihovny AVR-LibC. K tomu jsem mohl snadno použít PIC, ale AVR je dobře podporován a všechny příklady, které jsem našel pro dálkové ovladače, byly založeny na AVR! LCD DisplayThere jsou dva hlavní typy zobrazení, grafické a alfanumerické. Grafické displeje mají rozlišení a pixely si můžete dát kamkoli chcete. Temnější stránkou je, že je těžší je kódovat (ačkoli knihovny existují). Alfanumerické displeje jsou jednoduše jeden nebo více řádků znaků, LCD má vestavěné úložiště základních znaků (tj. Abeceda, některá čísla a symboly) a je relativně snadné zadávat řetězce a tak dále. Nevýhodou je, že nejsou tak flexibilní a zobrazování grafiky je prakticky nemožné, ale vyhovuje našemu účelu. Jsou také levnější! Alfanumerika je kategorizována podle počtu řádků a sloupců. 2x16 je docela běžný, se dvěma řadami po 16 znacích, každý znak je matice 5x8. Můžete také získat 2x20 s, ale nevidím potřebu. Kupte si, co vám bude příjemné. Rozhodl jsem se použít červeně podsvícený LCD displej (chci jej použít pro astrofotografii a červené světlo je lepší pro noční vidění). Můžete jít bez podsvícení - je to zcela vaše volba. Pokud zvolíte trasu bez podsvícení, ušetříte energii i peníze, ale ve tmě možná budete potřebovat pochodeň. Při hledání LCD byste se měli ujistit, že je ovládán HD44780. Jedná se o průmyslový standardní protokol vyvinutý společností Hitachi a existuje mnoho dobrých knihoven, které můžeme použít k výstupu dat. Model, který jsem koupil, byl JHD162A od eBay. InputInput bude provedeno pomocí tlačítek (jednoduché!). Vybral jsem 6 - výběr režimu, ok/střílet a 4 směry. Také stojí za to získat další malé tlačítko pro resetování mikro v případě havárie. Pokud jde o spouštěcí vstup, některé základní myšlenky jsou odpor závislý na světle nebo elektretový mikrofon. Zde můžete být kreativní nebo skoupí v závislosti na svém rozpočtu. Ultrazvukové senzory budou stát o něco více a vyžadují nějaké další programování, ale můžete s nimi dělat opravdu pěkné věci. Většina lidí bude spokojena s mikrofonem (pravděpodobně nejužitečnějším obecným senzorem) a elektrety jsou velmi levné. Uvědomte si, že to bude muset být také zesíleno (ale na to se podívám později). Výstup - stav Jediný skutečný výstup, který potřebujeme, je stav (kromě displeje), takže zde bude fungovat několik LED diod. Výstup - fotografování obrázky, potřebujeme rozhraní s kamerou a k tomu potřebujeme světelný zdroj, který může produkovat infračervené záření. Naštěstí existuje mnoho LED diod, které to dělají, a měli byste se pokusit vyzvednout přiměřeně vysoký výkon. Jednotka, kterou jsem vybral, má maximální proud 100mA (většina LED je kolem 30mA). Měli byste si také všimnout výstupu vlnové délky. Infračervené světlo je v části EM spektra s delší vlnovou délkou a měli byste hledat hodnotu kolem 850-950nm. Většina infračervených diod směřuje ke konci 950 a po zapnutí můžete vidět trochu červeného světla, to není problém, ale je to zbytečné spektrum, takže se pokuste jít blíže k 850, pokud je to možné. tento? No, bude to přenosné, takže baterie! Rozhodl jsem se použít 2 baterie AA, které se poté zvýší na 5V. V následujících částech se budu zabývat odůvodněním. 'Casing and Construction'Jak to uděláte, je čistě na vás. Po prototypování jsem se rozhodl pro obvod použít stripboard, protože je to levné a flexibilní a šetří to navrhování vlastní desky plošných spojů. Poskytl jsem schémata, takže si můžete vytvořit vlastní rozvržení desky plošných spojů - i když ano, byl bych vděčný za kopii! Opět je případ zcela vaší volbou, musí být schopen přizpůsobit obrazovku, tlačítka (pokud možno v celkem intuitivním uspořádání) a baterie. Jak jdou desky s obvody, toto není tak složité, mnoho připojení je prostě k věcem, jako jsou tlačítka/LCD.

Krok 2: Řízení spotřeby

Řízení spotřeby
Řízení spotřeby

Řízení spotřeby U takového projektu je zřejmé, že klíčovým aspektem by měla být přenositelnost. Baterie jsou tedy logickou volbou! Nyní je pro přenosná zařízení klíčové, abyste si vybrali zdroj baterie, který je buď dobíjecí, nebo snadno dostupný. Dvě hlavní možnosti jsou 9V baterie PP3 nebo AA baterie. Jsem si jistý, že někteří lidé budou předpokládat, že 9V baterie je nejlepší volbou, protože hej, 9V je lepší než 3, ne? No, v tomto případě ne. I když jsou 9V baterie velmi užitečné, vytvářejí jejich napětí na úkor životnosti baterie. Měřeno v mAh (miliampérhodinách), toto hodnocení vám teoreticky řekne, jak dlouho vydrží baterie pracovat při 1mA v hodinách (i když to vezmete se špetkou soli, často jsou za ideálních podmínek nízkého zatížení). Čím vyšší je hodnocení, tím déle vydrží baterie. 9V baterie jsou dimenzovány na až kolem 1000 mAh. Alkalické AA mají na druhé straně téměř třikrát tolik při 2900 mAh. Dobíjecích NiMH toho může dosáhnout, i když 2500 mAh je rozumné množství (všimněte si, že dobíjecí baterie fungují na 1,2 V, nikoli 1,5!). LCD obrazovka potřebuje vstup 5 V (10%) a AVR (mikrokontrolér) potřebuje zhruba stejné (i když to může jít až na 2,7 pro nízké frekvence). Potřebujeme také poměrně stabilní napětí, pokud by kolísalo, mohlo by to způsobit problémy s mikrokontrolérem. K tomu použijeme regulátor napětí, musíte si nyní vybrat mezi cenou a účinností. Máte možnost použít jednoduchý 3pinový regulátor napětí, jako je LM7805 (řada 78, výstup +5 voltů) nebo malý integrovaný obvod. Použití jednoduchého regulátoru Pokud se rozhodnete pro tuto možnost, musíte mít několik bodů na mysli. Za prvé, tři kolíkové regulátory téměř vždy potřebují vstup, který je vyšší než jejich výstup. Poté snižují napětí na požadovanou hodnotu. Temnější stránkou je, že mají strašnou účinnost (50-60% je dobré). Výhodou je, že jsou levné a poběží s 9V baterií, ve Velké Británii si můžete vyzvednout základní model za 20 pencí. Měli byste také mít na paměti, že regulátory mají výpadkové napětí - minimální mezeru mezi vstupem a výstupem. Můžete si koupit speciální regulátory LDO (Low DropOut), které mají výpadky kolem 50 mV (ve srovnání s 1-2 V u jiných provedení). Jinými slovy, dávejte pozor na LDO s výstupem +5 V. Použití integrovaného obvodu Ideální cestou je spínací regulátor. Pro náš účel to budou normálně 8pinové balíčky, které odebírají napětí a dávají nám regulovaný výstup s vysokou účinností - v některých případech téměř 90%. Převodníky můžete zvýšit nebo snížit (respektive zvýšit/snížit) v závislosti na tom, co chcete vložit, nebo si můžete koupit regulátory, které budou mít buď vyšší nebo nižší požadovaný výkon. Čip, který pro tento projekt používám, je MAX619+. Jedná se o 5V krokový regulátor, který zabírá 2 AA (vstupní rozsah je 2V-3,3V) a poskytuje stálý výstup 5V. Ke svému provozu potřebuje pouze čtyři kondenzátory a je velmi prostorově efektivní. Cena - 3,00 včetně čepic. Pravděpodobně to stojí za to, aby se vaše baterie trochu více využily. Jedinou hlavní nevýhodou je, že není chráněn proti zkratu, takže pokud dojde k nárůstu proudu, buďte varováni! To je však poměrně triviální opravit pomocí přídavného obvodu: Další užitečný design čipu - i když ne zdaleka tak úhledné řešení je LT1307. Opět 5V regulátor, ale může mít různé vstupy a má užitečné věci, jako je detekce vybité baterie. U induktorů, velkých kondenzátorů a rezistorů to stojí téměř o něco více než 5. Napěťové kolejnice Budeme používat dvě hlavní napěťové lišty (plus společnou zem). První bude 3V z baterie, ta bude sloužit k napájení LED a dalších relativně výkonných součástek. Můj MAX619 je dimenzován pouze na 60mA (ačkoli absolutní maximum je 120mA), takže je snazší připojit mikrokontrolér k MOSFETu pro ovládání jakýchkoli LED. MOSFET odebírá téměř žádný proud a funguje jako přerušení obvodu, když je vstup brány pod přibližně 3V. Když mikrokontrolér vyšle logickou 1 na kolík, napětí je 5V a FET se zapne, pak funguje pouze jako zkrat (tj. Kus drátu). Kolej 5V napájí LCD, mikrokontrolér a jakékoli zesilovací obvody pro Vstupní senzory. Provoz LCD displeje je pouze 1 mA (alespoň při testování, rozpočet na 2). Se zapnutým podsvícením je opravdu na vás, abyste se rozhodli. Připojení přímo na kolejnici 5V (zkoušel jsem) je v pořádku, ale ujistěte se, že má integrovaný odpor (sledujte stopy na desce plošných spojů), než to uděláte. Tak čerpalo 30 mA - hrozné! S odporem 3,3 k je stále viditelný (ideální pro astro fotografii) a odebírá pouze 1 mA. Slušný jas můžete stále získat pomocí 1k nebo jiného. Jsem v pohodě s tím, že moje kresba těsně pod 2mA se zapnutým podsvícením! Pokud chcete, je triviální přidat knoflík jasu pomocí potenciometru 10k. IR LED může trvat maximálně 100mA, ale já mám dobré výsledky s 60mA napříč mým (experiment!). Poté můžete tento proud snížit na polovinu, protože ve skutečnosti běžíte při 50% pracovním cyklu (když je LED modulovaná). Každopádně je to jen na zlomek sekundy, takže si s tím nemusíme dělat starosti. Ostatní LED diody, se kterými byste si měli hrát, možná zjistíte, že k dobrému jasu stačí pouze proud 10 mA - určitě se podívejte pro LED diody s nízkým výkonem (kromě IR) nevytváříte baterku! Rozhodl jsem se nepřidat do svého obvodu indikátor napájení, jednoduše proto, že je to hodně odběru proudu, protože to moc nepoužíváme. Pomocí vypínače zkontrolujte, zda je zapnutý! Celkově byste neměli současně provozovat více než 30 mA a teoretickou zásobu přibližně 2 500 (umožňující variace) mAh, která by vám měla poskytnout více než 80 hodin rovnou se vším. Když je procesor po většinu času nečinný, bude se minimálně zdvojnásobovat/ztrojnásobovat, takže byste neměli příliš často měnit baterie. Můžete buď jít levně a vesele s 9V baterií a regulátorem LDO na úkor účinnosti, nebo si trochu připlatit a použít k tomu vyhrazený integrovaný obvod. Můj rozpočet byl stále nižší než 20 i s integrovaným obvodem, takže ho můžete v případě potřeby ještě snížit.

Krok 3: Bližší pohled na ATmega8

Bližší pohled na ATmega8
Bližší pohled na ATmega8

PinsImage 1 je pinout diagram pro ATMega8 (přesně stejný jako 168/48/88, jediným rozdílem je množství vestavěné paměti a možnosti přerušení). Pin 1 - Reset, měl by být udržován na napětí VCC (nebo alespoň logické 1). Pokud je uzemněno, zařízení se soft resetuje Pin 2-6 - Port D, obecný vstup/výstup Pin 7 - VCC, napájecí napětí (+5 V pro nás) Pin 8 - GroundPin 9, 10 - XTAL, externí hodinové vstupy (část Port B) Pin 11 - 13 Port D, obecný vstup/výstup Pin 14 - 19 Port B, obecný vstup/výstup Pin 20 - AVCC, analogové napájecí napětí (stejné jako VCC) Pin 21 - AREF, reference analogového napětí Pin 22 - GroundPin 23-28 Port C Obecný vstup/výstup Použitelné I/O porty: D = 8, C = 6, B = 6 Celkem 20 použitelných portů je skvělé, pro jednoduchost byste měli své výstupy seskupit buď do portů (řekněme D jako výstupní port), nebo do skupiny na desce - možná budete chtít, aby LCD běžel z portu C, jen aby byly v tomto rohu uklizené dráty. K programování jsou zapotřebí tři další kolíky. Jsou to MISO (18), MOSI (17) a SCK (19). V případě potřeby však budou šťastně fungovat jako I/O piny. Clockování Signál, který posíláme do kamery, musí být přesně načasován (s přesností přibližně na mikrosekundu), takže je důležité, abychom vybrali dobrý zdroj hodin. Všechny AVR mají interní oscilátor, ze kterého čip může získat své hodiny. Nevýhodou je, že mohou kolísat kolem 10% s teplotou/tlakem/vlhkostí. V boji proti tomu můžeme udělat použití externího křemenného krystalu. Ty jsou k dispozici v čemkoli od 32768kHz (hodinky) do 20MHz. Rozhodl jsem se použít krystal 4 MHz, protože poskytuje slušné množství rychlosti, ale ve srovnání s možná 8 MHz+je poměrně konzervativní. Palubní správa napájení Ve svém kódu jsem opravdu chtěl použít rutiny spánku. Ve skutečnosti jsem napsal první verzi, abych se ve velké míře spoléhal na volnoběh procesoru během časového limitu. Naneštěstí jsem kvůli časové tísni narazil na nějaké problémy s externím spuštěním hodin a přerušením používání časovačů. V podstatě bych musel přepsat kód, aby se ovladač jednoduše neprobudil - což jsem mohl, ale čas je proti mně. Zařízení jako takové čerpá pouze 20mA ish, takže se s ním můžete dostat pryč. Pokud jste opravdu na to, pak se v každém případě pohrávejte s kódem, vše, co musíte udělat, je interně taktovat a poté spustit časovač 2 v asynchronním režimu pomocí krystalu 4 MHz pro přesnější zpoždění. Je to jednoduché, ale časově náročné. ADC Švýcarský armádní nůž v sadě nástrojů AVR, ADC znamená Analogue to Digital Converter. Jak to funguje, je zvenčí poměrně jednoduché. Napětí se vzorkuje na pinu (z nějakého snímače nebo jiného vstupu), napětí se převede na digitální hodnotu mezi 0 a 1024. Pokud je vstupní napětí stejné jako referenční napětí ADC, bude pozorována hodnota 1024. Pokud nastavíme naši referenci na VCC (+5V), pak je každé dělení 5/1024 V nebo kolem 5mV. Zvýšení o 5 mV na pinu tedy zvýší hodnotu ADC o 1. Můžeme vzít výstupní hodnotu ADC jako proměnnou a pak s ní pohrávat, porovnávat ji s věcmi atd. V kódu. ADC je neuvěřitelně užitečná funkce a umožňuje vám dělat spoustu skvělých věcí, jako je přeměna AVR na osciloskop. Vzorkovací frekvence je kolem 125kHz a musí být nastavena úměrně k hlavní hodinové frekvenci. Registrace Možná jste už o registrech slyšeli, ale nebojte se! Registr je jednoduše soubor adres (umístění) v paměti AVR. Registry jsou tříděny podle jejich velikosti bitů. 7bitový registr má 8 míst, začínáme od 0. Existují registry pro téměř všechno a později se na ně podíváme mnohem podrobněji. Některé příklady zahrnují registry PORTx (kde x je B, C nebo D), které řídí, zda je pin nastaven na vysokou nebo nízkou úroveň, a nastavuje vytahovací odpory pro vstupy, registry DDRx, které nastavují, zda je pin výstupem nebo vstupem atd. Datasheet Velký model literatury o hmotnosti kolem 400 stran; datové listy AVR jsou neocenitelným odkazem na váš procesor. Obsahují podrobnosti o každém registru, každém pinu, jak fungují časovače, jaké pojistky by měly být nastaveny na co a mnoho dalšího. Jsou zdarma a dříve nebo později je budete potřebovat, proto si stáhněte kopii! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Krok 4: Přidělení pinů

Přidělení kolíků
Přidělení kolíků

Již jsem zmínil potřebné vstupy a výstupy, takže bychom jim měli přidělit piny! Nyní má PORT D 8 pinů, což je praktické, protože může fungovat jako náš výstupní port. LCD vyžaduje k provozu 7 pinů - 4 datové piny a 3 ovládací piny. IR LED vyžaduje pouze jeden kolík, takže tvoří náš 8. Port bude naším portem pro tlačítka, má 6 vstupů, ale budeme potřebovat pouze 5. To budou tlačítka režimu a směrová tlačítka. PORTC je zvláštní, je to port ADC. Potřebujeme pouze jeden pin pro spouštěcí vstup a má smysl jej umístit na PC0 (běžná zkratka pro portové piny v tomto případě Port C, Pin 0). Pak máme pár pinů pro stavové LED (jeden se rozsvítí, když je hodnota ADC nad nějakou podmínkou, druhá se rozsvítí, když je pod nějakou podmínkou). Z důvodů, které budou později jasné, sem také vložíme vstup tlačítka OK/Shoot. Po tom všem jsme vyčerpali většinu portů, ale stále jich několik zbývá, pokud si přejete rozšířit projekt - možná více spouštěčů?

Krok 5: Komunikace s kamerou

Komunikace s fotoaparátem
Komunikace s fotoaparátem
Komunikace s fotoaparátem
Komunikace s fotoaparátem

První cena ve fotografické soutěži Digital Days

Doporučuje: