Reklaam

Vilkuvate LED-ide abil saate teha igasuguseid asju ja selles lihtsas projektis valmistame väikese seadme, mis süttib õhus olevates teadetes, kui seda edasi-tagasi lainetada. See on lihtsam kui arvate ja osade kogumaksumus on alla 5 dollari.

Selles projektis kasutatakse optilist illusiooni, mida nimetatakse nägemise püsivuseks, et tekst ilmuks õhus. Tõenäoliselt olete selle nähtusega kokku puutunud, kui keegi liigutab öösel kiiresti süttinud sädemeid. Selle efekti matkimiseks kasutame Arduinot ja mõnda LED-i. Seda projekti on lihtne üles ehitada, väheste komponentide ja vähese jootmisega (ehkki kui soovite mõned näpunäited jootekolbiga alustamiseks, vaadake see juhend Õppige nende lihtsate näpunäidete ja projektide abil jootmistKas teid natuke hirmutab mõte kuumast rauast ja sulametallist? Kui soovite hakata tegelema elektroonikaga, peate õppima jootmist. Las me aitame. Loe rohkem ).

Sa vajad

  • Arduino (ma kasutasin 2-dollarist Nano-d, kuna see on kompaktne ja odav, kuid iga mudel peaks olema korras).
  • instagram viewer
  • 5x Punased LED-id.
  • 5x 220 oomi takistid.
  • 1x 9v akuhoidik.
  • 1x klahvlüliti.
  • 1x protoboardi tükk.
  • Valmistoote korpus (kasutasin väikest musta värvi pappkasti).

Kogu selle kokku panemiseks on vaja ka jootekolvi ja mõnda jootet.

Ehkki see on valikuline, võib mõni jootetükk olla väga kasulik juhuks, kui teete mingeid jootmisvigu. Vooluringi testimiseks on kasu ka leivalauast ja mõnest haakejuhtmest.

Projekti jaoks vajalikud komponendid

Juhtmestik

Juhtmestik ei saa olla lihtsam. Kõigepealt ühendage oma Arduino, LED-id ja takistid vastavalt joonisele.

pov fritimine

Nööpnõelad D2 kuni D6 lähevad vastavalt igale takistile, mis kinnitatakse iga valgusdioodi positiivse anoodi (pika jala) külge. Katood on ühendatud maapinnaga, mis ühendatakse tagasi Arduinoga. Kui see on valmis, peaks see välja nägema umbes selline:

pov leivalaud

See on see: meie vooluring on tehtud! Lisame hiljem aku korpuse ja lüliti, kuid see on kõik, mida peame kontrollima, kas see töötab.

Kood

Nüüd ühendage oma Arduino arvutiga ja avage Arduino IDE. Kui olete Arduino kasutamisega alustanud ja soovite hea liikumisjuhendi, see link Arduino kasutamise alustamine: Algajate juhendArduino on avatud lähtekoodiga elektroonika prototüüpide platvorm, mis põhineb paindlikul, hõlpsasti kasutataval riist- ja tarkvaral. See on mõeldud kunstnikele, disaineritele, harrastajatele ja kõigile, kes on huvitatud interaktiivsete objektide või keskkondade loomisest. Loe rohkem on kasulik.

Avage uus visand ja kopeerige see kood sisse. Koodi muudeti alates see projekt ja saate selle täielikult alla laadida sellel Gist.

// kui kaua iga led viibib. int viivitusaeg = 1; // kui kaua iga int charBreak vahel on = 3; // kui kaua oodata pärast teate valmimist, enne kui see kordub. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; kehtetu seadistus () { pinMode (LED1, VÄLJUND); pinMode (LED2, VÄLJUND); pinMode (LED3, VÄLJUND); pinMode (LED4, VÄLJUND); pinMode (LED5, VÄLJUND); } 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 va [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; vaheruum [] = {0, 0, 0, 0, 0}; void displayLine (int rida) { int myline; müliin = joon; 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);} } tühine displayChar (char c) { if (c == 'a') {jaoks (int i = 0; i <5; i ++) {displayLine (a [i]); viivitus (delayTime);} displayLine (0);} if (c == 'b') {jaoks (int i = 0; i <5; i ++) {displayLine (b [i]); viivitus (delayTime);} displayLine (0);} if (c == 'c2') {jaoks (int i = 0; i <5; i ++) {displayLine (c2 [i]); viivitus (delayTime);} displayLine (0);} if (c == 'd') {jaoks (int i = 0; i <5; i ++) {displayLine (d [i]); viivitus (delayTime);} displayLine (0);} if (c == 'e') {jaoks (int i = 0; i <5; i ++) {displayLine (e [i]); viivitus (delayTime);} displayLine (0);} if (c == 'f') {jaoks (int i = 0; i <5; i ++) {displayLine (f [i]); viivitus (delayTime);} displayLine (0);} if (c == 'g') {jaoks (int i = 0; i <5; i ++) {displayLine (g [i]); viivitus (delayTime);} displayLine (0);} if (c == 'h') {jaoks (int i = 0; i <5; i ++) {displayLine (h [i]); viivitus (delayTime);} displayLine (0);} if (c == 'i') {jaoks (int it = 0; see <5; see ++) {displayLine (i [it]); viivitus (delayTime);} displayLine (0);} if (c == 'j') {jaoks (int i = 0; i <5; i ++) {displayLine (j [i]); viivitus (delayTime);} displayLine (0);} if (c == 'k') {jaoks (int i = 0; i <5; i ++) {displayLine (k [i]); viivitus (delayTime);} displayLine (0);} if (c == 'l') {jaoks (int i = 0; i <5; i ++) {displayLine (l [i]); viivitus (delayTime);} displayLine (0);} if (c == 'm') {jaoks (int i = 0; i <5; i ++) {displayLine (m [i]); viivitus (delayTime);} displayLine (0);} if (c == 'n') {jaoks (int i = 0; i <5; i ++) {displayLine (n [i]); viivitus (delayTime);} displayLine (0);} if (c == 'o') {jaoks (int i = 0; i <5; i ++) {displayLine (o [i]); viivitus (delayTime);} displayLine (0);} if (c == 'p') {jaoks (int i = 0; i <5; i ++) {displayLine (p [i]); viivitus (delayTime);} displayLine (0);} if (c == 'q') {jaoks (int i = 0; i <5; i ++) {displayLine (q [i]); viivitus (delayTime);} displayLine (0);} if (c == 'r') {jaoks (int i = 0; i <5; i ++) {displayLine (r [i]); viivitus (delayTime);} displayLine (0);} if (c == 's') {jaoks (int i = 0; i <5; i ++) {displayLine (s [i]); viivitus (delayTime);} displayLine (0);} if (c == 't') {jaoks (int i = 0; i <5; i ++) {displayLine (t [i]); viivitus (delayTime);} displayLine (0);} if (c == 'u') {jaoks (int i = 0; i <5; i ++) {displayLine (u [i]); viivitus (delayTime);} displayLine (0);} if (c == 'v') {jaoks (int i = 0; i <5; i ++) {displayLine (v [i]); viivitus (delayTime);} displayLine (0);} if (c == 'w') {jaoks (int i = 0; i <5; i ++) {displayLine (w [i]); viivitus (delayTime);} displayLine (0);} if (c == 'x') {jaoks (int i = 0; i <5; i ++) {displayLine (x [i]); viivitus (delayTime);} displayLine (0);} if (c == 'y') {jaoks (int i = 0; i <5; i ++) {displayLine (y [i]); viivitus (delayTime);} displayLine (0);} if (c == 'z') {jaoks (int i = 0; i <5; i ++) {displayLine (z [i]); viivitus (delayTime);} displayLine (0);} if (c == '!') {jaoks (int i = 0; i <5; i ++) {displayLine (va [i]); viivitus (delayTime);} displayLine (0);} if (c == '?') {jaoks (int i = 0; i <5; i ++) {displayLine (küsimus [i]); viivitus (delayTime);} displayLine (0);} if (c == '.') {jaoks (int i = 0; i <5; i ++) {displayLine (eos [i]); viivitus (delayTime);} displayLine (0);} if (c == '') {jaoks (int i = 0; i <5; i ++) {displayLine (tühik [i]); viivitus (delayTime);} displayLine (0);} viivitus (charBreak); } void displayString (char * s) {jaoks (int i = 0; i = = strlen (id); i ++) {displayChar (s [i]); } } void loop () {// Kuvatava teksti muutmiseks muutke siin olevat teksti. // Hoidke kindlasti sulgudes ja jutumärkides. displayString (".. tere ..."); viivitus (40); }

Salvestage visand ja laadige see oma tahvlile üles. Vigade ilmnemisel veenduge, et olete valinud õige tahvli ja porti. Teie LED-id peaksid vilkuma. Kui nad seda ei tee, kontrollige kõiki oma ühendusi oma leiulaual. Koodi alguses deklareeritud täisarvud määravad, kui kiiresti teksti kuvatakse. Mida suurem number, seda kiiremini peate seadet lainetama. Leidsin, et siin kasutatud numbrid toimisid hästi.

Nüüd teha kiire test. Ühendage oma Arduino USB-kaabli küljest lahti ja kinnitage akuhoidik oma arduino VIN- ja GND-kontaktide külge

pov fritz koos lahinguga

Nüüd, kui saate seda ümber tõsta, proovige hoolikalt LED-sid teie ees pöörata. Te peaksite nägema õhus moodustuvaid tähti, kui see on teie ümber piisavalt tume. Leidsin, et see aitas telefoni üles seada, et seda jäädvustada.

leivakatse

See töötab! Nüüd, et muuta see natuke püsivamaks.

Triikrauad valmis!

Pange oma Protoboardile Arduino plaat, takistid ja LED-id:

pardal välja pandud

Muidugi saate paigutuse muuta nii kompaktseks, kui soovite, kui vooluring jääb samaks. Komponentide ja toiteallika jaoks jätke vähemalt üks rida protoplaadi kontakte Arduino mõlemal küljel. Kui olete elektroonika algaja, siis siin on mõned suurepäraseid näpunäiteid teile Algaja elektroonika: 10 oskust, mida peate teadmaPaljud meist pole kunagi isegi jootekolbi puudutanud - kuid asjade tegemine võib olla uskumatult rahuldust pakkuv. Siin on kümme kõige põhilisemat DIY-elektroonikaoskust, mis aitavad teil alustada. Loe rohkem .

Joonistame LED-katoodid üksteise järel joonde moodustamiseks, sarnaselt sellele, mida tegime LED maatriks Uuendage oma jõulupärg liikumisega aktiveeritud LED-maatriksi abilSee DIY jõulupärg kasutab Arduino ja LED-maatriksit hämmastava valgustuskuvari saamiseks, mis jätab mulje teie sõpradele ja perele. Loe rohkem .

rea katoodid

Pöörake iga katood kokku, nii et see kattuks järgmisega, ja jootke need ühe katkematu joone loomiseks. Nüüd peame oma anoodid jootma nende kõrval asuvate takistite jalgade külge. Leidsin, et lihtsaim viis selleks on kummagi jala jootmine vastava padja külge ja seejärel jalgade asetamine rauda nende vahel mõlema vuugi soojendamiseks, enne kui lõpuks lisada veel jootet, et täita vahe neid.

Kontrollige iga ühendust, et näha, kas see on kindlalt kinnitatud, ja lõigake seejärel traadilõikuritega üleliigsed jalad takistidest ja LED-idest.

takistid anoodidele

Nüüd korrake sama ülesannet, kuid seekord ühendage meie takistite teine ​​ots Arduino jalgadega. See on kõige jumekam osa jootmisest. Iga takisti kinnitub palju ainult oma Arduino tihvti külge, vastasel juhul ei tööta vooluahel nii, nagu ette nähtud. Tegin siin mitu viga ja pidin mitu korda soovimatu joodise eemaldamiseks kasutama joodise taht.

Kui olete kõik õiged ühendused teinud, kontrollige veelkord, et ükski neist ei kattuks naabritega. Kui teil on siin juurdepääs multimeetrile, saate kasutada pidevusrežiimi, et kontrollida, kas igal tihvtil on takisti katkematu rida. Kui olete just saanud multimeetri, on olemas suurepärane tutvumisjuhend selles artiklis. 7 DIY tehnilist oskust oma lapsi õpetada, sest koolid seda ei tee Loe rohkem

järjepidevuse pilt

Kui olete iga ühenduse kontrollinud, lõigake takistuste jalgadelt üleliigne pikkus

Toite lisamine

Nüüd jookse tükk traati oma Arduino GND-tihvti juurest augu juurde, kus joodetud katoodide rida lõpeb, ja asetage akuhoidja must juhe selle kõrvale.

gnd juhtmed top

Jootke nüüd juhe GND-tihvti külge samamoodi nagu seda tegime takistidega ja jootke mõlemad juhtmed katoodijoone lõpuni, et luua vooluringile ühine alus.

Lõpuks kinnitage juhe oma arduino VIN-i tihvti külge ja pange lüliti selle juhtme ja aku vahel. Vabandused selle foto peal oleva liimiga kaetud lüliti pärast. Selle etapi pildistamiseks pidin valmis masina demonteerima!

vaheta vin

Kui see on kõik kokku joodetud, pange aku sisse ja nipsutage lülitit. Palju õnne! Vooluring on tehtud. Kui te ei näe midagi süttivat, kontrollige hoolikalt iga jooteliidet, et näha, kus võib esineda purunemist või lühist.

Karbid

Nüüd, kui see töötab, paneme selle kasti. Siin kasutati värvitud pappkasti, ehkki hobipoest ostetud kasti või isegi vana tupperwarekarbi abil võiks midagi püsivamat teha. Täpsema krediidi saamiseks võite isegi 3D-d ise printida üks neist odavatest 3D-printeritest. 5 odavat 3D-printerit, mida saate tegelikult juba täna ostaMõni aasta tagasi olid isegi kõige odavamad 3D-printerid ebatäpselt lähedal 1000 dollari piirile - nüüd saate kvaliteetse 3D-printeri hinnaga alates 400 dollarist. Loe rohkem

Vähendage oma protoboardi suuruse järgi, skoorides selle läbi ja koputades ettevaatlikult vajalikud osad ära.

proto gif

Pange vooluring oma korpusesse ja märkige, kuhu LED-id ja lüliti peavad läbi lööma. Valikuliselt saate ka märkida, kus Arduino tahvli USB-pistik vastab servale, et saaksite selle teksti sisestamiseks teksti muuta, ilma karpi avamata. Puurige või lõigake vajalikud avad korpusesse.

teha auke

Nüüd lisage LED-de servadesse veidi kuuma liimi ja kleepige need oma kohale. Liimisin tüki käsna vooluringi alla nii, et see istuks tihedalt karbis. Kinnitage lüliti korpuse külge. Kasutasin kuuma liimi, ehkki kruvid või poldid looksid palju tugevama ühenduse. Samuti võiksite akuhoidja liimida trükkplaadi tagaküljele, et see ei liiguks, kui toode on kasutuses, kuid veenduge, et korpusel olevad metallkontaktid ei puuduta ühtegi teie jooteühendust!

mõõtke lülitit

Töö on tehtud!

Sulgege oma korpus ja oletegi valmis! Teksti muutmiseks ühendage USB-kaabel Arduino tahvli külge ja muutke pärast seda sulgude sees olevat teksti displayString sisse silmus meetod. Leidke pime koht ja nautige!

aeglasem tempo

Kas olete juba varem POV-masina ehitanud ja teate, kuidas disaini täiustada? Kas plaanite ise seda ehitada? Rääkige meile oma projektist allolevates kommentaarides, me tahaksime seda kuulda!

Ian Buckley on vabakutseline ajakirjanik, muusik, esineja ja videotootja, kes elab Berliinis, Saksamaal. Kui ta ei kirjuta ega laval, tikib ta DIY elektroonika või koodi abil lootuses saada hulluks teadlaseks.