Turinys:
- 1 žingsnis: kai kurios pradinės mintys…
- 2 žingsnis: energijos valdymas
- 3 žingsnis: atidžiau pažvelkite į „ATmega8“
- 4 žingsnis: kaiščių paskirstymas
- 5 veiksmas: bendravimas su fotoaparatu
Video: Sukurkite savo (pigiai!) Daugiafunkcį belaidį fotoaparato valdiklį: 22 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:51
Įvadas Ar kada nors norėjote sukurti savo fotoaparato valdiklį? SVARBI PASTABA: MAX619 kondensatoriai yra 470n arba 0,47u. Schema yra teisinga, tačiau komponentų sąrašas buvo neteisingas - atnaujintas. Tai yra įrašas į skaitmeninių dienų konkursą, todėl, jei manote, kad tai naudinga, įvertinkite/balsuokite/komentuokite palankiai! Jei jums tai tikrai patinka ir esate suklupęs, paspauskite „man patinka!“.:) Atnaujinimas: rodomas „hackaday“! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Atnaujinimas: naujos veikiančio lazerio paleidimo nuotraukos! Atnaujinimas: pirmasis prizas = D, ačiū už balsavimą ir (arba) įvertinimą! Ši pamoka daugiausia skirta SLR naudotojams, norintiems šiek tiek daugiau nuvažiuoti iš savo fotoaparatų, tačiau jei yra kokių nors taškų ir fotografuojama naudojant IR sąsajas, tai gali būti įdomu. Be abejo, tai taip pat veiks (šiek tiek modifikuojant) su fotoaparato įsilaužimais, kur galite prijungti loginius išėjimus į fotoaparato paleidimo gnybtus. Tai prasidėjo kaip visapusiška pamoka, tačiau dėl kai kurių netikėtų suvaržymų, su kuriais susidūriau vėliau, tai gali būti daugiau vadovas, kaip atlikti įvairius dalykus - dažnai paliksiu jums galimybę pasirinkti, ką galėtumėte padaryti Manau, kad tai yra geresnis būdas daryti dalykus, nei tiesiog aklai pasakyti „tu privalai tai padaryti“. Pagalvokite apie tai kaip apie fotoaparato valdiklio dizaino pamoką. Pateikiau schemas ir visą kodą, kad visada galėtumėte tiesiog nukopijuoti. Daugumai žmonių bus paprasta perkelti dizainą į juostą ir pridėti LCD. Aš išnagrinėjau, kaip jį maitinti, nes procesas yra labai panašus ir leidžia ištaisyti klaidas, kol dizainas bus nuolatinis! Įtraukti jutiklių modeliai - šviesa, garsas (galima daug daugiau!) Bendra kaina - mažiau nei 25 svarų sterlingų (neįskaitant įrankių) LCD ekranas, leidžiantis lengvai pakeisti nustatymus reikalingas modifikavimas Naudojamas IR, taip pat yra belaidis ir nepažeidžia jūsų fotoaparato. Aš turėjau idėją tai padaryti po to, kai valandų valandas sėdėjau lauke šaltyje ir spustelėjau savo nuotolinio valdymo pultą. Aš darydavau 8 sekundžių intervalą maždaug 1000 kadrų. Aš pagalvojau, ei, tai tik IR šviesos diodas, ar ne? Kodėl negaliu to pakartoti ir sukurti savo nuotolinio valdymo pultą su įmontuotu uždelsimu? Tada sužinojau (šiek tiek gėdingai, nes maniau, kad man buvo didžiulė smegenų banga), kad tai buvo padaryta ir yra net pora pamokymų šia tema. Mano įgyvendinimas skiriasi nuo daugelio intervalometrų ir „pasidaryk pats“nuotolinio valdymo pultelių, nes tai leidžia daug pritaikyti ir moduliuoti, suderinama su „Nikon“/„Canon“(ir greičiausiai kitais) ir sujungia galimybę fotografuoti naudojant tam tikrą trigerį. Idėja paprasta. Norite ką nors nufotografuoti gana greitai (šiuo metu tai riboja užrakto atsilikimas, man 6ms). Yra keli būdai, kaip tai padaryti: 1. Bandymas ir klaida, kai bandote nufotografuoti reikiamu momentu tinkamu laiku 3. Įsigykite specialų trigerio valdiklį, kuriame yra tam tikras garso/šviesos jutiklis, kad galėtumėte fotografuoti pagal jūsų nurodymą. 4. Sukurkite jį patys! Gerai, 1 ir 2 puikiai tinka klaidžioti ir gali duoti labai gerų nuotraukų. Bet aš jums parodysiu, kad įmanoma sukurti grandinę, kuri ne kartą duos jums nuoseklius rezultatus. Svarbiausia, kad šiais įtemptais laikais kaina yra mažesnė nei alternatyvių modelių (kai kurie žmonės gamino rinkinius, užsiimančius tokiu dalyku, tačiau jie kainuoja daug pinigų, žr. Nuorodas). Konstrukcijos universalumas yra toks: jei jūsų jutiklis sukuria 0–5 V išėjimo įtampą, galite jį naudoti fotoaparatui suaktyvinti! Iš pirmo žvilgsnio tai nuobodus teiginys, tačiau kai tik pradedate suprasti pasekmes, jis tampa labai galingas. Tiesiog stebint įtampos lygį, jūsų trigeris gali būti šviesos (LDR), garso (mikrofonas arba ultragarsas), temperatūros (termistorius) ar net paprastas potenciometras. Tiesą sakant, beveik bet ką. Jūs netgi galite susieti grandinę su kitu valdikliu ir su sąlyga, kad jis suteiks jums loginę išvestį, taigi galėsite ją suaktyvinti. Vienintelis pagrindinis dizaino apribojimas šiuo metu yra tas, kad jis veikia tik su IR sąsajomis, būtų gana paprasta modifikuoti programinę ir techninę įrangą, kad jos būtų išvestos per mini-USB arba bet kokią reikalingą sąsają. Pastaba: Šaltinio kodas: kai kurias programas pateikiau atlikdami 13 veiksmą. Kodas, kurį šiuo metu valdau valdiklyje, yra šešiabriauniame faile kartu su pagrindiniu c failu ir jo priklausomybėmis. Galite tiesiog paleisti mano kodą, jei nesate tikri dėl kompiliavimo. Aš taip pat įtraukiau keletą kodo pavyzdžių, kuriuos galite naudoti įvairiems veiksmams (jie akivaizdžiai pavadinti kaip „remote_test“, intervalometro testas ir „adc test“. Jei nurodysiu kodą žingsnyje, tikimybė, kad jis yra, yra. EDIT: Atnaujinimas apie iššokantys balionai - atrodo, buvau šiek tiek trumparegis, kai sakiau, kad galite lengvai nufotografuoti iššokusius balionus. Pasirodo, kad vidutinio baliono oda skrieja taip greitai, kad iki fotoaparato suveikimo ji bus visiškai iššokusi. yra problema su daugeliu fotoaparatų, o ne valdikliu (kuris ADC jaučia maždaug 120 kHz dažniu). Apskritai tai yra suaktyvintos blykstės naudojimas, kurį galima padaryti, jei pridėsite papildomą laidą ir kitą mažą grandinę. sakė, kad teoriškai galite naudoti ką nors kitą, kad paleistumėte ir pažaistumėte su uždelsimu (arba net pakeisti delsos kodą, kad jis apimtų mikrosekundes). Oro granulės, keliaujančios 1 m 150ms-1, užtrunka apie 6-7 ms, pakankamai laiko suveikti ir šaudyti Tiesiog perkėlus pistoletą būtų pradinis kelių mikrosekundžių vėlavimas s. Vėlgi, atsiprašau dėl to, aš žaisiu šį vakarą, jei galėsiu paimti kai kuriuos balionus, bet vis tiek yra daug garso paleidimo priemonių, pavyzdžiui, fejerverkų! Žemiau įdėjau greitą ir nešvarų laiko tarpą, kad parodyčiau, jog jis veikia:) Nepamirškite skaityti, įvertinti ir (arba) balsuoti! Sveiki, JoshAtsisakymas Jei neįtikėtina, kad kažkas nutiks siaubingai negerai arba jūs kažkaip užsifiksuosite fotoaparate/atbaidysite savo katę, aš už nieką neatsakysiu. Pradėdami projektą pagal šį nurodymą, jūs su tuo sutinkate ir tęskite savo riziką. Jei atliksite vieną iš šių veiksmų arba naudosite mano nurodymus, kad padėtų jums - atsiųskite man nuorodą/nuotrauką, kad galėčiau ją čia įtraukti! Atsakymas iki šiol buvo didžiulis (bent jau pagal mano standartus), todėl būtų nuostabu pamatyti, kaip žmonės tai aiškina. Aš dirbu prie 2 versijos, kai rašau;)
1 žingsnis: kai kurios pradinės mintys…
Taigi, kaip mes ketiname sukurti šį dalyką? Mikrovaldiklis Šio projekto širdis ir siela yra AVR ATMega8. Iš esmės tai yra šiek tiek apkarpyta „ATMega168“lusto versija, kurią naudoja „Arduino“. Jis yra programuojamas C arba surinkimo sistemoje ir turi daug tikrai naudingų funkcijų, kurias galime naudoti savo naudai. 28 kaiščiai, kurių dauguma yra įvesties/išvesties (i/o) „3 įmontuoti laikmačiai“Vidinis arba išorinis laikrodžio šaltinis “Daug kodų bibliotekų ir pavyzdžių internete Turėti daug kaiščių yra gerai. Mes galime sąveikauti su LCD ekranu, turėti 6 mygtukų įvestis ir dar lieka pakankamai, kad IR šviesos diodas galėtų fotografuoti su kai kuriais būsenos šviesos diodais. Atmel AVR serijos procesoriai turi daug palaikymo internete ir yra daug pamokų, kaip gauti prasidėjo (trumpai apžvelgsiu tai, bet yra geresnių specialių pamokų) ir krūvos kodų, kuriuos reikia apsvarstyti. Norėdami gauti nuorodą, aš koduosiu šį projektą C, naudodamas AVR-LibC biblioteką. Aš galėjau lengvai eiti su PIC, kad tai padarytų, tačiau AVR yra gerai palaikomas ir visi mano rasti nuotolinio valdymo pulto pavyzdžiai buvo pagrįsti AVR! LCD ekranas yra du pagrindiniai ekrano tipai - grafinis ir raidinis -skaitinis. Grafiniai ekranai turi skiriamąją gebą ir galite įdėti pikselių, kur tik norite. Neigiama yra tai, kad juos sunkiau koduoti (nors bibliotekos egzistuoja). Raidiniai ir skaitmeniniai ekranai yra tik viena ar kelios simbolių eilutės, skystųjų kristalų ekrane yra pagrindinių simbolių saugykla (t. Y. Abėcėlė, kai kurie skaičiai ir simboliai) ir palyginti lengva išvesti eilutes ir pan. Trūkumas yra tai, kad jie nėra tokie lankstūs, o grafikos rodymas yra praktiškai neįmanomas, tačiau tai atitinka mūsų tikslą. Jie taip pat pigesni! Raidiniai skaitmenys suskirstyti į kategorijas pagal jų eilučių ir stulpelių skaičių. 2x16 yra gana dažnas, jame yra dvi 16 simbolių eilutės, kurių kiekvienas yra 5x8 matrica. Jūs taip pat galite gauti 2x20 s, bet nematau poreikio. Pirkite viską, ką jaučiatės patogiai. Aš nusprendžiau naudoti raudoną apšviestą LCD ekraną (noriu jį naudoti astrofotografijai, o raudona šviesa yra geresnė naktiniam matymui). Galite eiti be foninio apšvietimo - tai jūsų pasirinkimas. Jei pasirinksite neapšviestą maršrutą, sutaupysite energijos ir pinigų, tačiau jums gali prireikti žibintuvėlio tamsoje. Ieškodami LCD, įsitikinkite, kad jį valdo HD44780. Tai pramonės standartinis protokolas, sukurtas „Hitachi“, ir yra daug gerų bibliotekų, kurias galime naudoti duomenims išvesti. Modelis, kurį nusipirkau, buvo „JHD162A“iš „eBay“. Įvestis bus įvesta mygtukais (paprasta!). Aš pasirinkau 6 režimų pasirinkimą, ok/shoot ir 4 kryptis. Taip pat verta gauti dar vieną mažą mygtuką, kad iš naujo nustatytumėte mikroįvykį avarijos atveju. Kalbant apie trigerio įvestį, kai kurios pagrindinės idėjos yra nuo šviesos priklausomas rezistorius arba elektreto mikrofonas. Čia galite būti kūrybingi ar šykštūs, priklausomai nuo jūsų biudžeto. Ultragarso jutikliai kainuos šiek tiek daugiau ir jiems reikės papildomo programavimo, tačiau su jais galite padaryti tikrai tvarkingų dalykų. Dauguma žmonių bus patenkinti mikrofonu (tikriausiai naudingiausiu bendru jutikliu), o elektretai yra labai pigūs. Turėkite omenyje, kad jį taip pat reikės sustiprinti (bet aš apie tai kalbėsiu vėliau). Išvestis - būsena Nuotraukos turi būti sujungtos su fotoaparatu ir tam reikia šviesos šaltinio, galinčio skleisti infraraudonąją spinduliuotę. Laimei, tai daro daugybė šviesos diodų, todėl turėtumėte pabandyti pasirinkti pakankamai didelės galios lemputę. Pasirinkto įrenginio srovės įvertis yra ne didesnis kaip 100 mA (dauguma šviesos diodų yra apie 30 mA). Taip pat turėtumėte atkreipti dėmesį į bangos ilgio išėjimą. Infraraudonųjų spindulių šviesa yra ilgesnio bangos ilgio EM spektro dalyje, todėl turėtumėte ieškoti maždaug 850–950 nm vertės. Dauguma IR šviesos diodų linkę link 950 galo ir įjungę galite matyti šiek tiek raudonos šviesos, tai nėra problema, tačiau tai yra iššvaistytas spektras, todėl, jei įmanoma, pabandykite priartėti prie 850. Galia tai? Na, tai bus nešiojamas, todėl baterijos! Aš nusprendžiau naudoti 2 AA baterijas, kurios vėliau pakyla iki 5 V. Kituose skyriuose aptarsiu tai pagrindžiančius argumentus. „Korpusas ir statyba“Kaip tai padaryti, visiškai priklauso nuo jūsų. Po prototipų sudarymo aš nusprendžiau naudoti grandinėlę, nes ji yra pigi ir lanksti ir taupo individualų PCB dizainą. Pateikiau schemas, kad galėtumėte laisvai susikurti savo PCB išdėstymą - nors jei tai padarysite, būčiau dėkingas, jei turėčiau kopiją! Vėlgi, tai yra jūsų pasirinkimas, jis turi tilpti į ekraną, mygtukus (gana intuityvus išdėstymas, jei įmanoma) ir baterijos. Kalbant apie plokštes, tai nėra taip sudėtinga, daugelis jungčių yra tiesiog prie tokių dalykų kaip mygtukai/LCD.
2 žingsnis: energijos valdymas
Tokio projekto atveju akivaizdu, kad perkeliamumas turėtų būti pagrindinis aspektas. Taigi akumuliatoriai yra logiškas pasirinkimas! Dabar nešiojamiesiems įrenginiams labai svarbu pasirinkti akumuliatoriaus šaltinį, kuris yra įkraunamas arba lengvai prieinamas. Du pagrindiniai variantai yra 9V PP3 arba AA baterijos. Aš tikiu, kad kai kurie žmonės manys, kad 9 V baterija yra geriausias pasirinkimas, nes 9V yra geriau nei 3? Na, ne šiuo atveju. Nors 9 V baterijos yra labai naudingos, jos sukuria įtampą baterijos tarnavimo laiko sąskaita. Matuojant mAh (miliampų valandomis), šis įvertinimas teoriškai nurodo, kiek laiko baterija veiks 1 mA esant valandoms (nors paimkite ją su žiupsneliu druskos, jos dažnai būna idealios, mažos apkrovos sąlygomis). Kuo didesnis įvertinimas, tuo ilgiau baterija tarnaus. 9 V baterijos yra įvertintos iki maždaug 1000 mAh. Kita vertus, šarminiai AA turi beveik tris kartus daugiau, esant 2900 mAh. NiMH įkrovikliai gali tai pasiekti, nors 2500 mAh yra pagrįsta suma (atkreipkite dėmesį, kad įkraunamos baterijos veikia esant ne 1,5, o 1,5 V įtampai!). Skystųjų kristalų ekranui reikia 5 V įvesties (10%), o AVR (mikrovaldikliui) reikia maždaug to paties (nors žemo dažnio laikrodžio greičiui jis gali siekti 2,7). Mums taip pat reikalinga gana stabili įtampa, jei ji svyruoja, gali sukelti problemų su mikrovaldikliu. Norėdami tai padaryti, naudosime įtampos reguliatorių, dabar turite pasirinkti kainą ir efektyvumą. Turite galimybę naudoti paprastą 3 kontaktų įtampos reguliatorių, pvz., LM7805 (78 serija, +5 voltų išėjimas) arba nedidelį integruotą grandinę. Naudojant paprastą reguliatorių Jei nuspręsite pasirinkti šią parinktį, turite turėti galvoje keli punktai. Pirma, trijų kaiščių reguliatoriams beveik visada reikia įvesties, didesnės nei jų išvestis. Tada jie sumažina įtampą iki norimos vertės. Neigiama yra tai, kad jie turi siaubingą efektyvumą (50–60% yra gerai). Neigiama yra tai, kad jie yra pigūs ir veiks su 9 V baterija, JK galite pasiimti pagrindinį modelį už 20 pensų. Taip pat turėtumėte nepamiršti, kad reguliatoriai turi atjungimo įtampą - minimalų atotrūkį tarp įvesties ir išvesties. Galite nusipirkti specialių LDO (Low DropOut) reguliatorių, kurių iškritimas yra maždaug 50 mV (palyginti su 1–2 V su kitais modeliais). Kitaip tariant, atkreipkite dėmesį į LDO su +5 V išvestimi. Integruoto grandyno naudojimas Idealus būdas yra perjungimo reguliatorius. Mūsų tikslais tai paprastai bus 8 kontaktų paketai, kurie ima įtampą ir suteikia mums reguliuojamą išvestį esant dideliam efektyvumui - kai kuriais atvejais beveik 90%. Priklausomai nuo to, ką norite įdėti, galite padidinti arba sumažinti konverterius (atitinkamai padidinti/sumažinti), taip pat galite nusipirkti reguliatorių, kurie viršys arba sumažins norimą išvestį. Lustas, kurį naudoju šiam projektui, yra MAX619+. Tai 5 V padidėjimo reguliatorius, kuris paima 2 AA (įvesties diapazonas yra 2–3,3 V) ir nuolat išleidžia 5 V įtampą. Tam reikia tik keturių kondensatorių, kad jis veiktų, ir jis labai taupo erdvę. Kaina - 3,00, įskaitant viršutines ribas. Tikriausiai verta švaistytis tik tam, kad šiek tiek daugiau išnaudotumėte savo baterijas. Vienintelis didelis trūkumas yra tai, kad jis nėra apsaugotas nuo trumpojo jungimo, todėl, jei yra srovės šuolis, įspėkite! Tačiau tai išspręsti yra gana nereikšminga naudojant papildomą grandinę: Kitas naudingas lusto dizainas - nors ir ne toks tvarkingas sprendimas yra „LT1307“. Vėlgi, 5 V reguliatorius, tačiau jis gali įvesti įvairius įėjimus ir turi naudingų dalykų, tokių kaip mažos baterijos aptikimas. Su induktoriais, dideliais kondensatoriais ir rezistoriais tai kainuoja šiek tiek daugiau, beveik 5 ° C. Įtampos bėgeliai Mes naudosime du pagrindinius įtampos bėgius (plius bendrą pagrindą). Pirmasis bus 3V iš akumuliatoriaus, jis bus naudojamas šviesos diodams ir kitiems santykinai didelės galios komponentams maitinti. Mano MAX619 yra tik iki 60 mA (nors absoliuti maksimali yra 120 mA), todėl lengviau prijungti mikrovaldiklį prie MOSFET, kad būtų galima valdyti bet kokius šviesos diodus. MOSFET beveik nenaudoja srovės ir veikia kaip grandinės pertrauka, kai vartų įvestis yra mažesnė nei 3 V. Kai mikrovaldiklis siunčia loginį 1 kaištį, įtampa yra 5 V, o FET įsijungia, tada veikia kaip trumpasis jungimas (ty vielos gabalas). 5 V bėgelis maitins LCD, mikrovaldiklį ir visas stiprinimo grandines Įvesties jutikliai. Energijos sąnaudos Skystųjų kristalų ekranas veikia tik 1 mA (bent jau man išbandžius, biudžetas 2). Įjungus foninį apšvietimą, jūs tikrai turite nuspręsti. Ją prijungti tiesiai prie 5 V bėgio (bandžiau) yra gerai, tačiau prieš tai įsitikinkite, kad jis turi įmontuotą rezistorių (sekite pėdsakus ant PCB). Taip pritraukė 30 mA - baisu! Su 3,3 k rezistoriumi jis vis dar matomas (puikiai tinka astro fotografijai) ir pritraukia tik 1 mA. Vis tiek galite pasiekti tinkamą ryškumą naudodami 1k ar kitaip. Man gerai, kai piešiu šiek tiek mažiau nei 2 mA, kai įjungtas foninis apšvietimas! Jei norite, yra nereikšminga pridėti ryškumo rankenėlę naudojant 10 k potenciometrą. IR šviesos diodas gali užtrukti ne daugiau kaip 100 mA, bet aš gavau gerų rezultatų su 60 mA per mano (eksperimentas!). Tuomet šią srovę galite sumažinti perpus, nes efektyviai dirbate 50% darbo ciklu (kai moduliuojamas šviesos diodas). Bet kokiu atveju, tai veikia tik sekundės dalį, todėl mums nereikia dėl to nerimauti. Kiti šviesos diodai, su kuriais turėtumėte žaisti, galite pastebėti, kad pakanka tik 10 mA srovės, kad suteiktumėte gerą ryškumą - tikrai atrodykite jei naudojate mažos galios šviesos diodus (išskyrus IR), nekuriate žibinto! Aš nusprendžiau nepridėti galios indikatoriaus į savo grandinę vien todėl, kad tai yra daug srovės, todėl nereikia daug naudos. Naudokite įjungimo/išjungimo jungiklį, kad patikrintumėte, ar jis įjungtas! Iš viso neturėtumėte vienu metu veikti daugiau kaip 30 mA, o teorinis tiekimas yra apie 2500 mAh (leidžiantis keisti) mAh, kuris turėtų suteikti jums daugiau nei 80 valandų tiesiai su viskuo. Kai procesorius dažniausiai veikia tuščiąja eiga, tai bent dvigubai arba trigubai padidės, todėl nereikėtų labai dažnai keisti baterijų. Išvada! Galite nusipirkti pigiai ir linksmai su 9 V baterija ir LDO reguliatoriumi efektyvumo sąskaita arba sumokėti šiek tiek daugiau ir naudoti tam skirtą IC. Mano biudžetas vis dar buvo mažesnis nei 20, net su IC, todėl, jei reikia, galite jį dar labiau sumažinti.
3 žingsnis: atidžiau pažvelkite į „ATmega8“
„PinsImage 1“yra „ATMega8“pinout diagrama (lygiai tokia pati kaip 168/48/88, vienintelis skirtumas yra vidinės atminties kiekis ir pertraukimo parinktys). 1 kontaktas - Atstatyti, turėtų būti laikomas esant VCC įtampai (arba bent jau logiška 1). Jei įžemintas, įrenginys bus minkštai iš naujo nustatomas Pin 2-6 - D prievadas, bendroji įvestis/išvestis Pin 7 - VCC, maitinimo įtampa (mums +5 V) 8 kontaktas - GroundPin 9, 10 - XTAL, išoriniai laikrodžio įėjimai (B prievado dalis)) Pin 11 - 13 D prievadas, bendras įėjimas/išėjimas Pin 14 - 19 B prievadas, bendras įėjimas/išėjimas Pin 20 - AVCC, analoginė maitinimo įtampa (tokia pati kaip VCC) 21 kontaktas - AREF, analoginė įtampos nuoroda Pin 22 - GroundPin 23-28 C Naudojami įvesties/išvesties prievadai: D = 8, C = 6, B = 6 Iš viso yra 20 tinkamų prievadų, todėl paprastumo dėlei išvestis reikia sugrupuoti į prievadus (tarkime, D kaip išvesties prievadą) arba į grupės lentoje - galbūt norėsite, kad LCD veiktų iš C prievado, kad laidai būtų tvarkingi tame kampe. Programavimui reikalingi trys papildomi kaiščiai. Tai yra MISO (18), MOSI (17) ir SCK (19). Jei reikia, jie su malonumu veiks kaip įvesties/išvesties smeigtukai. Visi AVR turi vidinį osciliatorių, iš kurio lustas gali gauti laikrodį. Trūkumas yra tas, kad jie gali svyruoti apie 10% esant temperatūrai/slėgiui/drėgmei. Norėdami tai padaryti, galime naudoti išorinį kvarco kristalą. Jie pasiekiami nuo 32768 kHz (laikrodis) iki 20 MHz. Aš nusprendžiau naudoti 4Mhz kristalą, nes jis užtikrina tinkamą greitį, tačiau yra gana taupus, palyginti su galbūt 8Mhz+. Borto energijos valdymas Aš tikrai norėjau naudoti miego režimą savo kode. Tiesą sakant, aš parašiau pirmąją versiją, kuri labai priklausė nuo tuščiosios eigos procesoriaus, kol laikas baigėsi. Deja, dėl laiko apribojimų susidūriau su tam tikromis problemomis dėl laikrodžio veikimo išorėje ir pertraukimo naudojant laikmačius. Iš esmės turėčiau perrašyti kodą, kad valdytojas tiesiog nepabustų - ką galėčiau padaryti, bet laikas prieš mane. Įrenginys išlaiko tik 20 mA srovę, kad galėtumėte išsisukti. Jei tikrai to siekiate, bet kokiu atveju švilpkite su kodu. Viskas, ką jums reikia padaryti, tai laikrodis viduje ir tada paleisti 2 laikmatį asinchroniniu režimu, naudojant 4MHz kristalą, kad būtų galima tiksliau atidėti. Tai lengva padaryti, bet užima daug laiko. ADC Šveicarijos kariuomenės peilis AVR įrankių rinkinyje, ADC reiškia analoginį skaitmeninį keitiklį. Išoriškai tai atrodo gana paprasta. Į kaištį imama įtampa (iš kai kurių jutiklių ar kitų įėjimų), įtampa paverčiama skaitmenine verte nuo 0 iki 1024. 1024 vertė bus stebima, kai įėjimo įtampa bus lygi ADC etaloninei įtampai. Jei nustatome, kad mūsų nuoroda yra VCC (+5V), tada kiekvienas padalijimas yra 5/1024 V arba maždaug 5 mV. Taigi padidinus 5 mV kaištį, ADC reikšmė padidės 1. Mes galime imti ADC išvesties vertę kaip kintamąjį ir tada su juo smuikuoti, palyginti jį su daiktais ir tt kode. ADC yra neįtikėtinai naudinga funkcija ir leidžia atlikti daugybę įdomių dalykų, pavyzdžiui, paversti AVR į osciloskopą. Atrankos dažnis yra apie 125 kHz ir turi būti nustatytas proporcingai pagrindiniam laikrodžio dažniui. Registras yra tiesiog adresų (vietų) rinkinys AVR atmintyje. Registrai klasifikuojami pagal jų bitų dydį. 7 bitų registre yra 8 vietos, nes mes pradedame nuo 0. Yra registrų beveik viskam, ir mes į juos pažvelgsime daug išsamiau vėliau. Kai kurie pavyzdžiai yra PORTx registrai (kur x yra B, C arba D), kurie kontroliuoja, ar kaištis yra nustatytas aukštai, ar žemai, ir nustato traukimo rezistorius įėjimams, DDRx registrai, kurie nustato, ar kaištis yra išvestis, ar įvestis ir pan. The DatasheetA literatūros behemotas, sveriantis apie 400 puslapių; AVR duomenų lapai yra neįkainojama nuoroda į jūsų procesorių. Juose yra išsami informacija apie kiekvieną registrą, kiekvieną kaištį, kaip veikia laikmačiai, kokie saugikliai turėtų būti nustatyti ir dar daugiau. Jie yra nemokami ir anksčiau ar vėliau jums to prireiks, todėl atsisiųskite kopiją! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf
4 žingsnis: kaiščių paskirstymas
Aš jau minėjau mums reikalingus įėjimus ir išėjimus, todėl turėtume juos priskirti! Dabar PORT D turi 8 kaiščius, kurie yra patogūs, nes gali veikti kaip mūsų išvesties prievadas. Skystųjų kristalų ekrano veikimui reikalingi 7 kaiščiai - 4 duomenų kaiščiai ir 3 valdymo kaiščiai. IR šviesos diodui reikia tik vieno kaiščio, todėl jis sudaro mūsų 8. PORTB bus mūsų mygtukų prievadas, jis turi 6 įėjimus, bet mums reikės tik 5. Tai bus režimo ir kryptiniai mygtukai. ypatingas, tai yra ADC prievadas. Mums reikia tik vieno kaiščio, skirto trigerio įėjimui, ir prasminga jį įdėti į PC0 (įprasta prievado kaiščių santrumpa, šiuo atveju C prievadas, 0 kaištis). Tada mes turime keletą kaiščių būsenos šviesos diodams (vienas užsidega, kai ADC vertė yra didesnė už tam tikrą būklę, o kitas užsidega, kai jis yra žemiau tam tikros būklės). Taip pat čia pateiksime „OK/shoot“mygtuko įvestį dėl priežasčių, kurios paaiškės vėliau. Po viso to mes sunaudojome daugumą uostų, tačiau, jei norite išplėsti projektą, dar turime keletą - galbūt keli veiksniai?
5 veiksmas: bendravimas su fotoaparatu
Pirmasis prizas skaitmeninių dienų nuotraukų konkurse
Rekomenduojamas:
Sukurkite savo motorizuoto fotoaparato slankiklį: 6 žingsniai (su nuotraukomis)
Sukurkite savo motorizuoto fotoaparato slankiklį: Šiame projekte aš jums parodysiu, kaip pertvarkiau du senus fotoaparatų trikojus, kad sukurtų motorizuotą fotoaparato slankiklį. Mechaninę sistemą daugiausia sudaro aliuminis ir nerūdijantis plienas, todėl slankiklis yra tvirtas ir gana padorus
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: 5 žingsniai
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: tai instrukcijos, skirtos sukurti savo nuotoliniu būdu valdomą automobilį, valdomą naudojant belaidį „Xbox 360“valdiklį
„CityCoaster“- sukurkite savo papildytos realybės padėkliukus savo verslui (TfCD): 6 žingsniai (su nuotraukomis)
„CityCoaster“- sukurkite savo papildytos realybės padėkliukus savo verslui (TfCD): miestas po puodeliu! „CityCoaster“yra projektas, gimęs galvojant apie Roterdamo, Hagos oro uosto, produktą, galintį išreikšti miesto tapatybę, linksminant poilsio zonos klientus papildyta realybe. Tokioje aplinkoje kaip
Sukurkite savo valdiklį: 6 žingsniai
Sukurkite savo valdiklį: ši instrukcija išmokys jus sukurti pagrindinį „Yahoo! Valdiklis. Pasibaigus šiai pamokai, jūs išmoksite „JavaScript“ir XML
Sukurkite savo „Mac“RSS valdiklį!: 5 žingsniai
Sukurkite savo „Mac“RSS valdiklį!: Šioje nesudėtingoje situacijoje parodysite, kaip susieti savo „Mac“valdiklį! Tai nėra labai sunku. Pavyzdžiui, blogai sukurkite valdiklį „Instructables Contest“. Tai parodys, kai baigsis naujausi konkursai