Reklama

S blikajúcimi diódami LED môžete robiť najrôznejšie veci. V tomto jednoduchom projekte vytvoríme malé zariadenie, ktoré rozsvieti správy vo vzduchu, keď ich mávate tam a späť. Je to jednoduchšie, ako si myslíte, a celkové náklady na diely sú pod 5 dolárov.

Tento projekt využíva optickú ilúziu nazývanú perzistencia videnia, aby sa text objavil vo vzduchu. Pravdepodobne ste sa stretli s týmto fenoménom, keď niekto v noci rýchlo pohne zapáleným prskavka. Na napodobnenie tohto účinku použijeme Arduino a niektoré diódy LED. Tento projekt sa dá ľahko zostaviť, má niekoľko komponentov a malé spájkovanie (ak však chcete nejaké tipy na začatie spájkovačky, pozrite sa na tento sprievodca Naučte sa spájkovať pomocou týchto jednoduchých tipov a projektovSte trochu zastrašení myšlienkou na horúce železo a roztavený kov? Ak chcete začať pracovať s elektronikou, musíte sa naučiť spájkovať. Pomôžeme. Čítaj viac ).

Budete potrebovať

  • Arduino (použil som nano 2 $, pretože je kompaktný a lacný, ale každý model by mal byť v poriadku).
  • instagram viewer
  • 5x Červené LED.
  • 5x Odpory 220 Ohm.
  • 1x Držiak batérie 9V.
  • 1x kolískový spínač.
  • 1x protoboard.
  • Kryt pre hotový výrobok (použil som malú kartónovú krabičku natretú čiernou farbou).

Na to, aby ste to všetko dali dokopy, budete potrebovať spájku a nejakú spájku.

Aj keď je voliteľné, niektoré spájkovacie knôty sa môžu hodiť v prípade, že urobíte akékoľvek chyby spájkovania. Na testovanie obvodu je tiež užitočné použiť doštičku a niektoré drôty.

Komponenty požadované pre projekt

Elektrické vedenie

Zapojenie nemôže byť jednoduchšie. Najskôr pripojte Arduino, LED a odpory, ako je to znázornené na tomto diagrame.

pov fritzing

Kolíky D2 až D6 smerujú ku každému rezistoru, ktoré sú pripojené k pozitívnej anóde (dlhá noha) každej LED. Katóda je spojená so zemou, ktorá sa pripája späť k Arduino. Po dokončení by to malo vyzerať takto:

pov doska na varenie

To je všetko: náš okruh je hotový! Neskôr pridáme puzdro na batériu a prepnúť naň, ale to je všetko, čo musíme otestovať, či to funguje.

kód

Teraz pripojte Arduino k počítaču a otvorte Arduino IDE. Ak ste začínajú používať Arduino a chcete dobrého sprievodcu, ako ísť, tento odkaz Začíname s Arduino: Príručka pre začiatočníkovArduino je otvorená prototypová platforma elektroniky založená na flexibilnom, ľahko použiteľnom hardvéri a softvéri. Je určený pre umelcov, dizajnérov, fandov a kohokoľvek, kto má záujem vytvárať interaktívne objekty alebo prostredia. Čítaj viac bude užitočné.

Otvorte novú skicu a skopírujte tento kód do. Kód bol zmenený z tento projekt a môžete si ho stiahnuť v plnom rozsahu v tomto Gist.

// ako dlho zostáva každá led zapnutá. int delayTime = 1; // ako dlho medzi každým int charBreak = 3; // ako dlho čakať na dokončenie správy pred jej opakovaním. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; neplatné nastavenie () { 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 1 [] = {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 okrem [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; int medzera [] = {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) { ak (c == 'a') {pre (int i = 0; i <5; i ++) {displayLine (a [i]); delay (delayTime);} displayLine (0);} ak (c == 'b') {pre (int i = 0; i <5; i ++) {displayLine (b [i]); delay (delayTime);} displayLine (0);} ak (c == 'c2') {pre (int i = 0; i <5; i ++) {displayLine (c2 [i]); delay (delayTime);} displayLine (0);} ak (c == 'd') {pre (int i = 0; i <5; i ++) {displayLine (d [i]); delay (delayTime);} displayLine (0);} ak (c == 'e') {pre (int i = 0; i <5; i ++) {displayLine (e [i]); delay (delayTime);} displayLine (0);} ak (c == 'f') {pre (int i = 0; i <5; i ++) {displayLine (f [i]); delay (delayTime);} displayLine (0);} ak (c == 'g') {pre (int i = 0; i <5; i ++) {displayLine (g [i]); delay (delayTime);} displayLine (0);} ak (c == 'h') {pre (int i = 0; i <5; i ++) {displayLine (h [i]); delay (delayTime);} displayLine (0);} ak (c == 'i') {for (int it = 0; je to <5; it ++) {displayLine (i [it]); delay (delayTime);} displayLine (0);} ak (c == 'j') {pre (int i = 0; i <5; i ++) {displayLine (j [i]); delay (delayTime);} displayLine (0);} ak (c == 'k') {pre (int i = 0; i <5; i ++) {displayLine (k [i]); delay (delayTime);} displayLine (0);} ak (c == 'l') {pre (int i = 0; i <5; i ++) {displayLine (l [i]); delay (delayTime);} displayLine (0);} ak (c == 'm') {pre (int i = 0; i <5; i ++) {displayLine (m [i]); delay (delayTime);} displayLine (0);} ak (c == 'n') {pre (int i = 0; i <5; i ++) {displayLine (n [i]); delay (delayTime);} displayLine (0);} ak (c == 'o') {pre (int i = 0; i <5; i ++) {displayLine (o [i]); delay (delayTime);} displayLine (0);} ak (c == 'p') {pre (int i = 0; i <5; i ++) {displayLine (p [i]); delay (delayTime);} displayLine (0);} ak (c == 'q') {pre (int i = 0; i <5; i ++) {displayLine (q [i]); delay (delayTime);} displayLine (0);} ak (c == 'r') {pre (int i = 0; i <5; i ++) {displayLine (r [i]); delay (delayTime);} displayLine (0);} ak (c == 's') {pre (int i = 0; i <5; i ++) {displayLine (s [i]); delay (delayTime);} displayLine (0);} ak (c == 't') {pre (int i = 0; i <5; i ++) {displayLine (t [i]); delay (delayTime);} displayLine (0);} ak (c == 'u') {pre (int i = 0; i <5; i ++) {displayLine (u [i]); delay (delayTime);} displayLine (0);} ak (c == 'v') {for (int i = 0; i <5; i ++) {displayLine (v [i]); delay (delayTime);} displayLine (0);} ak (c == 'w') {pre (int i = 0; i <5; i ++) {displayLine (w [i]); delay (delayTime);} displayLine (0);} ak (c == 'x') {pre (int i = 0; i <5; i ++) {displayLine (x [i]); delay (delayTime);} displayLine (0);} ak (c == 'y') {pre (int i = 0; i <5; i ++) {displayLine (y [i]); delay (delayTime);} displayLine (0);} ak (c == 'z') {pre (int i = 0; i <5; i ++) {displayLine (z [i]); delay (delayTime);} displayLine (0);} ak (c == '!') {pre (int i = 0; i <5; i ++) {displayLine (okrem [i]); delay (delayTime);} displayLine (0);} ak (c == '?') {pre (int i = 0; i <5; i ++) {displayLine (ques [i]); delay (delayTime);} displayLine (0);} ak (c == '.') {for (int i = 0; i <5; i ++) {displayLine (eos [i]); delay (delayTime);} displayLine (0);} ak (c == '') {pre (int i = 0; i <5; i ++) {displayLine (medzera [i]); delay (delayTime);} displayLine (0);} oneskorenie (charBreak); } void displayString (char * s) {for (int i = 0; i <= šírka (s); i ++) {displayChar (s [i]); } } void loop () {// Zmeňte text vo vnútri a zmeňte zobrazený text. // Udržujte zátvorky a úvodzovky. DisplayString ( ".. hello ..."); oneskorenie (40); }

Uložte náčrt a nahrajte ho na svoju dosku. Ak sa vyskytnú nejaké chyby, uistite sa, že máte vybratú správnu dosku a port. Vaše LED by mali začať blikať. Ak to tak nie je, skontrolujte všetky svoje pripojenia na svojej doske. Celé čísla deklarované na začiatku kódu určujú rýchlosť zobrazenia textu. Čím vyššie číslo, tým rýchlejšie budete musieť zariadenie mávať. Zistil som, že tu použité čísla fungovali dobre.

Teraz urobte rýchly test. Odpojte Arduino od kábla USB a pripevnite držiak batérie k kolíkom VIN a GND vášho arduina

pov fritz s batt

Teraz, keď ho môžete posúvať, skúste opatrne rozsvietiť LED diódy pred vami. Vo vzduchu by ste mali vidieť nejaké písmená, pokiaľ sú okolo vás dosť tmavé. Zistil som, že to pomohlo nastaviť môj telefón, aby to zachytil.

test chleba

Funguje to! Teraz, aby bol trochu trvalejší.

Žehličky v pohotovosti!

Položte svoju dosku Arduino, odpory a LED na váš protoboard takto:

umiestnené na palube

Môžete samozrejme urobiť rozloženie tak kompaktné, ako si prajete, ak obvod zostane rovnaký. Uistite sa, že na každej strane vášho Arduina necháte aspoň jeden rad protoboardných kontaktov, pokiaľ ide o komponenty a napájanie. Ak ste začiatočník v elektronike, tu je niekoľko skvelé tipy pre vás Elektronika pre začiatočníkov: 10 zručností, ktoré potrebujete vedieťMnohí z nás sa nikdy nedotkli spájkovačky - ale robiť veci môže byť neuveriteľne prospešné. Tu je desať najzákladnejších elektronických zručností pre domácich majstrov, ktoré vám pomôžu začať. Čítaj viac .

Spájkujeme katódy LED spolu v jednej línii, aby sme vytvorili spoločnú reč, rovnako ako sme to urobili, keď sme urobili našu LED matica Vylepšite si vianočný veniec pomocou LED diód s aktiváciou pohybuTento vianočný veniec pre domácich majstrov využíva maticu Arduino a LED na vytvorenie úžasného osvetľovacieho displeja, ktorý zapôsobí na vašich priateľov a rodinu. Čítaj viac .

radové katódy

Každú katódu preložte tak, aby prekrývala ďalšiu, a spájkujte ich, aby ste vytvorili jednu neprerušenú čiaru. Teraz musíme spájať naše anódy k nohám rezistorov vedľa nich. Našiel som najjednoduchší spôsob, ako to urobiť, je spájkovať každú nohu do príslušnej podložky a umiestniť ju železo medzi nimi zohrejte obidva kĺby a potom nakoniec pridajte ďalšiu spájku na preklenutie medzery medzi nimi ne.

Skontrolujte každé pripojenie, či je pevne pripevnené, a potom pomocou nožov na drôty odrežte prebytočné nohy od rezistorov a diód LED.

rezistory na anódy

Teraz zopakujte tú istú úlohu, ale tentoraz pripojenie druhého konca našich odporov k nohám Arduina. Toto je najposmyslnejšia časť spájkovania. Každý rezistor sa veľmi pripája k svojmu Arduino kolíku sám alebo obvod nebude fungovať tak, ako má. Urobil som tu niekoľko chýb a musel som použiť spájkovací knôt na odstránenie nechcenej spájky viackrát.

Po vytvorení všetkých správnych spojení dvakrát skontrolujte, či sa žiadne z nich neprekrýva so susedmi. Ak tu máte prístup k multimetru, môžete pomocou režimu kontinuity skontrolovať, či každý kolík má neprerušovanú čiaru k odporu. Ak ste práve dostali multimeter, je tu vynikajúci sprievodca, ako začať v tomto článku. 7 remeselníckych zručností pre výučbu vašich detí, pretože školy to nebudú robiť Čítaj viac

obrázok kontinuity

Po skontrolovaní každého pripojenia odrežte nadmernú dĺžku z nôh rezistorov

Pridávanie sily

Teraz spustite kúsok drôtu z GND kolíka vášho Arduina do otvoru vedľa miesta, kde končí vaša línia spájkovaných katód, a umiestnite čierny drôt držiaka batérie vedľa neho.

gnd drôty hore

Teraz pripojte drôt k GND kolíku rovnakým spôsobom, ako sme to urobili s rezistormi, a spájajte oba vodiče na koniec katódovej línie, aby ste vytvorili spoločnú zem pre obvod.

Nakoniec pripojte drôt ku kolíku VIN vášho arduino a prepnite prepínač medzi týmto drôtom a batériou. Ospravedlňujeme sa za vypínač s lepidlom na horúcom lepidle na tejto fotografii, musel som demontovať hotový stroj na fotografovanie tejto fázy!

prepnúť víno

Po úplnom spájkovaní vložte batériu a prepnite prepínač. Blahoželáme! Okruh je hotový. Ak nevidíte nič, čo by sa rozsvietilo, skontrolujte každý spájkovací spoj opatrne, aby ste zistili, kde môže dôjsť k prerušeniu alebo skratu.

Ohrada

Teraz, keď to máme funkčné, poďme to dať do krabice. Tu sa používala maľovaná lepenková škatuľka, aj keď by ste mohli urobiť niečo trvalejšie pomocou škatule zakúpenej v obchode s potrebami pre voľný čas alebo dokonca starej škatule na tupperware. Pre extra geek úver, môžete si dokonca 3D tlačiť na svoje vlastné jedna z týchto lacných 3D tlačiarní. 5 lacných 3D tlačiarní, ktoré si dnes môžete kúpiťPred niekoľkými rokmi boli dokonca aj najlacnejšie 3D tlačiarne nepohodlne blízko k hranici 1 000 dolárov - teraz môžete získať kvalitnú 3D tlačiareň už za 400 dolárov. Čítaj viac

Znížte svoj protoboard tak, že ho vyfrézujete a opatrne vytrhnete časti, ktoré nepotrebujete.

preto gif

Vložte obvod do krytu a označte, kam musia diery LED a spínač prepichnúť. Môžete tiež označiť, kde sa konektor USB na doske Arduino stretáva s okrajom, takže ho môžete pripojiť a zmeniť text bez otvorenia poľa. Vyvŕtajte alebo vyrežte potrebné otvory do krytu.

urobiť diery

Teraz pridajte trochu horúceho lepidla k okrajom diód LED a prilepte ich na miesto. Pod obvodom som nalepil kúsok špongie tak, aby pohodlne sedel v krabici. Pripojte spínač k puzdru. Použil som horúce lepidlo, hoci skrutky alebo svorníky by vytvorili oveľa silnejšie spojenie. Držiak batérie môžete prilepiť aj na zadnú stranu dosky plošných spojov, aby sa zastavil jeho pohyb vo vnútri položka sa používa, ale uistite sa, že sa žiadne kovové kontakty na puzdre nedotýkajú žiadnych spájkovacích spojov!

merací spínač

Úloha je hotová!

Zatvorte kryt a máte hotovo! Ak chcete zmeniť text, pripojte kábel USB k doske Arduino a potom text zmeňte v zátvorkách DisplayString v slučka metóda. Nájdite temné miesto a bavte sa!

pomalším tempom

Už ste predtým postavili stroj POV a vedeli ste, ako vylepšiť dizajn? Plánujete stavbu sami? Povedzte nám o svojom projekte v komentároch nižšie, radi by sme ho počuli!

Ian Buckley je nezávislý novinár, hudobník, performer a video producent žijúci v Berlíne v Nemecku. Keď nepíše alebo je na pódiu, pohráva sa s elektronikou alebo kódom pre domácich majstrov v nádeji, že sa stane šialeným vedcom.