Sisällysluettelo:

Rakenna oma (halpa!) Monitoiminen langaton kameraohjain .: 22 vaihetta (kuvilla)
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain .: 22 vaihetta (kuvilla)

Video: Rakenna oma (halpa!) Monitoiminen langaton kameraohjain .: 22 vaihetta (kuvilla)

Video: Rakenna oma (halpa!) Monitoiminen langaton kameraohjain .: 22 vaihetta (kuvilla)
Video: Leap Motion SDK 2024, Heinäkuu
Anonim
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain
Rakenna oma (halpa!) Monitoiminen langaton kameraohjain

Johdanto Oletko koskaan kuvitellut rakentavasi oman kamerasäätimen? TÄRKEÄ HUOMAUTUS: MAX619: n kondensaattorit ovat 470n tai 0.47u. Kaavio on oikea, mutta komponenttiluettelo oli väärä - päivitetty. Tämä on osallistuminen Digital Days -kilpailuun, joten jos pidät sitä hyödyllisenä, arvioi/äänestä/kommentoi myönteisesti! Jos pidät siitä todella ja olet kompastunut, paina "pidän siitä!":) Päivitys: esillä hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Päivitys: uusia kuvia laserlaukaisimesta toiminnassa! Päivitys: Ensimmäinen palkinto = D, kiitos äänestämisestä ja/tai arvioinnista! Tämä ohje on tarkoitettu lähinnä SLR -käyttäjille, jotka haluavat saada hieman enemmän kilometrejä kameroistaan. Varmasti tämä toimii myös (pienellä muutoksella) kameran hakkeroinnin kanssa, jossa voit kytkeä loogiset lähdöt kameran laukaisupäätteisiin. Tämä alkoi täydellisenä opetusohjelmana, mutta joidenkin odottamattomien rajoitusten vuoksi, joita kohtasin myöhemmin, se saattaa olla enemmän opas erilaisten asioiden suorittamiseen - jätän sinulle usein valinnan siitä, miten voit tehdä asioita, joita Mielestäni on parempi tapa tehdä asioita kuin vain sokeasti sanoa "sinun täytyy tehdä tämä". Ajattele tätä oppituntina kamerasäätimen suunnittelussa. Olen toimittanut kaavioita ja koko koodin, jotta voit aina vain kopioida sen. Useimmille ihmisille se on yksinkertainen tapa siirtää muotoilu stripboardille ja lisätä nestekidenäyttö. Olen käynyt läpi miten leipälevy, koska prosessi on hyvin samanlainen ja mahdollistaa virheiden korjaamisen ennen kuin teet suunnittelusta pysyvän! Mukana tulevat anturimallit - valo, ääni (paljon enemmän mahdollisia!) Kokonaiskustannukset - alle 25 puntaa (ilman työkaluja) Nestekidenäyttö helpottaa asetusten muuttamista Yhteensopiva Nikonin/Canonin kanssa (koodattu), mahdollinen tuki (testaamaton) Olympukselle/Pentaxille Ei laiteohjelmistoa muutosta tarvitaan Käyttää infrapunaa, joten se on sekä langaton että ei vahingoita kameraasi. Sain idean tähän istuessani ulkona kylmässä napsauttamalla kaukosäädintäni tuntikausia. Tein 8 sekunnin välein noin 1000 laukausta. Ajattelin, hei, se on vain IR -LED, eikö? Miksi en voi toistaa sitä ja tehdä omaa kaukosäädintä, jossa on sisäänrakennettu viive? Sitten huomasin (hieman hämmentyneenä, koska luulin saaneeni valtavan aivoaallon), että tämä on tehty ja aiheeseen liittyy jopa pari ohjeistusta. Minun toteutukseni eroaa useimmista intervalometreistä ja diy -kauko -ohjaimista siinä, että se mahdollistaa paljon mukauttamista ja modulaarisuutta, on yhteensopiva sekä Nikonin/Canonin kanssa (ja todennäköisesti muiden kanssa myöhemmin) ja yhdistää mahdollisuuden ottaa kuva tietyllä laukaisimella. Idea on yksinkertainen. Haluat ottaa kuvan jostain melko nopeasti (rajoitettu tällä hetkellä sulkimen viiveellä, minulle 6 ms). Tähän on useita tapoja: 1. Kokeilu ja erehdys yrität ottaa kuvan oikeaan aikaan 2. Parannettu kokeilu ja erehdys pimeyttää huoneen, laittaa kameran päälle (avata sulkimen) ja laukaista salaman oikeaan aikaan 3. Osta oma liipaisinohjain, jossa on jonkinlainen ääni-/valoanturi kuvan ottamiseksi käskystäsi. 4. Rakenna sellainen itse! Ok, 1 ja 2 sopivat hyvin sekoittamiseen ja voivat tuottaa erittäin hyviä kuvia. Mutta aion näyttää teille, että on mahdollista rakentaa piiri, joka antaa sinulle yhdenmukaiset tulokset kerta toisensa jälkeen. Tärkeintä on, että näinä tiukoina aikoina kustannukset ovat halvempia kuin vaihtoehtoiset mallit (jotkut ihmiset ovat tuottaneet tällaisia asioita tekeviä sarjoja, mutta ne maksavat omaisuuksia, katso linkit). Suunnittelun monipuolisuus on seuraava: Jos anturi tuottaa lähtöjännitteen välillä 0–5 V, voit käyttää sitä kameran käynnistämiseen! Ensinnäkin tämä on tylsä lausunto, mutta kun alat ymmärtää sen vaikutukset, siitä tulee erittäin voimakas. Pelkästään valvomalla jännitetasoa liipaisimesi voi olla valopohjainen (LDR), äänipohjainen (mikrofoni tai ultraääni), lämpötilapohjainen (termistori) tai jopa yksinkertainen potentiometri. Itse asiassa melkein mitä tahansa. Voit jopa linkittää piirin toiseen ohjaimeen ja jos se voi antaa sinulle loogisen lähdön, joten voit laukaista sen. Suunnittelun ainoa merkittävä rajoitus on tällä hetkellä se, että se toimii vain IR-rajapintojen kanssa. Ohjelmiston ja laitteiston muokkaaminen mini-USB: n tai minkä tahansa tarvittavan liitännän kautta olisi melko yksinkertaista. Huomautus: Lähdekoodi: Olen toimittanut joitain sovelluksia vaiheessa 13. Koodi, jota käytän ohjaimessani tällä hetkellä, on siellä heksatiedostossa yhdessä c -päätiedoston ja sen riippuvuuksien kanssa. Voit yksinkertaisesti suorittaa koodini, jos olet epävarma kääntämisestä. Olen sisällyttänyt myös joitakin näytekoodeja, joita voit käyttää eri vaiheissa (ne on nimetty ilmeisesti kuten etätesti, intervallimittaritesti ja adc -testi. Jos viittaan koodiin vaiheessa, kertoimet ovat siinä. EDIT: Päivitys ilmapallot ponnahtavat - näyttää siltä, että olin vähän lyhytnäköinen, kun sanoin, että voit helposti ottaa kuvia pomppivista ilmapalloista. Osoittautuu, että keskimääräisen ilmapallon iho kulkee niin nopeasti, että se on paisunut kokonaan, kun kamera laukaisee. on ongelma useimmissa kameroissa, EI ohjaimessa (joka tunnistaa ADC: n noin 120 kHz: n taajuudella). Tämä tapa on käyttää laukaistua salamaa, mikä on mahdollista, jos lisäät ylimääräisen johdon ja toisen pienen piirin. sanoi, voit teoriassa käyttää jotain muuta ponnahtaaksesi sen ja leikkimään viiveellä (tai jopa muuttamaan viiveen koodin sisältämään mikrosekunnit). 1 m nopeudella 150 ms-1 kulkeva ilmapelletti kestää noin 6-7 ms, tarpeeksi aikaa laukaista ja ampua Pelkkä aseen siirtäminen viittaisi alkeelliseen muutaman mikrosekunnin viiveeseen s. Jälleen pahoittelut tästä, aion leikkiä tänä iltana, jos saan käsiinne joitain ilmapalloja, mutta ääniliipaisimelle on edelleen monia käyttötarkoituksia, kuten ilotulitus! Laitoin alla nopean ja likaisen aikakatkaisun osoittamaan, että se toimii kuitenkin:) Älä unohda lukea, arvioida ja/tai äänestää! Terveisin, JoshVastuuvapauslauseke Siinä epätodennäköisessä tilanteessa, että jokin menee kauhistuttavan pieleen tai jos tiilit kamerasi/hävität kissasi, en ole vastuussa mistään. Aloittamalla projektin tämän ohjeen perusteella hyväksyt sen ja jatkat omalla vastuullasi. Vastaus on tähän mennessä ollut ylivoimainen (ainakin minun standardien mukaan), joten olisi mahtavaa nähdä, miten ihmiset tulkitsevat sitä. Työskentelen version 2 kirjoittamisen aikana;)

Vaihe 1: Joitakin alustavia ajatuksia…

Joten miten aiomme rakentaa tämän? Mikro -ohjain Tämän projektin sydän ja sielu on AVR ATMega8. Se on pohjimmiltaan hieman leikattu versio ATMega168 -sirusta, jota Arduino käyttää. Se on ohjelmoitava C- tai Assembly -muodossa ja siinä on useita todella hyödyllisiä ominaisuuksia, joita voimme hyödyntää. "28 nastaa, joista suurin osa on tulo-/lähtö (i/o)" Sisäänrakennettu analoginen digitaalimuunnin "Pieni virrankulutus "3 sisäänrakennettua ajastinta" Sisäinen tai ulkoinen kellon lähde "Paljon koodikirjastoja ja näytteitä verkossaLiianna paljon nastoja on hyvä. Voimme käyttää liitäntää LCD -näytön kanssa, sisältää 6 painikkeen tuloa ja meillä on vielä tarpeeksi infrapuna -LEDiä kuvaamiseen ja joitakin tilan LED -valoja. aloitin (käyn tämän läpi lyhyesti, mutta on olemassa parempia opetusohjelmia) ja kasoista ja kasoista koodia pohdittavaksi. Viitteenä koodaan tämän projektin C-muodossa AVR-LibC-kirjaston avulla. Olisin voinut helposti mennä PIC: n kanssa tekemään tämän, mutta AVR on tuettu hyvin ja kaikki esimerkit, jotka olen löytänyt kaukosäätimille, ovat olleet AVR-pohjaisia! on kaksi päätyyppiä, graafinen ja aakkosnumeerinen näyttö. Graafisissa näytöissä on resoluutio ja voit laittaa pikseleitä minne haluat. Haittapuoli on, että niitä on vaikeampi koodata (vaikka kirjastoja on olemassa). Aakkosnumeeriset näytöt ovat yksinkertaisesti yksi tai useampi merkkirivi, nestekidenäytössä on perusmerkkien varasto (eli aakkoset, jotkut numerot ja symbolit), ja merkkijonojen tulostaminen on suhteellisen helppoa. Haittapuoli on, että ne eivät ole niin joustavia ja grafiikan näyttäminen on käytännössä mahdotonta, mutta se sopii tarkoitukseemme. Ne ovat myös halvempia! Aakkosnumerot luokitellaan rivien ja sarakkeiden lukumäärän mukaan. 2x16 on melko yleinen, ja siinä on kaksi 16 merkin riviä, joista jokainen on 5x8 -matriisi. Voit saada myös 2x20 s, mutta en näe tarvetta. Valitsin punaisen taustavalaistun nestekidenäytön (haluan käyttää tätä astrologiseen kuvaukseen ja punainen valo on parempi pimeänäköön). Voit mennä ilman taustavaloa - se on täysin sinun valintasi. Jos valitset taustavalaistun reitin, säästät virtaa ja rahaa, mutta saatat tarvita taskulampun pimeässä. Kun etsit nestekidenäyttöä, varmista, että sitä ohjaa HD44780. Se on alan standardiprotokolla, jonka Hitachi on kehittänyt, ja on paljon hyviä kirjastoja, joita voimme käyttää datan tuottamiseen. Ostamani malli oli JHD162A eBaysta. InputInput syötetään painikkeilla (yksinkertainen!). Valitsin 6 -tilan valinnan, ok/ampua ja 4 suuntaa. On myös syytä hankkia toinen pieni painike mikron nollaamiseksi onnettomuuden sattuessa. Täällä voit olla luova tai sääliväinen budjetistasi riippuen. Ultraäänianturit maksavat hieman enemmän ja vaativat lisäohjelmointia, mutta voit tehdä niiden kanssa todella siistejä asioita. Huomaa, että sitä on myös vahvistettava (mutta käyn tämän läpi myöhemmin). Lähtö - Tila Ainoa todellinen ulostulo, jota tarvitsemme, on tila (näytön lisäksi), joten pari LEDiä toimii täällä hyvin. kuvia, meidän on liityttävä kameraan ja sitä varten tarvitsemme valonlähteen, joka voi tuottaa infrapunasäteilyä. Onneksi on olemassa lukuisia LED -valoja, jotka tekevät tämän, ja sinun pitäisi yrittää valita kohtuullisen suuri teho. Valitsemani yksikön virrankulutus on enintään 100 mA (useimmat LEDit ovat noin 30 mA). Infrapunavalo on EM-spektrin pidemmällä aallonpituudella ja sinun pitäisi etsiä arvoa noin 850-950nm. Useimmat IR -LEDit suuntaavat kohti 950 -päätä ja saatat nähdä hieman punaista valoa, kun se on kytketty päälle, tämä ei ole ongelma, mutta spektri on hukassa, joten yritä mennä lähemmäksi 850: tä, jos mahdollista. Tämä? Siitä tulee kannettava, joten akut! Päätin käyttää 2 AA -paristoa, jotka sitten tehostetaan 5V: iin. Käyn läpi tämän taustalla olevat perustelut seuraavissa kohdissa. "Kotelo ja rakentaminen" Kuinka teet tämän bitin, on täysin sinun tehtäväsi. Päätin käyttää piirilevyä piirissä prototyyppien valmistamisen jälkeen, koska se on halpaa ja joustavaa ja säästää mukautetun piirilevyn suunnittelua. Olen toimittanut kaaviot, joten voit vapaasti tehdä oman piirilevyasettelun - vaikka teet niin, olisin kiitollinen, jos saisin kopion! Tapaus on jälleen täysin sinun valintasi, sen on sovittava näyttöön, painikkeisiin (melko intuitiivinen asettelu, jos mahdollista) ja paristot. Piirilevyjen mukaan tämä ei ole niin monimutkainen, monet liitännät ovat yksinkertaisesti asioita, kuten painikkeita/LCD -näyttöä.

Vaihe 2: Virranhallinta

Virranhallinta
Virranhallinta

Virranhallinta Tällaisessa projektissa on selvää, että siirrettävyyden tulisi olla avainasemassa. Akut ovat siis looginen valinta! Nyt kannettaville laitteille on melko tärkeää, että valitset akun, joka on ladattava tai helposti saatavilla. Kaksi päävaihtoehtoa ovat 9 V PP3 -paristo tai AA -paristot. Olen varma, että jotkut ihmiset olettavat, että 9 V: n akku on paras vaihtoehto, koska hei, 9 V on parempi kuin 3, eikö? Vaikka 9 V: n paristot ovat erittäin hyödyllisiä, ne tuottavat jännitteen akun käyttöiän kustannuksella. MAh (milliampeerituntina) mitattuna tämä luokitus kertoo teoriassa kuinka kauan akku kestää 1 mA: n tuntimäärän (vaikka otat sen ripauksella suolaa, nämä ovat usein ihanteellisissa, pienissä kuormitusolosuhteissa). Mitä korkeampi luokitus, sitä kauemmin akku kestää. 9 V: n akkujen kapasiteetti on noin 1000 mAh. Toisaalta alkalisissa AA -laitteissa on lähes kolme kertaa enemmän kuin 2900 mAh. NiMH -ladattavat akut voivat saavuttaa tämän, vaikka 2500 mAh on kohtuullinen määrä (huomaa, että ladattavat paristot toimivat 1,2 V: n eikä 1,5!: N jännitteellä). vaikka se voi olla jopa 2,7 matalien taajuuksien kellonopeuksilla). Tarvitsemme myös melko vakaan jännitteen, jos se vaihtelee sen suhteen, se voi aiheuttaa ongelmia mikrokontrollerin kanssa. Sinulla on mahdollisuus käyttää yksinkertaista 3-nastaista jännitesäädintä, kuten LM7805 (78-sarja, +5 voltin lähtö) tai pieni integroitu piiri. Yksinkertaisen säätimen käyttö Jos valitset tämän vaihtoehdon, sinun on pidettävä muutama kohta mielessä. Ensinnäkin kolme nastaista säädintä tarvitsevat lähes aina tuloa, joka on suurempi kuin niiden lähtö. Sitten ne laskevat jännitteen haluttuun arvoon. Haittapuoli on, että niillä on kauhea tehokkuus (50-60% on hyvä). Huonona puolena on, että ne ovat halpoja ja toimivat 9 V: n akulla, voit noutaa perusmallin 20 penniä Isossa -Britanniassa. Sinun on myös pidettävä mielessä, että säätimillä on katkaisujännite - pienin ero tulon ja lähdön välillä. Voit ostaa erityisiä LDO (Low DropOut) -säätimiä, joiden keskeytykset ovat noin 50 mV (verrattuna 1-2 V: iin muissa malleissa). Toisin sanoen varo LDO -laitteita, joissa on +5 V: n ulostulo. Nämä ovat meidän tarkoituksemme normaalisti 8 -nastaiset paketit, jotka ottavat jännitteen ja antavat meille säädetyn lähdön suurella hyötysuhteella - joissakin tapauksissa lähes 90%. Voit saada tehostavia tai pienentäviä muuntimia (boost/buck) riippuen siitä, mitä haluat lisätä, tai vaihtoehtoisesti voit ostaa säätimiä, jotka vievät halutun tehon ylä- tai alapuolelle. MAX619+. Se on 5 V: n tehostussäädin, joka ottaa 2 AA: ta (tuloalue on 2 V-3,3 V) ja antaa tasaisen 5 V: n ulostulon. Se tarvitsee vain neljä kondensaattoria toimiakseen ja on erittäin tilaa säästävä. Hinta - 3,00 € sisältäen korkit. Epäilemättä se kannattaa tuhlata vain saadaksesi enemmän hyötyä paristoistasi. Ainoa merkittävä haittapuoli on, että se ei ole oikosulkusuojattu, joten jos virta on ylijännite, varoita! Tämä on kuitenkin kohtuullisen triviaalia korjata lisäpiirillä: Toinen hyödyllinen sirumuotoilu - vaikkakaan ei läheskään yhtä siisti ratkaisu on LT1307. Jälleen 5V -säädin, mutta se voi viedä erilaisia tuloja ja sisältää hyödyllisiä asioita, kuten alhaisen akun havaitsemisen. Se maksaa melko paljon enemmän, lähes 5, induktorit, suuret kondensaattorit ja vastukset. Ensimmäinen on akun 3V, jota käytetään LEDien ja muiden suhteellisen suuritehoisten komponenttien virransyöttöön. Oma MAX619 on mitoitettu vain 60 mA: iin (vaikka absoluuttinen maksimi on 120 mA), joten mikrokontrollerin liittäminen MOSFETiin on helpompaa LEDien ohjaamiseksi. MOSFET ei ota lähes mitään virtaa ja toimii katkona piirissä, kun portin tulo on alle noin 3 V. Kun mikro -ohjain lähettää loogisen 1 nastasta, jännite on 5 V ja FET kytkeytyy päälle, jolloin se toimii vain oikosulkuna (eli johdinpala). Virrankulutus Jos tarkastelemme erilaisia tietolomakkeita, huomaamme, että AVR kestää enintään 15-20 mA maksimikuormalla. Nestekidenäytön toiminta kestää vain 1 mA (ainakin testatessani budjetti 2). Kun taustavalo on päällä, voit itse päättää. Liittäminen suoraan 5V -kiskoon (yritin) on hyvä, mutta varmista, että siinä on sisäinen vastus (seuraa piirilevyn jälkiä) ennen kuin teet sen. Se veti 30 mA niin - kauheaa! 3.3k: n vastuksella se on edelleen katseltavissa (täydellinen astrokuvaukseen) ja kuluttaa vain 1 mA. Voit silti saada kunnon kirkkauden käyttämällä 1k tai muuten. Minulla on hyvä piirtää hieman alle 2 mA taustavalolla! Jos haluat, kirkkauden säätönupin lisääminen 10k potentiometrillä on vähäpätöistä. IR -LED saattaa kestää enintään 100 mA, mutta minulla on ollut hyviä tuloksia 60 mA: n koko kaivoksella (kokeilu!). Voit sitten puolittaa tämän virran, koska käytät tehokkaasti 50%: n käyttöjaksoa (kun LED on moduloitu). Joka tapauksessa se on päällä vain murto -sekunnin ajan, joten meidän ei tarvitse huolehtia tästä. pienitehoisille LEDeille (lukuun ottamatta IR -valoa), et suunnittele taskulamppua! Päätin olla lisäämättä virtamittaria piiriini yksinkertaisesti siksi, että se on paljon virrankulutusta, ei paljon käyttöä. Käytä virtakytkintä tarkistaaksesi, onko se päällä! Kaiken kaikkiaan sinun ei pitäisi käyttää enempää kuin 30 mA kerrallaan ja teoreettinen syöttö on noin 2500 mAh (joka mahdollistaa vaihtelun), jonka pitäisi antaa sinulle reilusti yli 80 tuntia suoraan kaiken kanssa. Suorittimen ollessa joutokäynnillä suurimman osan ajasta tämä ainakin kaksinkertaistuu/kolminkertaistuu, joten sinun ei tarvitse vaihtaa paristoja kovin usein. Voit joko mennä halvalla ja iloiseksi 9 V: n akulla ja LDO -säätimellä tehokkuuden kustannuksella tai maksaa hieman enemmän ja käyttää siihen omaa IC: tä. Budjettini oli edelleen alle -20 jopa IC: n kanssa, joten voit pudottaa sen vielä pidemmälle, jos tarvitset.

Vaihe 3: Tarkemmin ATmega8

Katso lähemmin ATmega8
Katso lähemmin ATmega8

PinsImage 1 on ATMega8: n pinout -kaavio (täsmälleen sama kuin 168/48/88, ainoa ero on sisäisen muistin määrä ja keskeytysvaihtoehdot). looginen 1). Jos laite on maadoitettu, laite nollautuu pehmeästi Pin 2-6 - Portti D, yleinen tulo/lähtö Pin 7 - VCC, syöttöjännite (+5 V meille) Nasta 8 - GroundPin 9, 10 - XTAL, ulkoiset kellotulot (osa porttia B) Nasta 11 - 13 Portti D, yleinen tulo/lähtö Pin 14 - 19 Portti B, yleinen tulo/lähtö Pin 20 - AVCC, analoginen syöttöjännite (sama kuin VCC) Nasta 21 - AREF, analoginen jänniteohje Pin 22 - GroundPin 23-28 Port C, yleinen tulo/lähtö Käytettävät i/o -portit: D = 8, C = 6, B = 6A yhteensä 20 käyttökelpoista porttia on suuri, yksinkertaisuuden vuoksi sinun tulee ryhmitellä lähdöt joko portteihin (esim. D lähtöportiksi) tai ryhmät pöydällä - saatat haluta, että nestekidenäyttö toimii portista C vain pitääkseen johdot siistinä tässä kulmassa. Ohjelmointiin tarvitaan kolme ylimääräistä nastaa. Nämä ovat MISO (18), MOSI (17) ja SCK (19). Nämä toimivat kuitenkin mielellään i/o -nastoina, jos niitä tarvitaan. Kaikissa AVR -laitteissa on sisäinen oskillaattori, josta siru voi saada kellonsa. Tämän haittapuoli on, että ne voivat vaihdella noin 10% lämpötilan/paineen/kosteuden mukaan. Voimme torjua tätä käyttämällä ulkoista kvartsikiteitä. Näitä on saatavana 32768 kHz (kello) - 20 MHz. Olen valinnut käyttää 4Mhz kristallia, koska se tarjoaa kunnollisen nopeuden, mutta on kuitenkin melko konservatiivinen verrattuna ehkä 8Mhz+: een. Itse asiassa kirjoitin ensimmäisen version, joka luotti voimakkaasti suorittimen joutokäyntiin ajan kulumisen aikana. Valitettavasti aikarajoitusten vuoksi törmäsin joihinkin ongelmiin kellon käyttämisessä ulkoisesti ja keskeyttämällä ajastimet. Pohjimmiltaan minun olisi kirjoitettava koodi uudelleen, jotta ohjain ei yksinkertaisesti heräisi - mitä voisin tehdä, mutta aika on minua vastaan. Laite kuluttaa vain 20 mA: n ishin, joten voit päästä eroon siitä. Jos olet todella valmis siihen, niin kaikin keinoin viilaat koodia, sinun tarvitsee vain kelloa sisäisesti ja ajaa sitten ajastin 2 asynkronisessa tilassa käyttämällä 4 MHz: n kristallia tarkempien viiveiden saamiseksi. Se on yksinkertaista tehdä, mutta aikaa vievää ADC AVR -työkalusarjan sveitsiläisen armeijan veitsi ADC tarkoittaa analogista digitaalimuunninta. Toiminta on ulkoisesti suhteellisen yksinkertaista. Jännite näytteistetään tapista (jostakin anturista tai muusta tulosta), jännite muunnetaan digitaaliseksi arvoksi välillä 0 ja 1024. Arvo 1024 havaitaan, kun tulojännite on yhtä suuri kuin ADC -vertailujännite. Jos asetamme viittauksemme VCC (+5V), niin jokainen jako on 5/1024 V tai noin 5 mV. Näin ollen 5 mV: n lisäys tapissa lisää ADC -arvoa yhdellä. Voimme ottaa ADC: n lähtöarvon muuttujana ja sitten viipyä sen kanssa, verrata sitä asioihin jne. Koodissa. ADC on uskomattoman hyödyllinen toiminto, ja sen avulla voit tehdä paljon hienoja asioita, kuten muuttaa AVR: si oskilloskoopiksi. Näytteenottotaajuus on noin 125 kHz, ja se on asetettava suhteessa pääkellotaajuuteen. Rekisteri on yksinkertaisesti kokoelma osoitteita (sijainteja) AVR -muistissa. Rekisterit luokitellaan niiden bittikoon mukaan. 7 -bittisessä rekisterissä on 8 sijaintia, koska aloitamme nollasta. On olemassa rekistereitä melkein kaikelle, ja tarkastelemme niitä myöhemmin paljon yksityiskohtaisemmin. Joitakin esimerkkejä ovat PORTx -rekisterit (missä x on B, C tai D), jotka ohjaavat, onko nasta asetettu korkealle vai matalalle ja asettaa syöttövastuksia tuloille, DDRx -rekisterit, jotka määrittävät, onko nasta ulostulo vai tulo ja niin edelleen. Datasheet - Kirjallisuuden helmi, joka painaa noin 400 sivua; AVR -tietolomakkeet ovat korvaamaton viittaus suorittimeesi. Ne sisältävät tietoja jokaisesta rekisteristä, jokaisesta nastasta, ajastimien toiminnasta, mitä sulakkeita pitäisi asettaa mihin ja paljon muuta. Ne ovat ilmaisia ja tarvitset niitä ennemmin tai myöhemmin, joten lataa kopio! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Vaihe 4: Nastat

Nastat
Nastat

Mainitsin jo tarvitsemamme tulot ja lähdöt, joten meidän pitäisi jakaa ne nastat! Nyt PORT D: ssä on 8 nastaa, mikä on kätevää, koska se voi toimia lähtöporttina. Nestekidenäytön toiminta edellyttää 7 nastaa - 4 datanastausta ja 3 ohjaustappia. IR -LED vaatii vain yhden nastan, joten se muodostaa 8. PORTB: stä tulee painikeportti, siinä on 6 tuloa, mutta tarvitsemme vain 5. Nämä ovat tila- ja suuntapainikkeet. erityinen, se on ADC -portti. Tarvitsemme vain yhden nastan liipaisutulolle, ja on järkevää laittaa se PC0: lle (yleinen lyhenne portin nastoista tässä tapauksessa Portti C, nasta 0). Meillä on sitten pari nastaa tilan merkkivaloille (toinen syttyy, kun ADC -arvo on jonkin tilan yläpuolella, toinen syttyy, kun se on jonkin tilan alapuolella). Laitamme myös ok/shoot -painikkeemme tänne, syistä, jotka selviävät myöhemmin. Kaiken tämän jälkeen olemme käyttäneet suurimman osan porteista, mutta meillä on vielä muutama jäljellä, jos haluat laajentaa projektia - ehkä useita laukaisimia?

Vaihe 5: Yhteydenpito kameran kanssa

Viestintä kameran kanssa
Viestintä kameran kanssa
Viestintä kameran kanssa
Viestintä kameran kanssa

Ensimmäinen palkinto Digital Days -valokuvakilpailussa

Suositeltava: