reklama

S blikajícími LED diodami můžete dělat nejrůznější věci. V tomto jednoduchém projektu vytvoříme malé zařízení, které ve vzduchu rozsvítí zprávy, když je budete mávat sem a tam. Je to jednodušší, než si myslíte, a celkové náklady na díly jsou pod 5 $.

Tento projekt využívá optickou iluzi zvanou vytrvalost vidění, aby se text objevil ve vzduchu. Pravděpodobně jste se s tímto fenoménem setkali, když někdo v noci rychle rozzáří osvětlený prskavka. K napodobení tohoto efektu použijeme Arduino a některé LED diody. Tento projekt lze snadno sestavit, s několika součástkami a malým pájením (pokud však chcete nějaké tipy, jak začít s páječkou, podívejte se na tento průvodce Naučte se pájet pomocí těchto jednoduchých tipů a projektůJste trochu zastrašeni myšlenkou na horké železo a roztavený kov? Pokud chcete začít pracovat s elektronikou, musíte se naučit pájet. Pomozte nám. Přečtěte si více ).

Budete potřebovat

  • Arduino (použil jsem nano 2 $, protože je kompaktní a levný, ale každý model by měl být v pořádku).
  • instagram viewer
  • 5x Červené LED diody.
  • 5x Odpory 220 Ohm.
  • 1x Držák baterie 9V.
  • 1x kolébkový spínač.
  • 1x protoboard.
  • Kryt pro hotový produkt (použil jsem malou krabici natřenou černě).

K tomu, abyste to všechno dali dohromady, budete také potřebovat páječku a pájku.

I když je volitelný, některé pájecí knot se může hodit, pokud uděláte jakékoli pájecí chyby. K testování obvodu je také užitečné prkénko a některé propojovací dráty.

Komponenty požadované pro projekt

Elektrické vedení

Zapojení nemohlo být jednodušší. Nejprve připojte Arduino, LED a odpory, jak je znázorněno na tomto diagramu.

pov fritzing

Kolíky D2 až D6 jdou ke každému rezistoru, který je připojen k pozitivní anodě (dlouhé noze) každé LED. Katoda je připojena k zemi, která se připojuje zpět k Arduinu. Až bude hotovo, mělo by to vypadat takto:

pov prkénko

To je vše: náš okruh je hotový! Budeme přidávat kryt baterie a přepínač na to později, ale to je vše, co musíme vyzkoušet, zda to funguje.

Kód

Nyní připojte Arduino k počítači a otevřete Arduino IDE. Pokud používáte Arduino a chcete dobrého průvodce, jak začít, tento odkaz Začínáme s Arduino: Příručka pro začátečníkyArduino je platforma s otevřeným zdrojovým kódem elektroniky založená na flexibilním, snadno použitelném hardwaru a softwaru. Je určen pro umělce, designéry, fandy a kohokoli, kdo má zájem o vytváření interaktivních objektů nebo prostředí. Přečtěte si více bude užitečné.

Otevřete novou skicu a zkopírujte tento kód do. Kód byl změněn z tento projekt a můžete si ji stáhnout v plném rozsahu v tomto Gist.

// jak dlouho každý led svítí. int delayTime = 1; // jak dlouho mezi každým int charBreak = 3; // jak dlouho čekat na dokončení zprávy, než se opakuje. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; neplatné nastavení () { pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (LED4, OUTPUT); pinMode (LED5, OUTPUT); } int a [] = {1, 6, 26, 6, 1}; int b [] = {31, 21, 21, 10, 0}; int c2 [] = {14, 17, 17, 10, 0}; int d [] = {31, 17, 17, 14, 0}; int e [] = {31, 21, 21, 17, 0}; int f [] = {31, 20, 20, 16, 0}; int g [] = {14, 17, 19, 10, 0}; int h [] = {31, 4, 4, 4, 31}; int i [] = {0, 17, 31, 17, 0}; int j [] = {0, 17, 30, 16, 0}; int k [] = {31, 4, 10, 17, 0}; int l [] = {31, 1, 1, 1, 0}; int m [] = {31, 12, 3, 12, 31}; int n [] = {31, 12, 3, 31, 0}; int o [] = {14, 17, 17, 14, 0}; int p [] = {31, 20, 20, 8, 0}; int q [] = {14, 17, 19, 14, 2}; int r [] = {31, 20, 22, 9, 0}; int s [] = {8, 21, 21, 2, 0}; int t [] = {16, 16, 31, 16, 16}; int u [] = {30, 1, 1, 30, 0}; int v [] = {24, 6, 1, 6, 24}; int w [] = {28, 3, 12, 3, 28}; int x [] = {17, 10, 4, 10, 17}; int y [] = {17, 10, 4, 8, 16}; int z [] = {19, 21, 21, 25, 0}; int eos [] = {0, 1, 0, 0, 0}; int excl [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; int prostor [] = {0, 0, 0, 0, 0}; void displayLine (int line) { int myline; myline = line; if (myline> = 16) {digitalWrite (LED1, HIGH); myline- = 16;} else {digitalWrite (LED1, LOW);} if (myline> = 8) {digitalWrite (LED2, HIGH); myline- = 8;} else {digitalWrite (LED2, LOW);} if (myline> = 4) {digitalWrite (LED3, HIGH); myline- = 4;} else {digitalWrite (LED3, LOW);} if (myline> = 2) {digitalWrite (LED4, HIGH); myline- = 2;} else {digitalWrite (LED4, LOW);} if (myline> = 1) {digitalWrite (LED5, HIGH); myline- = 1;} else {digitalWrite (LED5, LOW);} } void displayChar (char c) { if (c == 'a') {for (int i = 0; i <5; i ++) {displayLine (a [i]); delay (delayTime);} displayLine (0);} if (c == 'b') {for (int i = 0; i <5; i ++) {displayLine (b [i]); delay (delayTime);} displayLine (0);} if (c == 'c2') {for (int i = 0; i <5; i ++) {displayLine (c2 [i]); delay (delayTime);} displayLine (0);} if (c == 'd') {for (int i = 0; i <5; i ++) {displayLine (d [i]); delay (delayTime);} displayLine (0);} if (c == 'e') {for (int i = 0; i <5; i ++) {displayLine (e [i]); delay (delayTime);} displayLine (0);} if (c == 'f') {for (int i = 0; i <5; i ++) {displayLine (f [i]); delay (delayTime);} displayLine (0);} if (c == 'g') {for (int i = 0; i <5; i ++) {displayLine (g [i]); delay (delayTime);} displayLine (0);} if (c == 'h') {for (int i = 0; i <5; i ++) {displayLine (h [i]); delay (delayTime);} displayLine (0);} if (c == 'i') {for (int it = 0; to <5; it ++) {displayLine (i [it]); delay (delayTime);} displayLine (0);} if (c == 'j') {for (int i = 0; i <5; i ++) {displayLine (j [i]); delay (delayTime);} displayLine (0);} if (c == 'k') {for (int i = 0; i <5; i ++) {displayLine (k [i]); delay (delayTime);} displayLine (0);} if (c == 'l') {for (int i = 0; i <5; i ++) {displayLine (l [i]); delay (delayTime);} displayLine (0);} if (c == 'm') {for (int i = 0; i <5; i ++) {displayLine (m [i]); delay (delayTime);} displayLine (0);} if (c == 'n') {for (int i = 0; i <5; i ++) {displayLine (n [i]); delay (delayTime);} displayLine (0);} if (c == 'o') {for (int i = 0; i <5; i ++) {displayLine (o [i]); delay (delayTime);} displayLine (0);} if (c == '' '{for (int i = 0; i <5; i ++) {displayLine (p [i]); delay (delayTime);} displayLine (0);} if (c == 'q') {for (int i = 0; i <5; i ++) {displayLine (q [i]); delay (delayTime);} displayLine (0);} if (c == 'r') {for (int i = 0; i <5; i ++) {displayLine (r [i]); delay (delayTime);} displayLine (0);} if (c == 's') {for (int i = 0; i <5; i ++) {displayLine (s [i]); delay (delayTime);} displayLine (0);} if (c == 't') {for (int i = 0; i <5; i ++) {displayLine (t [i]); delay (delayTime);} displayLine (0);} if (c == 'u') {for (int i = 0; i <5; i ++) {displayLine (u [i]); delay (delayTime);} displayLine (0);} if (c == 'v') {for (int i = 0; i <5; i ++) {displayLine (v [i]); delay (delayTime);} displayLine (0);} if (c == 'w') {for (int i = 0; i <5; i ++) {displayLine (w [i]); delay (delayTime);} displayLine (0);} if (c == 'x') {for (int i = 0; i <5; i ++) {displayLine (x [i]); delay (delayTime);} displayLine (0);} if (c == 'y') {for (int i = 0; i <5; i ++) {displayLine (y [i]); delay (delayTime);} displayLine (0);} if (c == 'z') {for (int i = 0; i <5; i ++) {displayLine (z [i]); delay (delayTime);} displayLine (0);} if (c == '!') {for (int i = 0; i <5; i ++) {displayLine (kromě [i]); delay (delayTime);} displayLine (0);} if (c == '?') {for (int i = 0; i <5; i ++) {displayLine (ques [i]); delay (delayTime);} displayLine (0);} if (c == '.') {for (int i = 0; i <5; i ++) {displayLine (eos [i]); delay (delayTime);} displayLine (0);} if (c == '') {for (int i = 0; i <5; i ++) {displayLine (mezera [i]); delay (delayTime);} displayLine (0);} zpoždění (charBreak); } void displayString (char * s) {for (int i = 0; i <= strlen (s); i ++) {displayChar (s [i]); } } void loop () {// Změňte text uvnitř a změňte zobrazený text. // Ujistěte se, že jste drželi závorky a uvozovky. displayString (".. ahoj ..."); zpoždění (40); }

Uložte náčrtek a nahrajte jej na svou tabuli. Pokud se vyskytnou nějaké chyby, ujistěte se, že máte vybrán správný port a com port. Vaše LED diody by měly začít blikat. Pokud tomu tak není, zkontrolujte všechna vaše připojení na prkénku. Celá čísla deklarovaná na začátku kódu určují, jak rychle se text zobrazí. Čím vyšší číslo, tím rychleji budete muset zařízení mávat. Zjistil jsem, že zde použitá čísla fungovala dobře.

Nyní udělejte rychlý test. Odpojte Arduino od kabelu USB a připojte držák baterie k pinům VIN a GND vašeho arduina

pov fritz s batt

Nyní, když se můžete pohybovat kolem, pečlivě zkuste houpat LED diody před vámi. Měli byste vidět ve vzduchu nějaké dopisy, pokud jsou kolem vás dostatečně tmavé. Zjistil jsem, že to pomohlo nastavit můj telefon, aby to zachytil.

test chleba

Funguje to! Nyní, aby byl trochu trvalejší.

Žehličky připravené!

Položte desku Arduino, rezistory a LED diody na protoboard takto:

na palubě

Můžete samozřejmě vytvořit rozvržení tak kompaktní, jak si přejete, pokud obvod zůstane stejný. Ujistěte se, že jste nechali alespoň jednu řadu protoboardních kontaktů na každé straně vašeho Arduina, pokud jde o komponenty a napájení. Pokud jste začátečník v elektronice, zde je několik skvělé tipy pro vás Elektronika pro začátečníky: 10 dovedností, které potřebujete vědětMnozí z nás se nikdy nedotkli páječky - ale výroba věcí může být neuvěřitelně prospěšná. Zde je deset nejzákladnějších DIY elektroniky, které vám pomohou začít. Přečtěte si více .

Budeme pájet LED katody společně v řadě, abychom vytvořili společnou půdu, stejně jako jsme to udělali, když jsme si udělali naši LED matice Vylepšete si vánoční věnec pomocí LED LED matice aktivované pohybemTento vánoční kutilský kutil používá Arduino a LED matici k vytvoření úžasného displeje, který zapůsobí na vaše přátele a rodinu. Přečtěte si více .

řádkové katody

Složte každou katodu tak, aby se překrývala další, a pájejte je, abyste vytvořili jednu nepřerušovanou linii. Nyní musíme pájet naše anody k nohám rezistorů vedle nich. Nejjednodušší způsob, jak to udělat, bylo připájet každou nohu k příslušné podložce a umístit ji železo mezi nimi zahřeje oba klouby, než konečně přidá další pájku pro překlenutí mezery mezi nimi jim.

Zkontrolujte každé připojení, zda je pevně připojeno, a poté pomocí nožů na dráty odřízněte přebytečné nohy od rezistorů a LED.

rezistory na anody

Nyní zopakujte stejný úkol, ale tentokrát připojte druhý konec našich odporů k nohám Arduina. Toto je nejchytřejší část pájení. Každý rezistor se hodně připojuje ke svému Arduino kolíku sám nebo obvod nebude fungovat tak, jak je zamýšlen. Udělal jsem zde několik chyb a musel jsem použít pájecí knot k odstranění nechtěné pájky vícekrát.

Jakmile provedete všechna správná spojení, dvakrát zkontrolujte, zda se žádné z nich nepřekrývá se svými sousedy. Pokud zde máte přístup k multimetru, můžete pomocí režimu kontinuity zkontrolovat, zda každý pin má nepřerušovanou linii k rezistoru. Pokud jste právě dostali multimetr, existuje skvělý průvodce, jak začít v tomto článku. 7 dovedností pro kutily pro výuku vašich dětí, protože školy to neudělají Přečtěte si více

obrázek kontinuity

Jakmile zkontrolujete každé připojení, odřízněte přebytečnou délku z nohou rezistorů

Přidávání síly

Nyní dejte kus drátu z GND kolíku vašeho Arduina do díry vedle místa, kde končí vaše řada pájených katod, a umístěte černý vodič držáku baterie vedle něj.

gnd dráty nahoru

Nyní pájejte drát na GND pin stejným způsobem jako u rezistorů a pájejte oba dráty na konec řady katod, abyste vytvořili společnou zem pro obvod.

Nakonec připojte drát k VIN kolíku arduina a přepněte jej mezi drát a baterii. Omlouvám se za vypínač pokrytý horkým lepidlem na této fotografii, musel jsem demontovat hotový stroj, abych mohl vyfotografovat tuto fázi!

vyměnit vin

Jakmile je vše pájeno, vložte baterii a přepněte spínač. Gratulujeme! Okruh je hotový. Pokud nevidíte žádné rozsvícení, zkontrolujte pečlivě každý pájecí spoj, abyste zjistili, kde může dojít k přerušení nebo zkratu.

Ohrada

Nyní, když to máme funkční, dáme to do krabice. Zde se použila malovaná lepenková krabice, i když byste mohli udělat něco trvalejšího pomocí krabice zakoupené v hobby obchodě nebo dokonce staré tupperwarové krabice. Chcete-li získat další geekový kredit, můžete si dokonce vytisknout vlastní 3D jedna z těchto levných 3D tiskáren. 5 levných 3D tiskáren, které můžete dnes koupitPřed několika lety se i nejlevnější 3D tiskárny nepohodlně přiblížily hranici 1 000 USD - nyní můžete získat kvalitní 3D tiskárnu již za 400 USD. Přečtěte si více

Omezte svůj protoboard tak, že jej okážete a opatrně odlomíte části, které nepotřebujete.

proto gif

Umístěte obvod dovnitř skříně a označte, kam musí diody LED a spínač propíchnout. Můžete také označit, kde se konektor USB na desce Arduino setkává s okrajem, takže jej můžete připojit a změnit text bez otevření pole. Vyvrtejte nebo vyřízněte otvory, které potřebujete, do krytu.

udělat díry

Nyní přidejte trochu horkého lepidla na okraje LED a přilepte je na místo. Pod obvod jsem nalepil kousek houby, aby seděl v krabici. Připojte spínač k pouzdru. Použil jsem horké lepidlo, i když šrouby nebo šrouby by zajistily mnohem silnější spojení. Můžete také přilepit držák baterie na zadní stranu desky plošných spojů, abyste zabránili jeho pohybu uvnitř položka se používá, ale ujistěte se, že se žádné kovové kontakty na pouzdru nedotýkají žádných pájených spojů!

měřicí spínač

Úloha je hotová!

Zavřete kryt a jste hotovi! Chcete-li změnit text, připojte kabel USB k desce Arduino a poté změňte text uvnitř závorek displayString v smyčka metoda. Najděte temné místo a bavte se!

pomalejší tempo

Postavili jste POV stroj dříve a znáte způsoby, jak vylepšit design? Plánujete stavbu sami? Řekněte nám o svém projektu v komentářích níže, rádi bychom ho slyšeli!

Ian Buckley je nezávislý novinář, hudebník, performer a video producent žijící v Berlíně v Německu. Když nepíše nebo na jevišti, pohrává si s elektronikou pro kutily nebo kódem v naději, že se stane šíleným vědcem.