Skelbimas

Su mirksinčiais šviesos diodais galite atlikti įvairius dalykus, o šiame paprastame projekte mes pagaminsime nedidelį prietaisą, kuris šviečia pranešimais ore, kai banguojate pirmyn ir atgal. Tai lengviau, nei jūs manote, o visos dalių kainos yra mažesnės nei 5 USD.

Šis projektas panaudoja optinę iliuziją, vadinamą nuolatiniu matymu, kad tekstas pasirodytų ore. Tikriausiai esate susidūręs su šiuo reiškiniu, kai kas nors naktį greitai įjungia uždegtą kibirkštį. Norėdami imituoti šį efektą, naudosime „Arduino“ ir keletą šviesos diodų. Šis projektas yra lengvai kuriamas, jame nedaug komponentų ir mažai litavimo (nors jei norite patarimų, kaip pradėti naudotis lituokliu, apsilankykite šis vadovas Sužinokite, kaip lituoti, naudodamiesi šiais paprastais patarimais ir projektaisAr jus šiek tiek baugina mintis apie karštą geležį ir išlydytą metalą? Jei norite pradėti dirbti su elektronika, turėsite išmokti lituoti. Leisk mums padėti. Skaityti daugiau ).

Jums reikės

  • „Arduino“ (aš naudojau 2 USD vertės „Nano“, nes jis yra kompaktiškas ir pigus, tačiau bet koks modelis turėtų būti puikus).
    instagram viewer
  • 5x Raudoni šviesos diodai.
  • 5x 220 omų varžai.
  • 1x 9v akumuliatoriaus laikiklis.
  • 1x svirties jungiklis.
  • 1x prototipo gabalas.
  • Gatavo produkto korpusas (aš naudojau nedidelę juodos spalvos dažytą kartoninę dėžutę).

Jums taip pat reikės lituoklio ir šiek tiek litavimo, kad viską sudėtumėte.

Kai kurie litavimo dagčiai yra neprivalomi, jie gali būti labai naudingi tuo atveju, jei padarysite litavimo klaidų. Plokštė ir kai kurie jungiamieji laidai taip pat naudingi norint patikrinti jūsų grandinę.

Projektui reikalingi komponentai

Laidai

Laidų instaliacija negalėjo būti paprastesnė. Pirmiausia prijunkite „Arduino“, šviesos diodus ir rezistorius, kaip parodyta šioje diagramoje.

pov fritingas

Smeigtukai D2 – D6 eina atitinkamai į kiekvieną rezistorių, kurie pritvirtinami prie teigiamo kiekvieno šviesos diodo anodo (ilgosios kojos). Katodas yra prijungtas prie žemės, kuris vėl jungiasi prie Arduino. Baigęs jis turėtų atrodyti maždaug taip:

pov duonos lenta

Štai viskas: mūsų grandinė padaryta! Vėliau pridėsime akumuliatoriaus korpusą ir jungiklį, tačiau tai viskas, ko mums reikia norint patikrinti, ar jis veikia.

Kodas

Dabar prijunkite „Arduino“ prie kompiuterio ir atidarykite „Arduino IDE“. Jei dar nesinaudojote „Arduino“ ir norite gero vadovo, kaip pradėti, šią nuorodą Darbo pradžia „Arduino“: vadovas pradedančiajam„Arduino“ yra atvirojo kodo elektronikos prototipų kūrimo platforma, pagrįsta lanksčia, lengvai naudojama aparatine ir programine įranga. Jis skirtas menininkams, dizaineriams, mėgėjams ir visiems, besidomintiems interaktyvių objektų ar aplinkos kūrimu. Skaityti daugiau bus naudinga.

Atidarykite naują eskizą ir nukopijuokite šį kodą į. Kodas buvo pakeistas nuo Šis projektas ir galite atsisiųsti visą ties šiuo Gistu.

// kiek laiko kiekvienas vedamas pasilieka. int delayTime = 1; // kiek laiko tarp kiekvieno int charBreak = 3; // kiek laiko laukti, kai pranešimas bus baigtas, kol jis pasikartos. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; negaliojanti sąranka () { 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 išskyrus [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; vidinė erdvė [] = {0, 0, 0, 0, 0}; void displayLine (vidinė eilutė) { int myline; myline = linija; 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);} } negaliojantis „displayChar“ (char c) { if (c == 'a') {už (int i = 0; i <5; i ++) {displayLine (a [i]); delay (delayTime);} displayLine (0);} if (c == 'b') {už (int i = 0; i <5; i ++) {displayLine (b [i]); delay (delayTime);} displayLine (0);} if (c == 'c2') {už (int i = 0; i <5; i ++) {displayLine (c2 [i]); delay (delayTime);} displayLine (0);} if (c == 'd') {už (int i = 0; i <5; i ++) {displayLine (d [i]); delay (delayTime);} displayLine (0);} if (c == 'e') {už (int i = 0; i <5; i ++) {displayLine (e [i]); delay (delayTime);} displayLine (0);} if (c == 'f') {už (int i = 0; i <5; i ++) {displayLine (f [i]); delay (delayTime);} displayLine (0);} if (c == 'g') {už (int i = 0; i <5; i ++) {displayLine (g [i]); delay (delayTime);} displayLine (0);} if (c == 'h') {už (int i = 0; i <5; i ++) {displayLine (h [i]); delay (delayTime);} displayLine (0);} if (c == 'i') {už (int it = 0; tai <5; it ++) {displayLine (i [it]); delay (delayTime);} displayLine (0);} if (c == 'j') {už (int i = 0; i <5; i ++) {displayLine (j [i]); delay (delayTime);} displayLine (0);} if (c == 'k') {už (int i = 0; i <5; i ++) {displayLine (k [i]); delay (delayTime);} displayLine (0);} if (c == 'l') {už (int i = 0; i <5; i ++) {displayLine (l [i]); delay (delayTime);} displayLine (0);} if (c == 'm') {už (int i = 0; i <5; i ++) {displayLine (m [i]); delay (delayTime);} displayLine (0);} if (c == 'n') {už (int i = 0; i <5; i ++) {displayLine (n [i]); delay (delayTime);} displayLine (0);} if (c == 'o') {už (int i = 0; i <5; i ++) {displayLine (o [i]); delay (delayTime);} displayLine (0);} if (c == 'p') {už (int i = 0; i <5; i ++) {displayLine (p [i]); delay (delayTime);} displayLine (0);} if (c == 'q') {už (int i = 0; i <5; i ++) {displayLine (q [i]); delay (delayTime);} displayLine (0);} if (c == 'r') {už (int i = 0; i <5; i ++) {displayLine (r [i]); delay (delayTime);} displayLine (0);} if (c == 's') {už (int i = 0; i <5; i ++) {displayLine (s [i]); delay (delayTime);} displayLine (0);} if (c == 't') {už (int i = 0; i <5; i ++) {displayLine (t [i]); delay (delayTime);} displayLine (0);} if (c == 'u') {už (int i = 0; i <5; i ++) {displayLine (u [i]); delay (delayTime);} displayLine (0);} if (c == 'v') {už (int i = 0; i <5; i ++) {displayLine (v [i]); delay (delayTime);} displayLine (0);} if (c == 'w') {už (int i = 0; i <5; i ++) {displayLine (w [i]); delay (delayTime);} displayLine (0);} if (c == 'x') {už (int i = 0; i <5; i ++) {displayLine (x [i]); delay (delayTime);} displayLine (0);} if (c == 'y') {už (int i = 0; i <5; i ++) {displayLine (y [i]); delay (delayTime);} displayLine (0);} if (c == 'z') {už (int i = 0; i <5; i ++) {displayLine (z [i]); delay (delayTime);} displayLine (0);} if (c == '!') {už (int i = 0; i <5; i ++) {displayLine (išskyrus [i]); delay (delayTime);} displayLine (0);} if (c == '?') {už (int i = 0; i <5; i ++) {displayLine (Quest [i]); delay (delayTime);} displayLine (0);} if (c == '.') {už (int i = 0; i <5; i ++) {displayLine (eos [i]); delay (delayTime);} displayLine (0);} if (c == '') {už (int i = 0; i <5; i ++) {displayLine (tarpas [i]); delay (delayTime);} displayLine (0);} vėlavimas (charBreak); } void displayString (char * s) {for (int i = 0; i <= strlenas (-ai); i ++) {displayChar (s [i]); } } void loop () {// Norėdami pakeisti rodomą tekstą, pakeiskite čia esantį tekstą. // Būtinai laikykite skliaustus ir kabutes. displayString (".. labas ..."); vėlavimas (40); }

Išsaugokite eskizą ir įkelkite jį į savo lentą. Jei gaunate klaidų, įsitikinkite, kad pasirinkote tinkamą plokštę ir komortą. Jūsų šviesos diodai turėtų pradėti mirksėti. Jei jų nėra, patikrinkite visus savo ryšius ant savo lentos. Kodo pradžioje deklaruoti sveikieji skaičiai lemia, kaip greitai rodomas tekstas. Kuo didesnis skaičius, tuo greičiau reikės banguoti įrenginį. Radau, kad čia naudojami skaičiai gerai veikė.

Dabar reikia atlikti greitą testą. Atjunkite „Arduino“ nuo USB laido ir pritvirtinkite akumuliatoriaus laikiklį prie „Arduino“ VIN ir GND kontaktų.

pov Fritz su batt

Dabar, kai galite jį perkelti, atsargiai pabandykite pasukti šviesos diodus priešais jus. Jūs turėtumėte pamatyti ore besiformuojančias raides, jei aplinkui yra pakankamai tamsu. Radau, kad tai padėjo nustatyti mano telefoną, kad tai užfiksuotų.

duonos testas

Tai veikia! Dabar, kad jis būtų šiek tiek nuolatinesnis.

Lygintuvai pasiruošę!

Ant savo proto lentos pastatykite „Arduino“ plokštę, rezistorius ir šviesos diodus:

išdėstytas laive

Žinoma, jūs galite padaryti išdėstymą kuo kompaktiškesnį, jei norite, kad grandinė išliktų tokia pati. Įsitikinkite, kad kiekvienoje „Arduino“ pusėje palikote bent vieną proto lentos kontaktą, skirtą komponentams ir maitinimo šaltiniui. Jei esate elektronikos pradedantysis, štai keletas puikūs patarimai jums Pradedančiųjų elektronika: 10 įgūdžių, kuriuos reikia žinotiDaugelis iš mūsų niekada net nelietė lituoklio, tačiau viską pasidaryti gali būti nepaprastai naudinga. Čia yra dešimt elementariausių „pasidaryk pats“ elektronikos įgūdžių, kurie padės pradėti. Skaityti daugiau .

Mes lituosime LED katodus kartu iš eilės, kad susidarytume bendrą pagrindą, panašiai kaip mes darėme, kai darėme LED matrica Atnaujinkite savo kalėdinį vainiką naudodami judesiais aktyvinamą LED matricąŠis „pasidaryk pats“ kalėdinis vainikas naudoja „Arduino“ ir LED matricas, kad sukurtų nuostabų apšvietimo ekraną, kuris sužavės tavo draugus ir šeimos narius. Skaityti daugiau .

eilučių katodai

Sulenkite kiekvieną katodą taip, kad jis sutaptų su kitu, ir lituokite juos, kad sukurtumėte vieną nenutrūkstamą liniją. Dabar turime lituoti savo anodus šalia rezistorių kojų. Radau lengviausią būdą tai padaryti - priklijuoti kiekvieną koją prie atitinkamos padėklo, o tada sudėti geležį tarp jų, kad šildytų abi jungtis, prieš tai įpildami daugiau lydmetalio, kad užpildytumėte tarpą juos.

Patikrinkite kiekvieną jungtį ir įsitikinkite, kad jis tvirtai pritvirtintas, tada naudokite vielos pjaustytuvus, kad nuo rezistorių ir šviesos diodų nupjautumėte perteklines kojas.

rezistoriai prie anodų

Dabar pakartokite tą pačią užduotį, bet šį kartą kitą mūsų rezistorių galą prijunkite prie Arduino kojų. Tai yra lengviausia litavimo dalis. Kiekvienas rezistorius, daug pritvirtintas prie savo „Arduino“ kaiščio, kitaip grandinė neveiks taip, kaip numatyta. Čia padariau keletą klaidų ir turėjau naudoti litavimo daktą, norėdamas kelis kartus pašalinti nepageidaujamą litavimą.

Pavedę visus teisingus ryšius, dar kartą patikrinkite, ar nė vienas iš jų nesutampa su kaimynais. Jei čia turite prieigą prie multimetro, galite naudoti tęstinumo režimą, kad patikrintumėte, ar kiekvienas kaištis turi nenutrūkstamą jo rezistoriaus liniją. Jei ką tik įsigijote multimetrą, yra puikus pradžios vadovas šiame straipsnyje. 7 „pasidaryk pats“ įgūdžiai mokyti savo vaikus, nes mokyklos to nedalyvaus Skaityti daugiau

tęstinumo paveikslas

Patikrinę kiekvieną jungtį, iš rezistorių kojų iškirpkite perteklinį ilgį

Galios pridėjimas

Dabar praleiskite vielos gabalą nuo savo Arduino GND kaiščio iki skylės, esančios šalia to, kur baigiasi jūsų litavimo katodų eilutė, ir padėkite šalia jo juodą akumuliatoriaus laikiklio laidą.

„gnd“ laidai viršuje

Dabar lydome laidą prie GND kaiščio, lygiai taip pat, kaip mes darėme su rezistoriais, ir lydome abu laidus iki katodų linijos galo, kad sukurtume bendrą grandinės pagrindą.

Galiausiai pritvirtinkite laidą prie savo arduino VIN kaiščio ir perjunkite jungiklį tarp tos laido ir akumuliatoriaus. Atsiprašome už karštu klijais dengtą jungiklį šioje nuotraukoje, kad nufotografuoti šį etapą, aš turėjau išardyti gatavą mašiną!

perjungti vin

Kai viskas bus sudedama, įdėkite akumuliatorių ir brūkštelėkite jungiklį. Sveikiname! Grandinė padaryta. Jei nematote nieko užsidegančio, atidžiai patikrinkite kiekvieną litavimo jungtį, kad pamatytumėte, kur gali būti pertrauka ar trumpasis jungimas.

Gaubtas

Dabar, kai jis veikia, sudėkime į dėžę. Čia buvo naudojama dažyta kartoninė dėžutė, nors galėtumėte padaryti ką nors patvaresnio naudodami dėžę, įsigytą pomėgių parduotuvėje, ar net seną tupperware dėžutę. Norėdami gauti papildomų geek cred, jūs netgi galite spausdinti 3D formatu patys vienas iš šių pigių 3D spausdintuvų. 5 pigūs 3D spausdintuvai, kuriuos šiandien galite įsigytiPo kelerių metų net patys pigiausi 3D spausdintuvai nepatogiai priartėjo prie 1 000 USD ribos - dabar galite įsigyti kokybišką 3D spausdintuvą, kurio kaina siekia 400 USD. Skaityti daugiau

Sumažinkite savo skelbimų lentą pagal dydį, pažymėdami ją ir atsargiai paimdami dalis, kurių jums nereikia.

proto gif

Įdėkite savo grandinę į savo korpusą ir pažymėkite, kur turi prasiskleisti šviesos diodai ir jungiklis. Taip pat galite pažymėti, kur „Arduino“ plokštės USB jungtis sutampa su kraštu, kad galėtumėte jį prijungti, kad pakeistumėte tekstą, neatidarydami dėžutės. Gręžkite arba supjaustykite reikalingas skyles į gaubtą.

padaryk skyles

Dabar į šviesos diodų kraštus įpilkite šiek tiek karšto klijų ir įklijuokite juos į vietą. Aš klijavau kempinės gabalėlį po grandine, kad ji sėdėtų tvirtai dėžutėje. Pritvirtinkite jungiklį prie dėklo. Aš naudojau karštus klijus, nors varžtai ar varžtai užmegztų daug stipresnį ryšį. Taip pat galite priklijuoti akumuliatoriaus laikiklį prie plokštės galinės dalies, kad jis nejudėtų viduje daiktas yra naudojamas, tačiau įsitikinkite, kad jokie metaliniai korpuso kontaktai neliečia jokių jūsų litavimo jungčių!

matuoti jungiklį

Darbas baigtas!

Uždarykite savo korpusą ir viskas! Norėdami pakeisti tekstą, prijunkite USB laidą prie „Arduino“ plokštės ir po jo keiskite tekstą skliausteliuose displayString viduje kilpa metodas. Rasti tamsią vietą ir smagiai!

lėčiau

Ar anksčiau esate sukūrę POV mašiną ir žinote būdų tobulinti dizainą? Ar ketinate pats statyti? Papasakokite apie savo projektą žemiau esančiuose komentaruose, mes norėtume jį išgirsti!

Ian Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ir nesirenka scenoje, jis pasidomi „pasidaryk pats“ elektronika ar kodu tikėdamasis tapti beprotišku mokslininku.