Obsah:

Pimp My Cam: 14 kroků (s obrázky)
Pimp My Cam: 14 kroků (s obrázky)

Video: Pimp My Cam: 14 kroků (s obrázky)

Video: Pimp My Cam: 14 kroků (s obrázky)
Video: 💪Jak jsem zeštíhlil ruce za 20 dní: Magic Shiatsu masáž a cvičení pro začátečníky 2024, Listopad
Anonim
Pimp My Cam
Pimp My Cam

Zde pochází tento projekt.

Před nějakou dobou jsem přemýšlel o natočení několika časosběrů. "Jak?" Ptal jsem se sám sebe? První odpověď byla „No.. prostě něco natočíte a zrychlíte a je to“. Ale je to opravdu tak jednoduché? Nejprve k tomu chci použít svou digitální zrcadlovku a můj fotoaparát Nikon D3100 má na natáčení videa časový limit 10 minut. Za druhé, i kdybych měl kameru bez časového omezení natáčení videa, co když chci udělat opravdu dlouhý timelapse, třeba 12 hodin? Točím 12 hodin dlouhé video 1080p. Pochybuji, že by baterie vydržela tak dlouho a není to příliš praktické, že? Dobře, překračování „nápadu na natáčení videa“. No a pak jsou tu obrázky. Fotografování na kameru v určitém intervalu a nakonec se stovkami snímků, které následně zpracuji pomocí softwaru k vytvoření videa..?

Vypadalo to jako dobrý nápad, tak jsem se rozhodl to zkusit. Takže jsem skončil s tím, že jsem chtěl vytvořit zařízení, do kterého mohu zadat časové období, a na základě tohoto období by neustále spouštělo můj fotoaparát. A když už jsme u toho, proč nepřidat nějaké další věci jako pohybovou spoušť a tak dále?

Krok 1: Ale.. Jak?

Ale jak?
Ale jak?

JAK? je naše další otázka, na kterou chybí odpověď. Kvůli načasování, spouštění, senzorům a podobným věcem nebude překvapením, že první, co mě napadlo, bylo samozřejmě Arduino. Dobře, ale přesto se musíme naučit, jak na fotoaparátu spustit spoušť. Hm.. servo horké nalepené na těle kamery? Rozhodně ne, chceme, aby to bylo tiché a energeticky účinné. Energeticky efektivní - proč? Protože chci, aby byl přenosný a vložil do něj baterii, nebudu pokaždé poblíž elektrické zásuvky. Jak to tedy spustíme.. je to vlastně docela jednoduché.

Nikon už věděl, že budete chtít dálkový ovladač a další příslušenství, a řekli „dobře, dáme jim to všechno, ale uděláme speciální port, abychom na tom příslušenství mohli vydělat více peněz“, styďte se, Nikon. Tento port se (v mém případě) nazývá MC-DC2 a nejlevnější způsob, jak se do něj dostat, je koupit dálkovou spoušť na eBay za 2–3 $ a použít pouze kabel.

*Některé jiné fotoaparáty, například Canon, mají jednoduchý 3,5mm konektor pro sluchátka vyrobený pro stejné použití, takže můžete použít nějaký kabel ze starých reproduktorů/sluchátek.

Krok 2: Naučte se spouštět fotoaparát

Image
Image
Způsoby spuštění
Způsoby spuštění

Každopádně tady je dohoda, port bude mít 3 připojení, která nás budou zajímat (Ground, Focus a Shutter) a ty budete mít na konci kabelu nově zakoupené dálkové závěrky, kterou jste právě zničili. Tato tři připojení jsou pro nás důležitá, protože pokud zkrátíme uzemnění a zaostření, fotoaparát zaostří stejně, jako když stisknete tlačítko ostření, a poté, dokud toto spojení zůstane, můžete zkrátit uzemnění a závěrku a fotoaparát pořídí snímek stejně jako když stisknete spoušť na fotoaparátu.

Můžete to vyzkoušet tak, že doslova zkrátíte živé vodiče na konci kabelu, abyste zjistili, který vodič je který. Jakmile to uděláte, kvůli snazší identifikaci je vybarvíme takto:

Ground = ČERNÁ; Zaostření = BÍLÁ; Závěrka = ČERVENÁ.

Dobře, teď musíme naučit Arduino, aby to udělal za nás.

Krok 3: Způsoby spuštění

Image
Image

Nejjednodušší věcí, kterou můžeme Arduinu sdělit do vnějšího světa, je jeho digitální výstupní signál. Tento signál může být buď VYSOKÝ (logický '1') nebo LOW (logický '0'), odtud název "digitální", nebo když je převeden na jeho základní význam: 5V pro logický VYSOKÝ a 0V pro logický NÍZKÝ.

Co máme s těmito digitálními signály dělat? Nemůžeme je jednoduše připojit k fotoaparátu a očekávat, že kamera bude vědět, co chceme. Jak jsme viděli, potřebujeme zkrátit připojení na kameře, aby mohla reagovat, takže musíme použít digitální signály Arduina k pohonu některých komponent, které mohou zkrátit jejich svorky v závislosti na tomto elektrickém signálu, který posíláme. *Jak jsem to popsal, možná si říkáte „Ach, relé!“ale ne ne Relé by to zvládlo, ale máme co do činění s tak malými proudy, že můžeme snadno použít černou magii polovodičů.

První komponenta, kterou vyzkouším, je optočlen. Viděl jsem je nejvíce implementovat a je to pravděpodobně nejlepší řešení. Optočlen je elektrická součástka, pomocí které ovládáte výstupní obvod, zatímco vstupní obvod je od něj zcela izolován. Toho je dosaženo přenosem informací světlem, vstupní obvod rozsvítí LED a fototranzistor na výstupu se odpovídajícím způsobem přepne.

Použijeme tedy optočlen tímto způsobem: řekneme našemu Arduinu, aby vyslalo digitální HIGH na jeden, pokud jsou to digitální piny, tento signál je prakticky 5V, který bude řídit LED uvnitř optočlenu a fototranzistor uvnitř bude „krátký“jsou to výstupní terminály, když detekuje toto světlo, a naopak „odpojí“své terminály, protože když vysíláme digitální LOW přes Arduino, není světlo z LED.

Prakticky to znamená: jeden z digitálních pinů Arduina je připojen ke kolíku ANODE optočlenu, GND Arduina je připojen ke CATHODE, GND fotoaparátu je připojen k EMITTERU a FOCUS (nebo SHUTTER) ke KOLEKTORU. Chcete -li tyto piny najít na svém, podívejte se do datového listu optočlenu, který používáte. Používám 4N35, takže můžete slepě sledovat moje schéma, pokud vás nezajímá, co se děje uvnitř optočlenu. Není třeba říkat, že budeme potřebovat dva z nich, protože potřebujeme ovládat FOCUS i SHUTTER fotoaparátu.

Když jsme viděli, jak to funguje, s fototranzistorem na výstupu, proč to nezkusit pouze s jednoduchým NPN tranzistorem. Tentokrát přivedeme digitální signál přímo (přes odpor) na základnu tranzistoru a připojíme GND kamery a Arduina k vysílači a zaostření/závěrku kamery ke kolektoru tranzistoru.

Opět budeme potřebovat dva z nich, protože ovládáme dva signály. Používám BC547B a můžete k tomu v podstatě použít jakýkoli NPN, protože proud, který ovládáme, je jeden miliampér.

Obě tyto komponenty budou fungovat, ale volba optočlenu je pravděpodobně lepší nápad, protože je bezpečnější. Vyberte si tranzistory, pouze pokud víte, co děláte.

Krok 4: Psaní kódu pro spouštění

Image
Image
Psaní kódu pro spouštění
Psaní kódu pro spouštění

Jak jsme řekli dříve, pro signalizaci použijeme digitální piny Arduina. Arduino je může použít jak pro čtení dat z něj, tak pro zápis do něj, takže první věc, kterou musíme udělat, specifikujte ve funkci setup (), že pro výstup použijeme dva digitální piny Arduina takto:

pinMode (FOCUS_PIN, OUTPUT);

pinMode (SHUTTER_PIN, OUTPUT);

kde FOCUS_PIN a SHUTTER_PIN lze definovat buď pomocí „#define NAME value“, nebo jako int před funkcí setup (), protože můžete změnit pin, takže je snazší změnit hodnotu pouze na jednom místě než na celý kód poté.

Další věc, kterou uděláme, je napsat funkci trigger (), která to po spuštění udělá. Jen vložím obrázek s kódem. Vše, co potřebujete vědět, je, že nejprve držíme FOCUS_PIN na VYSOKÉ po určitou dobu, protože musíme počkat, až se fotoaparát zaměří na předmět, na který míříme, a pak jen na okamžik (zatímco FOCUS_PIN je stále VYSOKÝ) umístěte SHUTTER_PIN na HIGH, abyste mohli pořídit snímek.

Zahrnul jsem také možnost přeskočit zaostřování, protože to nebude potřeba, pokud snímáme timelapse něčeho, co nemění jeho vzdálenost od fotoaparátu v čase.

Krok 5: Interval třídy {};

Image
Image
Manipulace s intervalem prostřednictvím Arduina
Manipulace s intervalem prostřednictvím Arduina

Nyní, když jsme spustili kameru z cesty, musíme z toho udělat intervalometr přidáním funkce manipulace s časovým obdobím mezi dvěma záběry. Abyste získali představu o tom, co děláme, zde je nějaký primitivní kód, který demonstruje požadovanou funkčnost:

prázdná smyčka () {

zpoždění (interval); spoušť(); }

Chci mít možnost změnit tento interval z, řekněme, 5 sekund až na 20-30 minut. A tady je problém, pokud to chci změnit z 5 s na 16 s nebo cokoli mezi tím použiji přírůstek 1 s, kde pro každý můj požadavek na zvýšení intervalu by se interval zvyšoval o 1 s. To je skvělé, ale co když chci jít od 5 do 5 minut? Trvalo by mi to 295 požadavků v krocích po 1 s, takže samozřejmě potřebuji zvýšit hodnotu přírůstku na něco většího a potřebuji definovat, na které přesné hodnotě intervalu (prahové hodnotě) přírůstek změnit. Implementoval jsem toto:

5s-60s: přírůstek 1s; 60s-300s: přírůstek 10s; 300 s-3600 s: přírůstek 60 s;

ale napsal jsem, že tato třída je nastavitelná, takže můžete definovat své vlastní prahy a přírůstky (vše je komentováno v souboru.h, abyste věděli, kde změnit které hodnoty).

Příklad, který jsem uvedl při manipulaci s intervalem, je evidentně proveden na PC, nyní ho musíme přesunout do Arduina. Celá tato třída, Interval, je vložena do jednoho souboru záhlaví, který se používá k ukládání deklarací a definic (ne opravdu, ale v tomto příkladu to lze provést bez poškození) naší třídy/funkcí. K zavedení tohoto záhlaví do našeho arduino kódu používáme „#include“Interval.h ““(soubory musí být ve stejném adresáři), což zajišťuje, že můžeme použít funkce definované v hlavičkovém souboru v našem hlavním kódu.

Krok 6: Manipulace s intervalem prostřednictvím Arduina

Image
Image
Manipulace s intervalem prostřednictvím Arduina
Manipulace s intervalem prostřednictvím Arduina
Manipulace s intervalem prostřednictvím Arduina
Manipulace s intervalem prostřednictvím Arduina

Nyní chceme, abychom mohli hodnotu intervalu změnit, buď ji zvýšit, nebo snížit. To jsou tedy dvě věci, takže použijeme dva digitální signály, které budou ovládány dvěma tlačítky. Budeme opakovaně číst hodnoty na digitálních pinech, které jsme přiřadili tlačítkům, a analyzovat tyto hodnoty na funkci checkButtons (int, int); což zvýší interval, pokud je stisknuto tlačítko „nahoru“, a sníží interval, pokud je tlačítko „dolů“. Pokud jsou stisknuta obě tlačítka, změní se také hodnota proměnného zaostření, které určuje, zda se má při spouštění zaostřit.

Část kódu ((millis () - prevBtnPress)> = debounceTime) se používá pro odskakování. Jak jsem to napsal, znamená to, že zaregistruji první stisk tlačítka s booleovskou proměnnou btnPressed a pamatuji si, kdy se to stalo. Než nějakou dobu čekám (debounceTime) a pokud je tlačítko stále stisknuto, reaguji. Dělá také „pauzu“mezi každým dalším stisknutím tlačítka, takže se vyhne opakovanému stisknutí tam, kde žádné není.

A nakonec s:

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

prevTrigger = millis (); spoušť(); }

nejprve zkontrolujeme, zda doba mezi posledním spuštěním (prevTrigger) a aktuálním časem (milis ()) (vše je děleno 1000, protože je to v milisekundách a interval je v sekundách) je stejný nebo větší než interval chceme, a pokud ano, pamatujeme si aktuální čas jako poslední spuštění kamery a následné spuštění.

Tímto jsme v podstatě udělali intervalometr, ale zdaleka nekončíme. Stále nevidíme hodnotu intervalometru. Je zobrazen pouze na sériovém monitoru a nebudeme vždy poblíž počítače, takže nyní implementujeme něco, co nám ukáže interval, jak ho změníme.

Krok 7: Zobrazení intervalu

Image
Image
Zobrazení intervalu
Zobrazení intervalu
Zobrazení intervalu
Zobrazení intervalu
Zobrazení intervalu
Zobrazení intervalu

Zde představujeme displej. Použil jsem 4místný modul, který je poháněn TM1637, protože ho musím použít pouze pro zobrazení času a nic jiného. Nejjednodušší způsob, jak používat tyto moduly vytvořené pro Arduino, je použít pro ně již vytvořené knihovny. Na webu Arduino je stránka popisující čip TM1673 a odkaz na navrhovanou knihovnu. Stáhl jsem si tuto knihovnu a existují dva způsoby, jak můžete tyto knihovny zavést do Arduino IDE:

  1. ze softwaru Arduino přejděte na Sketch> Include Library> Add. ZIP library a vyhledejte soubor.zip, který jste právě stáhli
  2. můžete dělat to, co Arduino dělá ručně a stačí rozbalit knihovnu ve složce, ve které Arduino ukládá knihovny, ve Windows: C: / Users / Username / Documents / Arduino / libraries \.

Jakmile zahrnete knihovnu, měli byste si přečíst soubor „ReadMe“, ve kterém najdete shrnutí toho, co různé funkce dělají. Někdy to nestačí, takže budete chtít jít trochu hlouběji a prozkoumat soubory záhlaví, ve kterých můžete vidět, jak jsou funkce implementovány a co vyžadují jako vstupní argumenty. A samozřejmě nejlepší způsob, jak získat představu o tom, co knihovna dokáže, obvykle nabízí příklad, který můžete spustit ze softwaru Arduino pomocí Soubor> Příklady> Název knihovny> PříkladNázev. Tato knihovna nabízí jeden příklad, který vám doporučuji spustit na displeji, abyste zjistili, zda váš displej funguje správně, a pak vám doporučuji vyladit kód, který vidíte v příkladu, a sami uvidíte, co jednotlivé funkce dělají a jak displej reaguje na to. Udělal jsem to a zjistil jsem toto:

používá 4 celá čísla bez znaménka po 8 bitech pro každou číslici (0bB7, B6, B5, B4, B3, B2, B1, B0). A každý z těchto bitů B6-B0 se používá pro každý segment určité číslice a pokud je bit 1, segment jím ovládaný se rozsvítí. Tato celá čísla jsou uložena v poli s názvem data . Nastavení těchto bitů na displej se provádí pomocí display.setSegmenty (data); nebo můžete přirozeně přistupovat k jakékoli číslici zvlášť a nastavit ji buď ručně (data [0] = 0b01111001), nebo můžete použít funkci encodeDigit (int); a převeďte odeslanou číslici na odpovídající bity (data [0] = display.encodeDigit (3));. Bit B7 používá pouze druhá číslice nebo data [1] k aktivaci dvojtečky.

Jelikož jsem ve třídě INTERVAL napsal funkce, které mohu získat určité číslice intervalu ve formě M1M0: S1S0, kde M znamená minuty a S sekundy, je přirozené, že používám encodeDigitFunction (int); pro zobrazení intervalu takto:

displayInterval () {

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

Nyní, kdykoli potřebuji zobrazit interval na displeji, mohu zavolat funkci displayInterval ().

*Všimněte si „0x80 |…“na datech [1]. Používá se k zajištění toho, aby bit B7 dat [1] byl vždy 1, aby se dvojtečka rozsvítila.

Poslední věc na displeji, spotřeba energie. Možná to nebude mít velký význam, protože to nebudeme dlouho zapínat, ale pokud máte zájem o ještě šetrnější baterii, zvažte snížení jasu displeje, protože při maximálním jasu čerpá 3krát více proudu než na nejnižší.

Krok 8: Dát to všechno dohromady

Dát to všechno dohromady
Dát to všechno dohromady

Víme, jak spustit kameru, jak manipulovat s intervalem a jak zobrazit stejný interval na displej. Nyní musíme všechny tyto věci spojit dohromady. Začneme samozřejmě z funkce loop (). Neustále kontrolujeme stisknutí tlačítek a odpovídajícím způsobem reagujeme pomocí checkButtons (int, int) a podle toho změníme interval a zobrazíme změněný interval. Také ve smyčce () budeme neustále kontrolovat, zda od posledního spuštění nebo stisknutí tlačítka uplynul dostatek času, a v případě potřeby zavolat funkci trigger (). Kvůli nižší spotřebě vypneme displej po nějaké době.

Přidal jsem dvoubarevnou LED diodu (červená a zelená, společná katoda), která se rozsvítí zeleně, zatímco spoušť () a rozsvítí se červeně spolu s displejem, pokud je zaostřování zapnuté a zůstane vypnuté, pokud je zaostřování vypnuto.

Také budeme migrovat na ještě menší Arduino, Pro Mini.

Krok 9: Přidání poslední věci

Přidání poslední věci
Přidání poslední věci
Přidání poslední věci
Přidání poslední věci
Přidání poslední věci
Přidání poslední věci

Zatím jsme vytvořili pouze mezimetr. Užitečné, ale můžeme to udělat lépe.

Tady je to, co jsem měl na mysli: Intervalometr ve výchozím nastavení dělá tuto věc S VÝJIMKOU, když připojíme nějaký externí spínač/senzor, který pak zastaví intervalometr a reaguje na vstup spínače/senzoru. Říkejme tomu senzor, nemusí to být nutně senzor, který je připojený, ale budu to takto označovat.

Za prvé, jak zjistíme, že jsme připojili senzor?

Senzory, které použijeme/vyrobíme, budou všechny potřebovat tři vodiče, které je spojí s arduino (Vcc, GND, Signal). To znamená, že jako vstupní konektor pro senzor můžeme použít 3,5 mm audio konektor. A jak to vyřeší náš problém? Existují typy 3,5mm jacku „s přepínačem“, které mají piny, které jsou zkratovány na piny konektoru, pokud v nich není konektor samec, a odpojí se, když je konektor přítomen. To znamená, že máme informace založené na přítomnosti senzoru. Na obrázku použiji stahovací odpor, jak je uvedeno (digitální pin bude číst HIGH bez senzoru a LOW s připojeným senzorem) nebo můžete také připojit digitální pin ke kolíku konektoru, který je normálně připojen k zemi a definovat tento digitální pin jako INPUT_PULLUP, bude fungovat oběma způsoby. Nyní tedy musíme náš kód vyladit, aby provedl vše, co jsme dosud napsali, pouze pokud snímač není přítomen nebo když je kontrola digitálního kolíku VYSOKÁ. Také jsem to vyladil, takže na displeji místo intervalu, který je v tomto režimu k ničemu, zobrazuje „SENS“, ale ostření je pro nás stále relevantní, ponecháme funkčnost střídání ostření stisknutím obou tlačítek a ukazující stav zaostření pomocí červené diody.

Co vlastně senzor dělá?

Když chceme spustit kameru, stačí zapojit 5V na signální pin. To znamená, že budeme potřebovat další digitální pin Arduina, který bude kontrolovat stav tohoto pinu, a když se zaregistruje HIGH, stačí zavolat funkci trigger () a kamera pořídí obrázek. Nejjednodušší příklad a ten, který použijeme k testování, zda to funguje, je jednoduché tlačítko s výsuvným odporem. Připojte tlačítko mezi Vcc senzoru a signální pin a přidejte odpor mezi signální pin a GND, tímto způsobem bude signální pin na GND, když tlačítko není stisknuto, protože přes odpor neproudí žádný proud a když tlačítko je stisknuto, dáme signální pin přímo na HIGH a Arduino to přečte a spustí kameru.

Tím jsme uzavřeli psaní kódu.

*Chtěl bych poznamenat některé problémy, které jsem měl s používanými audio konektory. Při zasouvání zástrčky do konektoru se někdy zkratoval GND a jeden z dalších dvou pinů. K tomu dochází okamžitě a pouze při zapojování konektoru, ale stále je to dost dlouhé na to, aby si Arduino zaregistrovalo zkrat, takže se Arduino restartuje. To se nestává tak často, ale stále to může představovat nebezpečí a existuje potenciál pro zničení Arduina, takže se vyhněte konektorům, které jsem použil.

Krok 10: Obsahuje nepořádek

Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek
Obsahující nepořádek

Z obrázků můžete vidět, že prkénko začíná být špinavé a máme hotovo, takže musíme vše přenést na desku s plošnými spoji/desku plošných spojů. Šel jsem na PCB, protože si myslím, že jich udělám více, takže je budu moci snadno reprodukovat.

Při navrhování DPS jsem použil Eagle a našel jsem návrhy pro všechny díly, které jsem použil. V mém návrhu je jedna malá věc, kterou bych si přál, abych neudělal, a to je drátěná podložka pro Vcc displeje. Viděl jsem to příliš pozdě a nechtěl jsem zničit to, co jsem předtím navrhl, a šel jsem líným způsobem přidávání drátěných podložek a později musel přidávat drát do těchto spojů místo měděných stop, takže si pamatujte, že pokud používáte můj design.

Deska Arduino a displej jsou ze zjevných důvodů spojeny s deskou plošných spojů pomocí konektorů s vnitřními póly, místo aby byly připájeny přímo na desku plošných spojů. Tímto způsobem je pod displejem dostatek místa pro další komponenty pro další komponenty, jako jsou rezistory, tranzistory a dokonce i audio jack.

Vložil jsem mikro tlačítka, která by podle návrhu měla být pájena přímo, ale můžete také použít otvory pro zásuvkové kolíky a připojit tlačítka pomocí drátu, pokud je chcete namontovat na skříň a ne na desku plošných spojů.

Také zapojíme další audio konektor pro připojení kabelu, který se připojuje k fotoaparátu. Deska se tak stane univerzálnější, protože se tak budeme moci připojit k jiným kamerám s jinými konektory.

Krok 11: Sens0rs

Image
Image
Sens0rs
Sens0rs

Zvažme způsoby implementace senzoru.

Senzor tedy bude mít napájecí napětí 5V a bude -li chtít spustit kameru, bude muset být schopen poskytnout digitální HIGH na signálním pinu. První věc, která mě napadla, je pohybový senzor, konkrétně PIR. Pro Arduino se prodávají moduly, které na sobě mají tento senzor a dělají přesně to, co chceme. Jsou napájeny 5V a mají výstupní pin, na který dávají 5V, když jsou spuštěny, stačí připojit jeho piny k 3,5mm audio jacku a můžeme zapojit přímo do desky. Jedna věc, kterou je třeba poznamenat, je, že tento senzor potřebuje čas, aby se zahřál a začal správně fungovat, takže neočekávejte, že bude správně fungovat, jakmile jej zapojíte, dejte mu nějaký čas a poté jej nastavte a cokoli živého se dostane do jeho rozsah spustí kameru.

Protože přemýšlíme směrem k již vyrobeným deskám senzorů Arduino, napadne mě další, zvuk. Tyto desky jsou obvykle vyrobeny tak, že mají jeden pin, který vydává analogovou hodnotu zvuku, který zachycuje, a druhý, digitální, který vydává logický VYSOKÝ, pokud zvuk, který zachytí, překročí určitou úroveň. Tuto úroveň můžeme nastavit tak, aby senzor ignoroval náš hlas, ale zaregistroval tleskání. Tímto způsobem, kdykoli zatleskáte, spustíte kameru.

Krok 12: PoweeEeEer

PoweeEeEer
PoweeEeEer
PoweeEeEer
PoweeEeEer

Myslím, že nejjednodušší způsob, jak tuto věc napájet, je powerbanka, a ne externě. Zachováme funkčnost nabíjení telefonu nebo čehokoli a budeme řídit aktuální tok na desku pomocí přepínače. Piny výstupního konektoru USB vyhledáme na desce s obvody v napájecí bance, což jsou GND a Vcc (5V) a pájecí vodiče přímo na ně a odtud do naší desky.

Krok 13: Příloha.. Trochu

Příloha.. Trochu
Příloha.. Trochu
Příloha.. Trochu
Příloha.. Trochu
Příloha.. Trochu
Příloha.. Trochu

S tím jsem se opravdu potýkal. Když jsem věnoval krabici, do které jsem chtěl vložit stávající desku plošných spojů, uvědomil jsem si, že neexistuje žádný pěkný způsob, jak do ní vložit vše, jak jsem chtěl, a poté jsem se rozhodl navrhnout novou desku plošných spojů, tentokrát s optočleny. Chtěl jsem umístit desku plošných spojů přímo pod stranu, na které bych vyvrtal otvory pro určité součásti, které je třeba vidět/dotknout se. Aby to fungovalo, potřeboval bych pájet displej a Arduino přímo na desku, bez zásuvek nebo záhlaví, a v tom tkví první problém. Bylo naprosto hrozné řešit cokoli, protože jsem nebyl připraven to okamžitě připájet, dokud nevyzkouším, že vše funguje, a nemohl jsem nic vyzkoušet, protože jsem to nemohl pájet atd. nedělej to. Problém numero dos, vytváření otvorů na pouzdře. Myslím, že jsem špatně provedl měření, protože žádný z otvorů v pouzdru nebyl zarovnán se součástkami na desce plošných spojů a musel jsem je zvětšit a tlačítka byla na desce plošných spojů příliš vysoko a vždy byla stisknuta, když jsem desku nasadil na místo. aaa protože jsem chtěl zvukové konektory na boku, musel jsem také zvětšit tyto otvory, aby se vešly nejprve do konektorů, a pak snížit desku, aby prošel displej a tlačítka.. výsledek je hrozný.

Trochu jsem ty hrozné díry učinil méně strašnými překrytím vršku tenkou lepenkou, ve které jsem vyřízl rozumnější otvory pro komponenty a.. je to stále hrozné, ale myslím, že na pohled jednodušší.

Verdikt, navrhuji, abyste to udělali zakoupením komponent, které se montují do skříně, a ne přímo na desku plošných spojů. Získáte tak větší volnost v umístění komponent a méně míst, kde můžete dělat chyby.

Krok 14: Fin

Image
Image
Ploutev
Ploutev

Skončil jsem, ale tady jsou věci, které bych udělal jinak:

Používejte kvalitnější 3,5mm audio konektory. Ty, které jsem použil, mají tendenci zkratovat terminály při vkládání nebo vytahování konektoru, což má za následek buď zkrácení dodávky, čímž se resetuje Arduino, nebo to jen produkuje falešné spouště. Řekl jsem to v předchozím kroku, ale řeknu to znovu.. nepájejte desku Arduino bez záhlaví/zásuvky, jen to dělá mnohem obtížnější řešení problémů nebo nahrávání nového kódu a tak dále. Také si myslím, že mít LED signalizaci, že je věc zapnutá, by bylo užitečné, protože často nemůžu říct, aniž bych stiskl tlačítko, protože se displej vypne. A poslední věc, funkce pozastavení. Představuji si, že je užitečné, když například při zapojování PIR senzoru, protože potřebuje čas na zahřátí, nebo jen při pohybu kolem, nechcete, aby se spustil, takže můžete jen pozastavit vše, ale můžete také jednoduše otočit mimo kameru, takže … cokoli.

Další úhledná věc je suchý zip na stativu, protože tam bude s největší pravděpodobností použit.

Neváhejte se zeptat na cokoli o tomto projektu v komentářích a rád bych věděl, jestli ho stavíte a jak to pro vás dopadlo.

Doporučuje: