Tartalomjegyzék:

Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét: 22 lépés (képekkel)
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét: 22 lépés (képekkel)

Videó: Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét: 22 lépés (képekkel)

Videó: Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét: 22 lépés (képekkel)
Videó: vezeték nélküli hangfal 2024, Július
Anonim
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét
Készítse el saját (olcsó!) Többfunkciós vezeték nélküli kameravezérlőjét

Bevezetés Valaha úgy gondolta, hogy saját kameravezérlőt épít? FONTOS MEGJEGYZÉS: A MAX619 kondenzátorai 470n vagy 0,47u. A vázlat helyes, de az alkatrészlista hibás volt - frissítve. Ez a nevezés a Digitális Napok versenyre, így ha hasznosnak találja, kérjük, értékelje/szavazzon/hozzászóljon kedvezően! Ha tényleg tetszik és botladozol, nyomd meg a "tetszik!":) Frissítés: hackaday -n kiemelve! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Frissítés: új képek a lézeres triggerről működés közben! Frissítés: Első díj = D, köszönöm a szavazást és/vagy az értékelést! Ez az utasítás elsősorban azoknak a tükörreflexes fényképezőgépeknek a hasznát szolgálja, akik szeretnének egy kicsit több kilométert kihozni kamerájukból, de ha van pont és infravörös felülettel rendelkező felvétel, akkor ezt érdekesnek találhatja. Természetesen ez is működik (egy kis módosítással) a kamerahackekkel, ahol logikai kimeneteket csatlakoztathat a kamera trigger termináljaihoz. Ez teljes oktatóanyagként kezdődött, de néhány váratlan korlátozás miatt, amelyekkel később találkoztam, inkább útmutatás lehet a különböző dolgok megvalósításához - gyakran hagyom, hogy megtegye, hogyan tehetné meg azokat a dolgokat, amelyeket Szerintem jobb módszer a dolgokra, mint csak vakon azt mondani, hogy "ezt meg kell tenned". Tekintsük ezt a kamera vezérlő tervezésének leckéjének. Vázlatokat és teljes kódot adtam meg, hogy mindig csak lemásolhassa. A legtöbb ember számára egyszerű lesz a design átvitele egy szalaglemezre, és az LCD -kijelző hozzáadása. Végignéztem, hogyan kell kenyérpirítót használni, mivel a folyamat nagyon hasonló, és lehetővé teszi a hibák kijavítását, mielőtt véglegesítené a tervezést! Jellemzők: Egyetlen felvételi mód Tartozék érzékelő kialakítás - fény, hang (még sok más lehetséges!) Teljes költség - 25 font alatt (eszközök nélkül) LCD kijelző a beállítások egyszerű megváltoztatásához Kompatibilis Nikon/Canon (kódolt), lehetséges támogatás (nem tesztelt) az Olympus/Pentax készülékhez Nincs firmware módosításra van szükség IR -t használ, így vezeték nélküli is, és nem károsítja a fényképezőgépet. Az ötletem az volt, miután kint ültem a hidegben, és órákig rákattintottam a távirányítómra. 8 másodperces intervallumot csináltam körülbelül 1000 felvételhez. Azt hittem, hé, ez csak egy IR LED, nem? Miért nem tudom megismételni és elkészíteni a saját távirányítómat beépített késleltetéssel? Aztán rájöttem (kissé zavarba ejtően, mert azt hittem, hogy hatalmas agyhullámom volt), hogy ez megtörtént, és van még néhány utasítás a témában. Ahol az én megvalósításom eltér a legtöbb intervallummérőtől és a barkácsolós távirányítótól, az az, hogy sok testreszabást és modularitást tesz lehetővé, kompatibilis mind a Nikon/Canon (és valószínűleg későbbi másokkal), mind pedig egyesíti a képességet, hogy egy adott triggerrel készítsen képet. Az ötlet egyszerű. Elég gyorsan szeretne képet készíteni valamiről (jelenleg a redőny késése korlátozza, számomra 6 ms). Erre számos módszer létezik: 1. Próba és hiba, amikor megpróbálja elkészíteni a képet a megfelelő pillanatban. a megfelelő időben 3. Vásároljon egy dedikált triggervezérlőt, amely rendelkezik valamilyen audio/fényérzékelővel a kép elkészítéséhez. 4. Készítsen egyet! Ok, az 1 -es és a 2 -es rendben van a kavaráshoz, és nagyon jó képeket hozhat. De azt mutatom meg nektek, hogy lehetséges olyan áramkört felépíteni, amely újra és újra következetes eredményeket ad. A legfontosabb, hogy ezekben a szűk időkben a költségek alacsonyabbak, mint az alternatív modellek (egyesek készítettek ilyen készleteket, de egy vagyonba kerülnek, lásd a linkeket). A kialakítás sokoldalúsága a következő: Ha az érzékelő 0 és 5 V közötti kimeneti feszültséget generál, akkor ezzel elindíthatja fényképezőgépét! Látszólag ez unalmas kijelentés, de ha egyszer elkezdi megérteni a következményeket, nagyon erős lesz. Ha egyszerűen ellenőrzi a feszültségszintet, a kiváltó lehet fényalapú (LDR), hang alapú (mikrofon vagy ultrahang), hőmérséklet -alapú (termisztor) vagy akár egy egyszerű potenciométer. Sőt, szinte bármit. Akár össze is kapcsolhatja az áramkört egy másik vezérlővel, feltéve, hogy logikai kimenetet tud adni, így kiválthatja azt. A tervezés egyetlen fő korlátozása jelenleg az, hogy csak infravörös interfészekkel működik, meglehetősen egyszerű lenne a szoftvert és a hardvert mini-USB-n vagy bármilyen szükséges interfészen keresztül kimenetre módosítani. Megjegyzés: Forráskód: A 13. lépésben néhány alkalmazást megadtam. A vezérlőn jelenleg futó kód fent van egy hexa fájlban, a fő c fájllal és annak függőségeivel együtt. Egyszerűen futtathatja a kódomat, ha nem biztos a fordításban. Mellékeltem néhány mintakódot is, amelyeket különböző lépésekben használhat (ezeket nyilvánvalóan távoli_tesztnek, intervallummérő -tesztnek és adc -tesztnek nevezik. Ha egy lépésben hivatkozom a kódra, akkor esély van rá. SZERKESZTÉS: Frissítés felbukkanó léggömbök - úgy tűnik, kicsit szűklátókörű voltam, amikor azt mondtam, hogy könnyedén fényképezhet felbukkanó léggömbökről. Kiderült, hogy az átlagos léggömb bőre olyan gyorsan mozog, hogy teljesen felpattan a fényképezőgép bekapcsolásakor. a legtöbb kamerával probléma, NEM a vezérlővel (amely 120 kHz körüli sebességgel érzékeli az ADC -t). Ennek módja a kiváltott vaku használata, ami akkor lehetséges, ha egy extra vezetéket és egy másik kis áramkört ad hozzá. azt mondta, elméletileg valami mást is használhat a késleltetéshez, és játszhat a késleltetéssel (vagy akár megváltoztathatja a késleltetési kódot, hogy az mikroszekundumokat is tartalmazzon). Az 1 m-re 150 ms-1-nél haladó léggömbök körülbelül 6-7 ms-ot vesznek igénybe, elegendő idő a kiváltáshoz és a lövéshez A puska mozgatása néhány mikroszekundumos kezdetleges késleltetést eredményezne s. Mégegyszer elnézést kérek emiatt, ma este játszani fogok, ha sikerül megszereznem néhány léggömböt, de még mindig sokféleképpen lehet használni a hangindítót, például a tűzijátékot! Az alábbiakban egy gyors és piszkos idő telik el, hogy megmutassam, hogy működik:) Ne felejts el olvasni, értékelni és/vagy szavazni! Üdv, Josh Jogi nyilatkozat Abban a valószínűtlen esetben, ha valami borzasztóan rosszul sül el, vagy valahogy lefalazza a fényképezőgépét/lerázja a macskáját, nem vagyok felelős semmilyenért. Ha ennek az utasításnak a alapján indít egy projektet, akkor ezt elfogadja, és saját felelősségére folytatja. Ha ezek közül egyet megtesz, vagy használja az utasításaimat, hogy segítsen - kérjük, küldjön egy linket/fényképet, hogy ide felvehessem! A válasz eddig elsöprő volt (legalábbis az én mércém szerint), ezért fantasztikus lenne látni, hogyan értelmezik az emberek. Dolgozom a 2. revízión gépelés közben;)

Lépés: Néhány kezdeti gondolat…

Szóval, hogyan fogjuk felépíteni ezt a dolgot? Mikrokontroller A projekt szíve és lelke egy AVR ATMega8. Ez lényegében az ATMega168 chip kissé kivágott változata, amelyet az Arduino használ. C -ben vagy összeszerelésben programozható, és számos igazán hasznos funkcióval rendelkezik, amelyeket előnyünkre fordíthatunk. "28 érintkező, amelyek többsége bemenet/kimenet (i/o)" Fedélzeti analóg -digitális átalakító " "3 fedélzeti időzítő" Belső vagy külső óraforrás "Sok kódkönyvtár és minta az interneten. Jó a sok rögzítés. Egy LCD -képernyővel tudunk kapcsolódni, 6 gombos bemenettel rendelkezünk, és még mindig elegendő mennyiségünk van ahhoz, hogy egy IR LED lőhessen, és néhány állapotjelző LED -el. Az Atmel AVR processzorok sok támogatást nyújtanak online, és rengeteg oktatóanyag van a elkezdtem (röviden átnézem ezt, de vannak jobb dedikált oktatóanyagok) és rengeteg kódot kell átgondolni. Referenciaként ezt a projektet C-ben kódolom az AVR-LibC könyvtár használatával. Ezt könnyen elvégezhetném a PIC segítségével, de az AVR jól támogatott, és a távirányítókra talált összes példa AVR alapú volt! LCD kijelző két fő megjelenítési típus, grafikus és alfanumerikus. A grafikus kijelzők felbontással rendelkeznek, és tetszés szerint elhelyezhet képpontokat. A hátránya, hogy nehezebb kódolni őket (bár könyvtárak léteznek). Az alfanumerikus kijelzők egyszerűen egy vagy több karaktersorból állnak, az LCD -n található alapvető karakterek tárolása (azaz az ábécé, egyes számok és szimbólumok), és viszonylag könnyű karakterláncokat kiadni stb. A hátránya, hogy nem olyan rugalmasak, és a grafika megjelenítése gyakorlatilag lehetetlen, de megfelel a célunknak. Olcsóbbak is! Az alfanumerikus számokat sorok és oszlopok száma alapján kategorizálják. A 2x16 meglehetősen gyakori, két sor 16 karakterből áll, mindegyik karakter 5x8 mátrix. Kaphatsz 2x20 másodpercet is, de nem látom szükségét. Vásároljon bármit, amiben jól érzi magát. Választottam egy piros háttérvilágítású LCD használatát (ezt asztrofotózáshoz szeretném használni, a vörös fény pedig jobb az éjszakai látáshoz). Háttérvilágítás nélkül is mehet - ez a választás. Ha nem háttérvilágítású útvonalat választ, energiát és pénzt takarít meg, de szükség lehet egy fáklyára a sötétben. Amikor LCD -t keres, győződjön meg arról, hogy a HD44780 vezérli. Ez egy ipari szabványú protokoll, amelyet a Hitachi fejlesztett ki, és sok jó könyvtár létezik, amelyekkel adatokat tudunk kiadni. A modell, amit vásároltam, egy JHD162A volt az eBay -től. A bemenetet gombokkal kell elvégezni (egyszerű!). A 6 mód kiválasztását, az ok/felvételt és a 4 irányt választottam. Érdemes beszerezni egy másik kis gombot a mikro visszaállításához ütközés esetén. Ami a trigger bemenetet illeti, néhány alapvető ötlet a fényfüggő ellenállás vagy az elektret mikrofon. Itt lehet kreatív vagy fukar lenni a költségvetésétől függően. Az ultrahangos érzékelők valamivel többe kerülnek, és némi extra programozást igényelnek, de igazán ügyes dolgokat végezhet velük. A legtöbb ember elégedett lesz a mikrofonnal (valószínűleg a leghasznosabb általános érzékelővel), és az elektréták nagyon olcsók. Ne feledje, hogy azt is erősíteni kell (de ezt később átnézem). képeket, interfészre van szükségünk a fényképezőgéppel, és ehhez olyan fényforrásra van szükségünk, amely infravörös sugárzást képes előállítani. Szerencsére sok LED van erre képes, és meg kell próbálnia felvenni egy ésszerűen nagy teljesítményű fényforrást. Az általam választott egység maximális árammagassága 100mA (a legtöbb LED 30mA körül van). Figyeljen a hullámhossz kimenetre is. Az infravörös fény az EM spektrum hosszabb hullámhosszú részén van, és 850-950 nm körüli értéket kell keresnie. A legtöbb IR LED a 950 vége felé hajlik, és bekapcsoláskor egy kis piros fényt láthat, ez nem jelent problémát, de elpazarolt spektrum, ezért próbálja meg közelebb menni a 850 -hez, ha lehetséges. ez? Nos, hordozható lesz, tehát elemek! Úgy döntöttem, hogy 2 db AA elemet használok, majd 5V -ra növelik. A következő néhány fejezetben áttekintem a mögöttes érvelést. "Burkolat és kivitelezés" Teljesen rajtad múlik, hogyan csinálod ezt a részt. Úgy döntöttem, hogy prototípus készítés után szalaglemezt használok az áramkörhöz, mert olcsó és rugalmas, és megkíméli az egyedi NYÁK tervezését. Elküldtem a rajzokat, így Ön szabadon készítheti el a NYÁK -elrendezését - bár ha igen, akkor hálás lennék, ha megkapnám a másolatot! Az esetet teljesen Ön választja, és be kell illesztenie a képernyőt, gombokat (meglehetősen intuitív elrendezésben, ha lehetséges) és az elemeket. Ahogy az áramköri lapok, ez nem olyan bonyolult, sok csatlakozás egyszerűen olyan dolgokhoz kapcsolódik, mint a gombok/LCD.

2. lépés: Energiagazdálkodás

Energiagazdálkodás
Energiagazdálkodás

Egy ilyen projekt esetében nyilvánvaló, hogy a hordozhatóságnak kulcsfontosságú szempontnak kell lennie. Az akkumulátorok tehát a logikus választás! Most a hordozható eszközök esetében meglehetősen kulcsfontosságú, hogy újratölthető vagy könnyen elérhető akkumulátorforrást válasszon. A két fő lehetőség a 9V PP3 elem vagy az AA elem. Biztos vagyok benne, hogy egyesek azt feltételezik, hogy a 9V -os akkumulátor a legjobb megoldás, mert hé, a 9V jobb, mint a 3 -as? Nos, ebben az esetben nem. A 9 V -os elemek, bár nagyon hasznosak, feszültségüket az akkumulátor élettartamának rovására állítják elő. MAh -ban (milliamper óra) mérve ez az értékelés elméletileg megmondja, hogy egy akkumulátor mennyi ideig fog működni 1 mA -en órákban (bár egy csipet sóval vegyük, ezek gyakran ideális, alacsony terhelési körülmények között vannak). Minél magasabb a névleges érték, annál tovább tart az akkumulátor. A 9 V -os akkumulátorok teljesítménye 1000 mAh körül van. Az alkáli AA -k viszont majdnem háromszor annyi, 2900 mAh -nál. A NiMH újratölthető akkumulátorok elérhetik ezt, bár a 2500mAh ésszerű összeg (vegye figyelembe, hogy az újratölthető elemek 1,2 V -os, nem 1,5 -ös feszültséggel működnek!). Az LCD -képernyő 5 V -os bemenetet (10%) igényel, és az AVR -t (a mikrokontrollert) nagyjából ugyanannyira (bár alacsony frekvenciájú órajeleknél 2,7 -re is csökkenhet). Szükségünk van egy meglehetősen stabil feszültségre is, ha ingadozik, ez problémákat okozhat a mikrokontrollerben. Ehhez feszültségszabályozót fogunk használni, most választania kell az ár és a hatékonyság felett. Lehetősége van egy egyszerű, 3 tűs feszültségszabályozó használatára, mint például az LM7805 (78-as sorozat, +5 voltos kimenet) vagy egy kis integrált áramkör. Egyszerű szabályozó használata Ha ezt az opciót választja, akkor viselnie kell egy néhány pontot szem előtt tartva. Először is, három érintkezős szabályozónak szinte mindig olyan bemenetre van szüksége, amely magasabb, mint a kimenete. Ezután csökkentik a feszültséget a kívánt értékre. Hátránya, hogy rettenetes hatékonysággal rendelkeznek (50-60% jó eredmény). Előnye, hogy olcsók és 9 V -os akkumulátorral működnek, az Egyesült Királyságban 20 fillérért felvehet egy alapmodellt. Azt is figyelembe kell vennie, hogy a szabályozók kiesési feszültséggel rendelkeznek - a minimális rés a bemenet és a kimenet között. Vásárolhat speciális LDO (Low DropOut) szabályozókat, amelyek 50 mV körüli kieséssel rendelkeznek (összehasonlítva más modellek 1-2 V-os teljesítményével). Más szóval, vigyázzon a +5V kimenettel rendelkező LDO -kra. Integrált áramkör használata Az ideális megoldás a kapcsoló szabályozó. Célunk szerint ezek általában 8 tűs csomagok, amelyek feszültséget vesznek fel, és szabályozott kimenetet biztosítanak számunkra nagy hatékonysággal - egyes esetekben majdnem 90% -kal. Kaphat lépésről lépésre vagy lefelé konvertereket (boost/buck) attól függően, hogy mit szeretne behelyezni, vagy vásárolhat olyan szabályozókat, amelyek a kívánt kimenet felett vagy alatt veszik fel. A chip, amelyet ehhez a projekthez használok, a MAX619+. Ez egy 5 V-os fokozó szabályozó, amely 2 AA-t vesz fel (a bemeneti tartomány 2V-3,3 V), és állandó 5 V-os kimenetet biztosít. Csak négy kondenzátorra van szüksége a működéséhez, és nagyon helytakarékos. Költség - 3,00, beleértve a sapkákat. Vitathatatlanul megéri a pazarlást, csak azért, hogy egy kicsit jobban kihasználjuk az akkumulátorokat. Az egyetlen nagy hátránya, hogy nem védett rövidzárlat miatt, ezért ha túlfeszültség van, figyelmeztetni kell! Ezt azonban meglehetősen triviális javítani egy kiegészítő áramkörrel: Egy másik hasznos chiptervezés - bár közel sem ilyen ügyes megoldás az LT1307. Ismét egy 5V -os szabályozó, de sokféle bemenetre van szükség, és olyan hasznos dolgokkal rendelkezik, mint az alacsony elemérzékelés. Az induktivitásokkal, nagy kondenzátorokkal és ellenállásokkal jóval többe kerül, közel 5 ° C -on. Feszültségi sínek Az első az akkumulátorból származó 3V lesz, ez a LED -ek és más viszonylag nagy teljesítményű alkatrészek táplálására szolgál. A MAX619 csak 60mA -ra van méretezve (bár az abszolút maximum 120mA), így könnyebb csatlakoztatni a mikrokontrollert egy MOSFET -hez, hogy vezérelje a LED -eket. A MOSFET szinte semmilyen áramot nem vesz fel, és megszakításként működik az áramkörben, ha a kapu bemenete 3 V körül van. Amikor a mikrokontroller logikai 1 -et küld a tűn, a feszültség 5 V, és a FET bekapcsol, majd csak rövidzárlatként (azaz egy huzaldarabként) működik. Az 5 V -os sín táplálja az LCD -t, a mikrokontrollert és minden erősítő áramkört bemeneti érzékelők. Energiafogyasztás Ha különböző adatlapokat vizsgálunk, akkor megjegyezzük, hogy az AVR maximális terhelésnél legfeljebb 15-20 mA-t vesz igénybe. Az LCD csak 1 mA -t vesz igénybe (legalábbis amikor teszteltem, a költségvetés 2). Ha be van kapcsolva a háttérvilágítás, akkor igazán rajtad múlik a döntés. Egyenesen csatlakoztatni az 5V -os sínhez (próbáltam) rendben van, de győződjön meg róla, hogy rendelkezik beépített ellenállással (kövesse a NYÁK -on található nyomokat). Így 30mA -t húzott - szörnyű! A 3,3 k -es ellenállással még mindig látható (tökéletes asztrofotózáshoz), és csak 1 mA -t vesz fel. Még mindig tisztességes fényerőt érhet el 1k használatával vagy más módon. Jól vagyok, ha a háttérvilágítással alig 2mA alatt rajzolok! Ha akarja, triviális a fényerő -szabályozó gomb 10 k -es potenciométerrel történő hozzáadása. Az infravörös LED akár 100 mA -t is igénybe vehet, de jó eredményeket értem el 60mA -val az enyémben (kísérlet!). Ezt követően felére csökkentheti ezt az áramot, mert ténylegesen 50% -os üzemidővel fut (ha a LED modulált). Mindenesetre csak a másodperc töredékéig van bekapcsolva, így nem kell aggódnunk emiatt. A többi LED, amellyel játszani kell, előfordulhat, hogy csak egy 10 mA áram elegendő ahhoz, hogy jó fényerőt biztosítson - az alacsony fogyasztású LED -ek (kivéve az IR -t) esetén nem fáklyát tervez! Úgy döntöttem, hogy nem adok hozzá áramjelzőt az áramkörömhez, egyszerűen azért, mert sok az áramfelvétel, nem sok haszna. A be/ki kapcsolóval ellenőrizheti, hogy be van -e kapcsolva! Összességében nem szabad egyszerre 30 mA -nél többet működtetni, és körülbelül 2500 mAh -s (változást lehetővé tevő) elméleti tápellátással, ami jóval több mint 80 órát biztosít egyenesen mindenben. Mivel a processzor legtöbbször üresjáratban van, ez legalább megduplázódik/megháromszorozódik, így nem kell nagyon gyakran cserélnie az elemeket. Következtetés! A 9 V -os akkumulátorral és az LDO -szabályozóval a hatékonyság rovására vagy olcsón és jókedvűen megy, vagy fizethet egy kicsit többet, és dedikált IC -t használhat. A költségvetésem még az IC mellett is 20 alatt volt, így szükség esetén még tovább csökkentheti.

3. lépés: Nézze meg közelebbről az ATmega8 -at

Közelebbi pillantás az ATmega8 -ra
Közelebbi pillantás az ATmega8 -ra

A PinsImage 1 az ATMega8 pinout diagramja (pontosan ugyanaz, mint a 168/48/88, az egyetlen különbség a beépített memória mennyisége és a megszakítási lehetőségek). 1. pin - Reset, VCC feszültségen (vagy legalább logikus 1). Ha földelt, a készülék lágyan újraindul Pin2-6 - D port, általános bemenet/kimenet Pin 7 - VCC, tápfeszültség (+5V számunkra) 8. pin - GroundPin 9, 10 - XTAL, külső óra bemenetek (a B port része) 11 - 13 érintkező D port, általános bemenet/kimenet Pin 14 - 19 B port, általános bemenet/kimenet Pin 20 - AVCC, analóg tápfeszültség (ugyanaz, mint a VCC) 21. Tű - AREF, analóg feszültségreferencia 22., általános bemenet/kimenet Használható i/o portok: D = 8, C = 6, B = 6A összesen 20 használható port nagyszerű, az egyszerűség kedvéért a kimeneteket vagy portokba (mondjuk D kimeneti portként) vagy csoportok a táblán - érdemes lehet, hogy az LCD csak a C portról induljon, csak hogy a vezetékek rendben legyenek a sarokban. Három extra csap szükséges a programozáshoz. Ezek a MISO (18), a MOSI (17) és az SCK (19). Szükség esetén ezek boldogan működnek majd i/o csapként. Minden AVR rendelkezik belső oszcillátorral, amelyről a chip megkaphatja az óráját. Ennek hátránya, hogy hőmérséklet/nyomás/páratartalom mellett 10% körül ingadozhatnak. Ennek leküzdésére külső kvarckristályt használhatunk. Ezek 32768kHz (óra) és 20MHz között elérhetők. Úgy döntöttem, hogy 4 MHz -es kristályt használok, mivel tisztességes sebességet biztosít, de meglehetősen energiatakarékos, talán 8Mhz+-hoz képest. A fedélzeti energiagazdálkodás Valóban alvási rutinokat akartam használni a kódomban. Valójában én írtam az első verziót, amely nagymértékben támaszkodik a processzor üresjáratára az idő múlása közben. Sajnos az idő szűkössége miatt néhány problémába ütköztem az óra külső futtatásával és az időzítők használatával történő megszakítással. Lényegében át kell írnom a kódot, hogy kezeljem a vezérlőt, egyszerűen nem ébred fel - amit megtehetek, de az idő ellenem van. Az eszköz így csak 20 mA -es áramfelvételt vesz fel, így megúszhatja. Ha tényleg készen áll rá, akkor mindenképpen fikázza a kódot, mindössze annyit kell tennie, hogy belső órát mutat, majd a 2 -es időzítőt aszinkron módban futtatja a 4 MHz -es kristály használatával a pontosabb késések érdekében. Egyszerű, de időigényes. ADC A svájci kés az AVR eszközkészletben, az ADC az Analogue to Digital Converter rövidítése. A működése kívülről viszonylag egyszerű. A feszültséget mintavételezik egy tűn (valamilyen érzékelőből vagy más bemenetből), a feszültséget 0 és 1024 közötti digitális értékre alakítják át. Ha a bemeneti feszültség megegyezik az ADC referenciafeszültséggel, akkor 1024 érték lesz megfigyelhető. Ha a referenciánkat VCC (+5V) értékre állítjuk, akkor minden osztás 5/1024 V vagy 5mV körül van. Így az 5 mV -os növelés a tűn növeli az ADC értékét 1 -gyel. Vesszük az ADC kimeneti értékét változónak, majd hegedülünk vele, összehasonlítjuk a kóddal, stb. Az ADC egy hihetetlenül hasznos funkció, és lehetővé teszi sok jó dolog elvégzését, például az AVR oszcilloszkóppá alakítását. A mintavételi frekvencia 125 kHz körül van, és azt a fő órajel -frekvenciával arányosan kell beállítani. A regiszter egyszerűen az AVR memóriában található címek (helyek) gyűjteménye. A regisztereket bitméretük szerint osztályozzák. A 7 bites regisztereknek 8 helyük van, mivel 0 -ról indulunk. Szinte mindenhez vannak regiszterek, amelyeket később sokkal részletesebben megvizsgálunk. Néhány példa a PORTx regiszterek (ahol x B, C vagy D), amelyek szabályozzák, hogy egy tű magasra vagy alacsonyra van -e állítva, és felhúzó ellenállásokat állítanak be a bemenetekhez, a DDRx regiszterek, amelyek beállítják, hogy egy tű kimenet vagy bemenet stb. A DatasheetAz irodalom nagyszerű oldala, körülbelül 400 oldal súlyú; az AVR adatlapok felbecsülhetetlen értékű hivatkozások a processzorra. Részleteket tartalmaznak minden regiszterről, minden tűről, az időzítők működéséről, milyen biztosítékokat kell beállítani, és még sok minden mást. Ingyenesek, és előbb -utóbb szüksége lesz rá, ezért töltsön le egy példányt! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

4. lépés: A csapok kiosztása

Csapok kiosztása
Csapok kiosztása

Már említettem a bemeneteket és kimeneteket, amelyekre szükségünk van, ezért kiosztani kell őket! Most a PORT D 8 tűvel rendelkezik, ami kényelmes, mivel a kimeneti portunkként működik. Az LCD működéséhez 7 érintkező szükséges - 4 adattű és 3 vezérlőtű. Az IR LED csak egy tűt igényel, így a 8. PORTB lesz a gombportunk, 6 bemenettel rendelkezik, de csak 5 -re lesz szükségünk. Ezek lesznek az üzemmód és az iránygombok. különleges, ez az ADC port. Csak egy érintkezőre van szükségünk a trigger bemenethez, és célszerű a PC0 -ra tenni (a portcsapok általános rövidítése ebben az esetben C port, 0 -ás tű). Ezután van néhány csapunk az állapotjelző LED -ekhez (az egyik akkor világít, ha az ADC értéke valamilyen feltétel felett van, a másik akkor világít, ha valamilyen állapot alatt van). A későbbiekben kiderülő okokból ide is beírjuk az ok/shoot gomb bevitelt. Mindezek után a portok többségét elhasználtuk, de van még néhány, ha bővíteni szeretné a projektet - talán több kiváltó ok?

5. lépés: Kommunikáció a kamerával

Kommunikáció a kamerával
Kommunikáció a kamerával
Kommunikáció a kamerával
Kommunikáció a kamerával

Első díj a Digital Days fotópályázaton

Ajánlott: