Sisukord:

Pimp My Cam: 14 sammu (piltidega)
Pimp My Cam: 14 sammu (piltidega)

Video: Pimp My Cam: 14 sammu (piltidega)

Video: Pimp My Cam: 14 sammu (piltidega)
Video: НОЧЬЮ САМО ЗЛО ПРИХОДИТ В ЭТОТ ДОМ / AT NIGHT, EVIL ITSELF COMES TO THIS HOUSE 2024, November
Anonim
Pimp My Cam
Pimp My Cam

Siin on see projekt pärit.

Mõni aeg tagasi mõtlesin mõne ajavahemiku filmimise peale. "Kuidas?" Küsisin endalt? Esimene vastus oli "Noh.. sa lihtsalt filmid midagi ja kiirendad seda ja ongi kõik". Aga kas see on tõesti nii lihtne? Esiteks tahan ma selleks kasutada oma DSLR -i ja minu Nikon D3100 -l on video filmimiseks 10 -minutiline ajapiirang. Teiseks, isegi kui mul oleks video filmimise ajal ajapiiranguta kaamera, mis siis, kui ma tahan teha tõeliselt pika ajavahemiku, näiteks 12 tundi? Teen 12 -tunnist 1080p videot. Ma kahtlen, et aku nii kaua vastu peaks ja see pole eriti praktiline? Olgu, "filmivideo idee" ületamine. No siis on pilte. Pildistamine kaameraga teatud ajavahemiku järel ja lõpuks sadu pilte, mida ma video tegemiseks tarkvara kaudu töötlen..?

See tundus okei idee, nii et otsustasin seda proovida. Nii et lõpuks tahtsin teha seadme, millesse saaksin sisestada ajavahemiku, ja selle perioodi põhjal käivitaks see mu kaamera pidevalt. Ja kui me selle juures oleme, siis miks mitte lisada muid asju, näiteks liikumise käivitaja ja nii edasi?

1. samm: Aga.. Kuidas?

Aga kuidas?
Aga kuidas?

KUIDAS? on meie järgmine küsimus, millele pole vastust. Ajastuse, käivitamise, andurite ja muude asjade tõttu pole üllatav, et esimene, mis pähe tuli, oli muidugi Arduino. Olgu, aga siiski peame õppima, kuidas oma kaamera katikut käivitada. Hm.. servo kuum liimitud kehakaamera külge? Absoluutselt mitte, me tahame, et see oleks vaikne ja energiatõhus. Energiatõhus - miks? Kuna ma tahan selle kaasaskantavaks muuta ja sinna aku lisada, ei ole ma iga kord toitepistiku lähedal. Niisiis, kuidas me selle siis käivitame.. see on tegelikult üsna lihtne.

Nikon teadis juba varem, et soovite kaugjuhtimispulti ja muid tarvikuid, ja nad ütlesid: "okei, me anname neile kõik selle, aga teeme spetsiaalse pordi, et saaksime nende lisaseadmetega rohkem raha teenida", häbi teile. Seda porti nimetatakse (minu puhul) MC-DC2-ks ja odavaim viis selle kätte saada on osta eBayst 2-3 $ eest kaugkatted ja lihtsalt kasutada kaablit.

*Mõnedel teistel kaameratel, näiteks Canonil, on lihtne 3,5 mm kõrvaklappide pesa, mis on valmistatud samale otstarbele, nii et saate kasutada vanade kõlarite/kõrvaklappide kaablit.

2. samm: kaamera käivitamise õppimine

Image
Image
Võimalused käivitamiseks
Võimalused käivitamiseks

Igatahes, siin on tehing, pordil on 3 ühendust, mis pakuvad meile huvi (Ground, Focus ja Shutter) ning teil on need äsja ostetud kaugkattete kaabli otsas. Need kolm ühendust on meie jaoks olulised, sest kui teeme maa ja fookuse lühikeseks, teravustab kaamera täpselt nii, nagu te vajutate teravustamisnuppu, ja siis, kui see ühendus püsib, saate maa ja katiku lühistada ning kaamera teeb pildi just nagu oleks vajutanud kaamera päästikule.

Saate seda testida, lühendades sõna otseses mõttes kaabli otsas olevaid pingestatud juhtmeid, et teha kindlaks, milline traat on. Kui olete seda teinud, värvime need hõlpsamaks tuvastamiseks järgmiselt:

Maa = MUST; Fookus = VALGE; Katik = PUNANE.

Olgu, nüüd peame õpetama Arduinot seda meie eest tegema.

3. samm: käivitusviisid

Image
Image

Lihtsaim asi, mida saame Arduinole välismaailma saata, on selle digitaalne väljundsignaal. See signaal võib olla kas HIGH (loogiline '1') või LOW (loogiline '0'), seega nimi "digitaalne", või teisendades selle põhitähenduseks: 5V loogilise HIGH jaoks ja 0V loogilise LOW jaoks.

Mida me selle digitaalsignaaliga peale hakkame? Me ei saa neid lihtsalt kaameraga ühendada ja oodata, et kaamera teab, mida me tahame. Nagu nägime, peame kaamera reageerimiseks lühendama ühendusi, nii et peame kasutama Arduino digitaalseid signaale, et juhtida mõningaid komponente, mis võivad nende klemmid lühistada sõltuvalt nendest saadetud elektrisignaalidest. *Nii nagu ma seda kirjeldasin, võite mõelda "Ah, releed!" aga ei ei. Relee teeks selle töö ära, kuid me tegeleme nii väikeste vooludega, et saame hõlpsasti kasutada pooljuhtide musta maagiat.

Esimene komponent, mida proovin, on optron. Olen näinud, et neid on selleks kõige rohkem rakendatud ja see on ilmselt parim lahendus. Optoelement on elektriline komponent, millega saate juhtida väljundahelat, kui sisendahel on sellest täielikult isoleeritud. See saavutatakse teabe edastamisega valguse kaudu, sisendahel süttib LED -i ja väljundi fototransistor lülitub vastavalt.

Nii et me kasutame optronit sel viisil: me ütleme oma Arduinole, et ta saadaks digitaalse HIGH ühele, kui see on digitaalne tihvt, see signaal on praktiliselt 5 V, mis juhib optroni sees olevat LED -i ja selle sees olevat fototransistorit "lühikeseks" see on väljundklemmid, kui see seda valgust tuvastab, ja vastupidi, see "eraldab" selle klemmid, kuna LED -ilt ei tule valgust, kui saadame digitaalse LOW läbi Arduino.

Praktiliselt tähendab see seda: üks Arduino digitaalsetest tihvtidest on kinnitatud optroni ANODE -tihvti külge, Arduino GND on kinnitatud CATHODE -i, kaamera GND on EMITTER -i ja FOCUS (või SHUTTER) KOGUJA külge. Nende tihvtide leidmiseks vaadake kasutatava optroni andmelehelt. Ma kasutan 4N35, et saaksite minu skeemi pimesi järgida, kui te ei hooli sellest, mis toimub optroni sees. Ütlematagi selge, et meil on neid kahte vaja, kuna peame juhtima nii kaamera fookust kui ka katikut.

Kuna me nägime, kuidas see töötab, väljundis on fototransistor, siis miks me ei prooviks seda ainult lihtsa NPN -transistoriga. Seekord toome digitaalse signaali otse (üle takisti) transistori alusele ja ühendame nii kaamera kui ka Arduino GND emitteriga ja kaamera fookuse/katiku transistori kollektoriga.

Jällegi vajame neid kahte, kuna kontrollime kahte signaali. Ma kasutan BC547B -d ja selle jaoks saate põhimõtteliselt kasutada mis tahes NPN -i, kuna meie kontrollitav vool on üks milliamper.

Mõlemad komponendid töötavad, kuid optroni valimine on ilmselt parem mõte, sest see on turvalisem. Valige transistorid ainult siis, kui teate, mida teete.

4. samm: käivituskoodi kirjutamine

Image
Image
Käivitamise koodi kirjutamine
Käivitamise koodi kirjutamine

Nagu me varem ütlesime, kasutame signaalimiseks Arduino digitaalseid tihvte. Arduino saab neid kasutada nii andmete lugemiseks kui ka sinna kirjutamiseks, nii et esimene asi, mida peame tegema, on täpsustada funktsioonis setup (), et kasutame väljundi jaoks kahte Arduino digitaalset tihvti:

pinMode (FOCUS_PIN, VÄLJUND);

pinMode (SHUTTER_PIN, VÄLJUND);

kus FOCUS_PIN ja SHUTTER_PIN saab määratleda väärtusega "#define NAME value" või int -ina enne funktsiooni setup (), kuna võite nööpnõela muuta, nii et pärast seda on lihtsam muuta väärtust ainult ühes kohas, mitte kogu koodis.

Järgmine asi, mida me teeme, on kirjutada käivitusfunktsioon (), mis teeb seda käivitamisel. Lisan koodiga pildi. Kõik, mida peate teadma, on see, et kõigepealt hoiame FOCUS_PIN teatud aja jooksul KÕRGEL, kuna peame ootama, kuni kaamera keskendub objektile, millele me selle suuname, ja seejärel vaid hetke (kui FOCUS_PIN on endiselt KÕRGE) pange SHUTTER_PIN HIGH lihtsalt pildistamiseks.

Lisasin ka võimaluse teravustamise vahele jätta, sest seda pole vaja, kui pildistame ajavahemikku millestki, mis ei muuda selle kaugust kaamerast aja jooksul.

5. samm: klasside intervall {};

Image
Image
Intervalliga manipuleerimine Arduino kaudu
Intervalliga manipuleerimine Arduino kaudu

Nüüd, kui oleme kaamera käivitanud, peame selle intervallomeetriks muutma, lisades kahe võtte vahelise ajavahemiku manipuleerimise funktsionaalsuse. Lihtsalt selleks, et saaksite pildi sellest, mida me teeme, on siin mõned primitiivsed koodid soovitud funktsionaalsuse demonstreerimiseks:

void loop () {

viivitus (intervall); päästik (); }

Ma tahan, et saaksin seda intervalli muuta näiteks 5 sekundist kuni 20-30 minutini. Ja siin on probleem, kui ma tahan muuta seda 5 -lt 16 -le või midagi vahepealset, kasutan 1 -sekundilist sammu, kus iga minu intervallide suurendamise taotluse korral suureneb intervall 1 sekundiga. See on suurepärane, aga mis siis, kui ma tahan minna 5 sekundilt 5 minutile? Selleks kuluks mul 295 taotlust 1 -sekundiliste sammudega, nii et ilmselgelt pean suurendama juurdekasvu väärtust millekski suuremaks ja ma pean määratlema, millise täpse intervalli väärtuse (läve) korral sammu muuta. Ma rakendasin seda:

5s-60s: 1s juurdekasv; 60s-300s: sammuga 10s; 300–3600: 60 sammuga;

aga ma kirjutasin selle klassi reguleeritavaks, et saaksite ise oma künnised ja juurdekasvud määrata (kõik on.h -failis kommenteeritud, et saaksite teada, milliseid väärtusi muuta).

Näide, mille olen intervallidega manipuleerinud, on ilmselgelt tehtud arvutis, nüüd peame selle Arduinole üle viima. Kogu see klass, Intervall, on paigutatud ühte päisefaili, mida kasutatakse meie klassi/funktsioonide deklaratsioonide ja definitsioonide (mitte tegelikult, kuid seda saab selles näites teha ilma kahju tegemata) salvestamiseks. Selle päisefaili tutvustamiseks meie arduino koodile kasutame "#include" Interval.h "" (failid peavad olema samas kataloogis), mis tagab, et saame kasutada päisefailis määratletud funktsioone meie põhikoodis.

Samm: intervallide manipuleerimine Arduino kaudu

Image
Image
Intervalliga manipuleerimine Arduino kaudu
Intervalliga manipuleerimine Arduino kaudu
Intervalliga manipuleerimine Arduino kaudu
Intervalliga manipuleerimine Arduino kaudu

Nüüd tahame, et oleks võimalik intervalli väärtust muuta, seda kas suurendada või vähendada. See on kaks asja, nii et kasutame kahte digitaalset signaali, mida juhitakse kahe nupuga. Loeme korduvalt nuppudele määratud digitaalsete tihvtide väärtusi ja parsime need väärtused funktsiooni checkButtons (int, int); mis pikendab intervalli, kui vajutada nuppu "üles" ja vähendada intervalli, kui nupp "alla". Samuti muudab mõlema nupu vajutamisel muutuva fookuse väärtust, mis reguleerib käivitamise ajal teravustamist või mitte.

Osa koodist ((millis () - prevBtnPress)> = debounceTime) kasutatakse tühistamiseks. See, kuidas ma selle kirjutasin, tähendab, et registreerin esimese nupuvajutuse loogilise muutujaga btnPressed ja mäletan selle toimumise aega. Ma ootan teatud aja (debounceTime) ja kui nuppu ikka vajutatakse, reageerin. See teeb ka pausi iga teise nupuvajutuse vahel, nii et see väldib korduvaid vajutusi seal, kus neid ei tehta.

Ja lõpuks koos:

if ((millis () - prevTrigger) / 1000> = interval.getVal ()) {

prevTrigger = millis (); päästik (); }

Esiteks kontrollime, kas ajavahemik viimase käivitamise (prevTrigger) ja praeguse aja (millis ()) vahel (kõik on jagatud 1000 -ga, kuna see on millisekundites ja intervall on sekundites) on võrdne või suurem kui intervall me tahame, ja kui see nii on, mäletame praegust kellaaega kui viimast korda kaamera käivitamist ja seejärel käivitame selle.

Selle komplektiga tegime põhimõtteliselt intervalomeetri, kuid me pole kaugeltki lõppenud. Me ei näe endiselt intervalomeetri väärtust. Seda kuvatakse ainult jadamonitoril ja me ei asu alati arvuti lähedal, nii et nüüd rakendame midagi, mis näitab meile intervalli selle muutmisel.

Samm: intervalli kuvamine

Image
Image
Intervalli kuvamine
Intervalli kuvamine
Intervalli kuvamine
Intervalli kuvamine
Intervalli kuvamine
Intervalli kuvamine

Siin tutvustame ekraani. Kasutasin neljakohalist moodulit, mida juhib TM1637, sest pean seda kasutama ainult aja kuvamiseks ja mitte millekski muuks. Lihtsaim viis nende Arduino jaoks loodud moodulite kasutamiseks on kasutada nende jaoks juba loodud teeke. Arduino saidil on leht, mis kirjeldab TM1673 kiipi ja link soovitatud kogule. Laadisin selle raamatukogu alla ja neid teeke saab Arduino IDE -le tutvustada kahel viisil:

  1. Arduino tarkvarast minge visandile> Kaasa raamatukogu> Lisa. ZIP -teek ja leidke äsja alla laaditud.zip -fail
  2. saate teha seda, mida Arduino teeb käsitsi, ja lihtsalt lahti pakkida raamatukogu kaustas, kuhu Arduino teegid salvestab, Windowsis: C: / Users / User / Documents / Arduino / libraries \.

Kui olete raamatukogu lisanud, peaksite lugema faili "ReadMe", kust leiate erinevate funktsioonide kokkuvõtte. Mõnikord sellest ei piisa, nii et soovite minna veidi sügavamale ja uurida päisefaile, milles näete, kuidas funktsioone rakendatakse ja mida nad sisendargumentidena nõuavad. Loomulikult pakub parim viis raamatukogu võimete tundmaõppimiseks tavaliselt näidet, mida saate Arduino tarkvarast käivitada menüüst Fail> Näited> Raamatukogu nimi> NäiteNimi. See raamatukogu pakub ühte näidet, mida soovitan teil ekraanil käivitada, et näha, kas teie ekraan töötab korralikult, ning soovitan teil näites näidatud koodi kohandada ja veenduda, mida iga funktsioon teeb ja kuidas ekraan reageerib seda. Olen seda teinud ja sain aru:

see kasutab iga numbri jaoks nelja allkirjata 8 -bitist täisarvu (0bB7, B6, B5, B4, B3, B2, B1, B0). Ja kõiki neid bitte B6-B0 kasutatakse kindla numbri iga segmendi jaoks ja kui bitt on 1, süttib selle juhitav segment. Need täisarvud salvestatakse massiivi nimega data . Nende bittide seadistamine kuvarile toimub display.setSegments (andmed); või pääsete loomulikult juurde mis tahes numbritele ja määrate need käsitsi (andmed [0] = 0b01111001) või saate kasutada funktsiooni encodeDigit (int); ja teisendage saadetud number bittideks (andmed [0] = display.encodeDigit (3));. Bitti B7 kasutab käärsoole aktiveerimiseks ainult teine number ehk andmed [1].

Kuna kirjutasin INTERVAL klassi nõia funktsioonid, mille abil saan intervallist teatud numbrid kujul M1M0: S1S0, kus M tähistab minuteid ja S sekundeid, on loomulik, et kasutan encodeDigitFunction (int); intervalli kuvamiseks nii:

displayInterval () {

andmed [0] = display.encodeDigit (interval.getM1 ()); andmed [1] = 0x80 | display.encodeDigit (interval.getM0 ()); andmed [2] = display.encodeDigit (interval.getS1 ()); andmed [3] = display.encodeDigit (interval.getS0 ()); display.setSegments (andmed); }

Nüüd, kui mul on vaja intervalli ekraanile kuvada, võin helistada funktsioonile displayInterval ().

*Pange tähele andmeid "1x80 |…" [1]. Seda kasutatakse tagamaks, et andmete bitti B7 [1] on alati 1, nii et koolon süttib.

Viimane asi ekraani, energiatarbimise kohta. Sellel ei pruugi olla suurt tähtsust, kuna me ei hoia seda pikka aega sisse lülitatud, kuid kui soovite seda veelgi akusõbralikumaks muuta, siis kaaluge ekraani heleduse vähendamist, kuna see võtab maksimaalse heleduse juures 3 korda rohkem voolu kui kõige madalamal.

8. samm: pange see kõik kokku

Kõike kokku panema
Kõike kokku panema

Me teame, kuidas käivitada kaamera, kuidas manipuleerida intervalliga ja kuidas sama intervalli ekraanile kuvada. Nüüd peame lihtsalt kõik need asjad kokku ühendama. Alustame muidugi funktsioonist loop (). Kontrollime pidevalt nupuvajutusi ja reageerime sellele vastavalt nuppudega check (int, int) ning muudame vastavalt intervalli ja kuvame muudetud intervalli. Ka tsüklis () kontrollime pidevalt, kas viimasest käivitamisest või nupuvajutusest on möödunud piisavalt aega ja vajadusel kutsume päästiku () funktsiooni. Väiksema energiatarbimise huvides lülitame ekraani mõne aja pärast välja.

Lisasin kahevärvilise LED-i (punane ja roheline, tavaline katood), mis süttib päästiku () ajal roheliselt ja süttib koos ekraaniga punaselt, kui teravustamine on sisse lülitatud ja jääb teravustamise korral välja väljas.

Samuti läheme üle veelgi väiksemale Arduino Pro Mini -le.

9. samm: lisage viimane asi

Viimase asja lisamine
Viimase asja lisamine
Viimase asja lisamine
Viimase asja lisamine
Viimase asja lisamine
Viimase asja lisamine

Siiani oleme loonud ainult intervalomeetri. Kasulik, kuid saame paremini.

Ma pidasin silmas järgmist: intervalomeeter teeb seda vaikimisi, VÄLJA arvatud siis, kui kinnitame mingisuguse välise lüliti/anduri, mis seejärel peatab intervalomeetri ja reageerib lüliti/anduri sisendile. Nimetagem seda anduriks, see ei pruugi olla andur, mis on ühendatud, kuid ma nimetan seda nii.

Esiteks, kuidas me tuvastame, et oleme anduri kinnitanud?

Andurid, mida me kasutame/valmistame, vajavad kolme juhet, mis ühendavad need arduinoga (Vcc, GND, Signal). See tähendab, et võime kasutada anduri sisendpesana 3,5 mm helipistikut. Ja kuidas see meie probleemi lahendab? Noh, on olemas 3,5 mm pistikuga pistikupesad, millel on lüliti, millel on tihvtid, mis on lühised pistiku tihvtidega, kui neis pole pistikut, ja need eralduvad, kui pistik on olemas. See tähendab, et meil on teave, mis põhineb anduri olemasolul. Kasutan pildil tõmbetakistit nagu näidatud (digitaalne tihvt loeb ilma andurita KÕRGE ja LOW, kui andur on kinnitatud) või võite digitaalse tihvti külge kinnitada ka tavaliselt oleva pistiku tihvti ühendage see maaga ja määrake see digitaalne tihvt INPUT_PULLUP, see töötab mõlemal viisil. Nüüd peame oma koodi muutma, nii et see teeks kõik, mida me seni oleme kirjutanud, ainult siis, kui andurit pole olemas või kui digitaalse tihvti kontrollimine on KÕRGE. Muutsin seda ka nii, et see näitaks ekraanil "SENS" selle intervalli asemel, mis on selles režiimis kasutu, kuid teravustamine on meie jaoks endiselt asjakohane, säilitame funktsionaalsuse, mis hõlmab teravustamise vaheldumist mõlema nupu ja näitab fookusolekut punase LED -i kaudu.

Mida andur tegelikult teeb?

Kõik, mida selleks vaja on, on panna kaamerale käivitamiseks signaalipistikule 5V. See tähendab, et meil on vaja veel ühte Arduino digitaalset tihvti, mis kontrollib selle tihvti olekut ja kui see registreerib HIGH, pole vaja teha muud, kui helistada päästikule () ja kaamera teeb pildi. Lihtsaim näide ja see, mida me selle toimimise kontrollimiseks kasutame, on lihtne nupp, millel on allalaaditav takisti. Kinnitage nupp anduri Vcc ja signaali tihvti vahele ning lisage signaaltihvti ja GND vahele takisti, nii on signaaltihvt GND peal, kui nuppu ei vajutata, kuna takisti kaudu ei voola voolu ja kui nuppu vajutades paneme signaalipoldi otse HIGH -le ja Arduino loeb seda ning käivitab kaamera.

Sellega lõpetasime koodi kirjutamise.

*Tahaksin märkida mõningaid probleeme, mida mul oli kasutatud helipistikutega. Pistikupesa pistikusse pistmisel võivad GND ja üks kahest muust tihvtist mõnikord lühis olla. See juhtub koheselt ja ainult pistiku sisestamise ajal, kuid see on siiski piisavalt pikk, et Arduino saaks lühikese registreerida, et Arduino lihtsalt taaskäivitaks. Seda ei juhtu nii sageli, kuid see võib siiski olla ohtlik ja Arduino võib hävitada, nii et vältige kasutatud pistikuid.

Samm 10: Sisaldab Messi

Sisaldab Messi
Sisaldab Messi
Sisaldab Messi
Sisaldab Messi
Sisaldab Messi
Sisaldab Messi
Sisaldab Messi
Sisaldab Messi

Piltidelt näete, et leivaplaat läheb sassi ja oleme valmis, nii et peame kõik üle kandma plaadile/PCB -le. Ma valisin PCB -d, sest arvan, et hakkan neid rohkem tegema, et saaksin neid hõlpsalt paljundada.

Kasutasin trükkplaadi kujundamisel Eagle'i ja leidsin kõikide kasutatud osade kujundused. Minu disainis on üks pisike asi, mida ma soovin, et ma poleks teinud, ja see on ekraani Vcc traadipadi. Olen seda liiga hilja näinud ja ei tahtnud rikkuda seda, mida ma varem kavandasin, ja lisasin laisa viisi, lisades traatpadjakesi ja hiljem pidin neile ühendustele vaskjälgede asemel traati lisama, nii et kui kasutate kaevandust,.

Arduino plaat ja ekraan on PCB -ga ühendatud naissoost tihvtide kaudu, selle asemel, et neid nähtavatel põhjustel otse PCB -le joota. Nii on ekraani all palju ruumi teistele komponentidele, näiteks takistitele, transistoridele ja isegi helipistikule.

Olen pannud mikronupud, mis disaini järgi peaksid olema otse joodetud, kuid võite kasutada ka avasid naissoost tihvtide jaoks ja ühendada juhtmed juhtmetega, kui soovite, et need paigaldataks korpusele, mitte trükkplaadile.

Samuti paneme kaameraga ühendatava kaabli ühendamiseks teise naissoost audiopistiku. Nii muutub plaat mitmekülgsemaks, kuna sel viisil saame ühendada teiste pistikutega teiste kaameratega.

11. samm: andurid

Image
Image
Sensorid
Sensorid

Mõelgem anduri rakendamise viisidele.

Nii et anduri toitepinge on 5 V ja see peab suutma anda signaali tihvtile digitaalse KÕRGE, kui tahame kaamera käivitada. Esimene asi, mis mulle pähe tuli, on liikumisandur, täpsemalt PIR. Arduino jaoks on müüdud mooduleid, millel on see andur peal ja mis teevad täpselt seda, mida me tahame. Nende toiteallikaks on 5 V ja neil on väljundpistik, millele nad lülitavad käivitamisel 5 V, peame lihtsalt ühendama selle tihvtid 3,5 mm helipistikuga ja saame ühendada otse plaadiga. Üks asi, mida tuleb aga tähele panna, on see, et see andur vajab soojenemiseks ja korralikult töötamiseks aega, nii et ärge oodake, et see korralikult töötaks niipea, kui ühendate selle vooluvõrku, andke talle aega ja seadistage see ning kõik, mis elus on, vahemik käivitab kaamera.

Kuna me mõtleme juba tehtud Arduino anduriplaatide suunas, tuleb meelde üks teine, heli. Need tahvlid on tavaliselt valmistatud nii, et neil on üks tihvt, mis väljastab vastuvõetud heli analoogväärtuse, ja teine, digitaalne, mis annab loogilise HIGH, kui heli, mille see võtab, ületab teatud taseme. Saame selle taseme seadistada nii, et andur ignoreerib meie häält, kuid registreerib plaksutuse. Nii käivitate kaamera igal plaksutamisel kaamera.

12. samm: PoweeEeEer

PoweeEeEer
PoweeEeEer
PoweeEeEer
PoweeEeEer

Ma arvan, et lihtsaim viis selle asja toiteks on toitepank, mitte väliselt. Jätkame telefoni või muu laadimise funktsionaalsust ja kontrollime praegust voolu plaadile lüliti kaudu. Leiame toitepanga trükkplaadil olevad väljund -USB -pistiku tihvtid, mis on GND ja Vcc (5 V), ja jootetraadid otse neile ja sealt meie tahvlile.

13. samm: ümbris.. Kuidagi

Korpus.. Kuidagi
Korpus.. Kuidagi
Korpus.. Kuidagi
Korpus.. Kuidagi
Korpus.. Kuidagi
Korpus.. Kuidagi

Ma tõesti võitlesin sellega. Karbi harutamisel, kuhu tahtsin olemasoleva trükkplaadi panna, mõistsin, et pole ühtegi ilusat viisi, kuidas kõik sobitada nii, nagu ma tahtsin, ja siis otsustasin kavandada uue PCB, seekord koos optronitega. Tahtsin paigutada trükkplaadi otse selle külje alla, kuhu puurisin augud teatud komponentide jaoks, mida tuleb näha/puudutada. Selle toimimiseks peaksin ekraani ja Arduino jootma otse plaadile, ilma pistikupesade ja päisteta, ja see on esimene probleem. Täiesti kohutav oli midagi tõrkeotsingut teha, kuna ma polnud valmis seda kohe jootma, enne kui katsetasin, et kõik töötab, ja ma ei saanud midagi testida, kuna ma ei suutnud seda jootma hakata ja nii edasi. ära tee seda. Probleem number dos, korpusele aukude tegemine. Ma võtsin vist mõõtmised valesti, sest ükski korpuse auk ei olnud joondatud PCB komponentidega ja ma pidin neid suurendama ning nupud olid PCB -l liiga kõrged ja neid vajutati alati, kui ma plaadi paika panin aa ja kuna ma tahtsin helipistikuid küljele, pidin ma ka need augud suurendama, et need kõigepealt pesadesse sobiksid ja seejärel laud alla, et ekraan ja nupud läbi tuleksid.. tulemus on kohutav.

Tegin need kohutavad augud vähem kohutavaks, kattes ülaosa õhukese papiga, milles lõikasin komponentidele mõistlikumad augud välja ja.. see on ikka kohutav, kuid minu silmis lihtsam.

Otsus, soovitan teil seda teha, ostes komponente, mis kinnitatakse korpusele, mitte otse trükkplaadile. Nii on teil komponentide paigutamisel rohkem vabadust ja vähem vigu teha.

14. samm: lõpetage

Image
Image
Fin
Fin

Olen valmis, kuid siin on mõned asjad, mida ma oleksin teisiti teinud:

Kasutage parema kvaliteediga 3,5 mm helipistikuid. Need, mida ma kasutasin, kipuvad tungraua sisestamise või väljatõmbamise ajal klemmid lühisesse, mille tulemuseks on kas toite lühis, seega Arduino lähtestamine või lihtsalt võltspäästikud. Ma olen seda eelmises etapis öelnud, aga ma ütlen seda veel kord.. ärge jootke Arduino tahvlit ilma päiste/pistikupesata, see teeb lihtsalt igasuguse tõrkeotsingu või uue koodi üleslaadimise ja palju muud raskemaks. Arvan ka, et led -signaali andmine selle kohta, et asi on sisse lülitatud, oleks olnud kasulik, sest ma ei saa sageli ilma nupule vajutamata öelda, kuna ekraan lülitub välja. Ja viimane asi, pausi funktsioon. Ma arvan, et see on kasulik näiteks PIR -anduri ühendamisel, kuna see vajab aega soojenemiseks, või lihtsalt selle ümber liigutades ei taha, et see käivitub, nii et võite lihtsalt kõik peatada, kuid võite ka lihtsalt keerata kaamerast välja nii.. mis iganes.

Teine kena asi on takjapaelaga statiivile kinnitada, kuna seda kasutatakse seal tõenäoliselt.

Küsige julgelt selle projekti kohta kommentaarides midagi ja mulle meeldiks teada, kas te selle ehitate ja kuidas see teie jaoks välja tuli.

Soovitan: