Reklāma
Ar mirgojošām gaismas diodēm varat darīt visu veidu lietas, un šajā vienkāršajā projektā mēs izveidosim nelielu ierīci, kas iedegs ziņojumus gaisā, kad to virzīsit uz priekšu un atpakaļ. Tas ir vienkāršāk, nekā jūs domājat, un detaļu kopējās izmaksas ir mazākas par 5 USD.
Šis projekts izmanto optisko ilūziju, ko sauc par redzes noturību, lai teksts parādītos gaisā. Jūs, iespējams, esat saskāries ar šo parādību, kad kāds naktī ātri pārvieto aizdedzinātu dzirksteli. Lai izmantotu šo efektu, mēs izmantosim Arduino un dažas gaismas diodes. Šis projekts ir viegli izveidojams, ar dažiem komponentiem un nelielu lodēšanu (lai gan, ja vēlaties saņemt dažus padomus par darba sākšanu ar lodāmuru) šī rokasgrāmata Uzziniet, kā lodēt, izmantojot šos vienkāršos padomus un projektusVai jūs mazliet iebiedēja doma par karstu dzelzi un izkausētu metālu? Ja vēlaties sākt strādāt ar elektroniku, jums būs jāiemācās lodēt. Ļaujiet mums palīdzēt. Lasīt vairāk ).
Jums būs nepieciešams
- Arduino (es izmantoju Nano 2 ASV dolārus, jo tas ir kompakts un lēts, taču jebkuram modelim jābūt labam).
- 5x Sarkanas gaismas diodes.
- 5x 220 omu rezistori.
- 1x 9v akumulatora turētājs.
- 1x slēdzis ar slēdzi.
- 1x gabals protoboard.
- Gatavā izstrādājuma korpuss (es izmantoju mazu melnu krāsotu kartona kārbu).
Lai to visu saliktu kopā, jums būs nepieciešams arī lodāmurs un nedaudz lodmetālu.
Lai arī tas nav obligāti, daži lodmetāla dakti var būt ļoti noderīgi, ja pieļaujat kādas lodēšanas kļūdas. Maizes plāksne un daži savienojuma vadi ir noderīgi arī, lai pārbaudītu ķēdi.
Elektroinstalācija
Elektroinstalācija nevarētu būt vienkāršāka. Vispirms piestipriniet Arduino, gaismas diodes un rezistorus, kā parādīts šajā diagrammā.
Tapas D2 līdz D6 iet attiecīgi uz katru rezistoru, kas ir piestiprināti pie katra gaismas diodes pozitīvā anoda (garā kāja). Katods ir savienots ar zemi, kas savienojas ar Arduino. Kad tas ir izdarīts, tam vajadzētu izskatīties apmēram šādi:
Tas ir viss: mūsu shēma ir pabeigta! Mēs vēlāk pievienosim akumulatora korpusu un slēdzi tam, bet tas ir viss, kas mums jāpārbauda, vai tas darbojas.
Kods
Pievienojiet savu Arduino pie datora un atveriet Arduino IDE. Ja esat iesācējs Arduino lietošanā un vēlaties labu ceļvedi, šī saite Darba sākšana ar Arduino: rokasgrāmata iesācējiemArduino ir atvērtā koda elektronikas prototipu veidošanas platforma, kuras pamatā ir elastīga, ērti lietojama aparatūra un programmatūra. Tas ir paredzēts māksliniekiem, dizaineriem, hobijiem un ikvienam, kurš ir ieinteresēts radīt interaktīvus objektus vai vidi. Lasīt vairāk būs noderīga.
Atveriet jaunu skici un nokopējiet šo kodu. Kods tika mainīts no šis projekts un jūs to varat lejupielādēt pilnībā šajā Gist.
// cik ilgi katrs ledusskapis paliek. int delayTime = 1; // cik ilgi starp katru int charBreak = 3; // cik ilgi jāgaida pēc ziņojuma pabeigšanas, pirms tas atkārtojas. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; Nederīga iestatīšana () { 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 izņemot [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; starptelpa [] = {0, 0, 0, 0, 0}; void displayLine (int line) { int myline; myline = līnija; 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);} } tukšs displayChar (char c) { if (c == 'a') {par (int i = 0; i <5; i ++) {displayLine (a [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'b') {par (int i = 0; i <5; i ++) {displayLine (b [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'c2') {par (int i = 0; i <5; i ++) {displayLine (c2 [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'd') {par (int i = 0; i <5; i ++) {displayLine (d [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'e') {par (int i = 0; i <5; i ++) {displayLine (e [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'f') {par (int i = 0; i <5; i ++) {displayLine (f [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'g') {par (int i = 0; i <5; i ++) {displayLine (g [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'h') {par (int i = 0; i <5; i ++) {displayLine (h [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'i') {par (int it = 0; tas <5; tas ++) {displayLine (i [it]); kavēšanās (delayTime);} displayLine (0);} if (c == 'j') {par (int i = 0; i <5; i ++) {displayLine (j [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'k') {par (int i = 0; i <5; i ++) {displayLine (k [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'l') {par (int i = 0; i <5; i ++) {displayLine (l [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'm') {par (int i = 0; i <5; i ++) {displayLine (m [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'n') {par (int i = 0; i <5; i ++) {displayLine (n [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'o') {par (int i = 0; i <5; i ++) {displayLine (o [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'p') {par (int i = 0; i <5; i ++) {displayLine (p [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'q') {par (int i = 0; i <5; i ++) {displayLine (q [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'r') {par (int i = 0; i <5; i ++) {displayLine (r [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 's') {par (int i = 0; i <5; i ++) {displayLine (s [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 't') {par (int i = 0; i <5; i ++) {displayLine (t [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'u') {par (int i = 0; i <5; i ++) {displayLine (u [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'v') {par (int i = 0; i <5; i ++) {displayLine (v [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'w') {par (int i = 0; i <5; i ++) {displayLine (w [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'x') {par (int i = 0; i <5; i ++) {displayLine (x [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'y') {par (int i = 0; i <5; i ++) {displayLine (y [i]); kavēšanās (delayTime);} displayLine (0);} if (c == 'z') {par (int i = 0; i <5; i ++) {displayLine (z [i]); kavēšanās (delayTime);} displayLine (0);} if (c == '!') {par (int i = 0; i <5; i ++) {displayLine (izņemot [i]); kavēšanās (delayTime);} displayLine (0);} if (c == '?') {par (int i = 0; i <5; i ++) {displayLine (ques [i]); kavēšanās (delayTime);} displayLine (0);} if (c == '.') {par (int i = 0; i <5; i ++) {displayLine (eos [i]); kavēšanās (delayTime);} displayLine (0);} if (c == '') {par (int i = 0; i <5; i ++) {displayLine (atstarpe [i]); kavēšanās (delayTime);} displayLine (0);} kavēšanās (charBreak); } void displayString (char * s) {for (int i = 0; i <= strlen (s); i ++) {displayChar (s [i]); } } void loop () {// Lai mainītu parādīto tekstu, šeit mainiet tekstu šeit. // Pārliecinieties, vai ir iekavās un pēdiņās. displayString (".. sveiki ..."); kavēšanās (40); }
Saglabājiet skici un augšupielādējiet to uz tāfeles. Ja rodas kļūdas, pārliecinieties, vai esat izvēlējies pareizo paneli un komportu. Jūsu gaismas diodēm vajadzētu sākt mirgot. Ja viņi to nedara, pārbaudiet visus savienojumus, kas atrodas uz jūsu paneļa. Koda sākumā deklarētie veseli skaitļi nosaka, cik ātri teksts tiek parādīts. Jo lielāks skaitlis, jo ātrāk vajadzēs ierīci vilnīt. Es atklāju, ka šeit izmantotie skaitļi darbojas labi.
Tagad jāveic ātra pārbaude. Atvienojiet Arduino no USB kabeļa un pievienojiet akumulatora turētāju sava Arduino VIN un GND tapām.
Tagad, kad varat to pārvietot, uzmanīgi mēģiniet pagriezt gaismas diodes sev priekšā. Jums vajadzētu redzēt dažus burtus, kas veidojas gaisā, ja ap jums ir pietiekami tumšs. Es atklāju, ka tas palīdzēja iestatīt manu tālruni, lai to uztvertu.
Tas strādā! Tagad, lai padarītu to nedaudz pastāvīgāku.
Gludekļi gatavībā!
Novietojiet savu Arduino plati, rezistorus un gaismas diodes uz sava protafeļa šādi:
Protams, jūs varat padarīt izkārtojumu tik kompaktu, cik vēlaties, ja vien shēma paliek nemainīga. Pārliecinieties, ka komponentiem un barošanas avotam ir vismaz viena protoleta paneļa kontaktu līnija katrā Arduino pusē. Ja esat iesācējs elektronikā, šeit ir daži lieliski padomi jums Iesācēja elektronika: 10 prasmes, kas jums jāzinaDaudzi no mums nekad nav pat pieskārušies lodāmuram, bet lietas padarīt var neticami. Šeit ir desmit visvienkāršākās DIY elektronikas prasmes, kas palīdzēs jums sākt. Lasīt vairāk .
Mēs lodēsim LED katodus kopā rindā, lai izveidotu kopēju nostāju, līdzīgi kā mēs to darījām LED matrica Jauniniet savu Ziemassvētku vainagu ar kustību aktivizētu LED matricuŠis DIY Ziemassvētku vainags izmanto Arduino un LED matricu, lai iegūtu pārsteidzošu gaismas displeju, kas atstāj iespaidu uz draugiem un ģimenes locekļiem. Lasīt vairāk .
Katru katodu salieciet tā, lai tas pārklājas ar nākamo, un pielodējiet tos, lai izveidotu vienu nesalauztu līniju. Tagad mums ir jālodē savi anodi līdz rezistoru kājām blakus. Es atklāju, ka vienkāršākais veids, kā to izdarīt, bija pielodēt katru kāju pie attiecīgā spilventiņa un pēc tam novietot dzelzs starp tām, lai sasildītu abus savienojumus, pirms beidzot pievieno vairāk lodmetāla, lai aizpildītu plaisu starp viņiem.
Pārbaudiet katru savienojumu, lai pārliecinātos, ka tas ir stingri piestiprināts, un pēc tam izmantojiet stiepļu griezējus, lai no rezistoriem un gaismas diodēm nogrieztu liekās kājas.
Tagad atkārtoju to pašu uzdevumu, bet šoreiz mūsu rezistoru otru galu savienojam ar Arduino kājām. Šī ir visskaidrākā lodēšanas daļa. Katrs rezistors daudz piestiprinās tikai savam Arduino tapam, vai arī shēma nedarbosies tā, kā paredzēts. Šeit es pieļāvu vairākas kļūdas, un, lai vairākas reizes noņemtu nevēlamo lodēšanu, bija jāizmanto lodēšanas dakts.
Kad esat izveidojis visus pareizos savienojumus, vēlreiz pārbaudiet, vai neviens no tiem nepārklājas ar kaimiņiem. Ja jums šeit ir piekļuve multimetram, varat izmantot nepārtrauktības režīmu, lai pārbaudītu, vai katram tapai ir tikai nesadalīta līnija pret tā rezistoru. Ja esat tikko ieguvis multimetru, ir lielisks darba sākšanas ceļvedis šajā rakstā. 7 DIY tehnikas prasmes mācīt bērnus, jo skolas to nedarīs Lasīt vairāk
Kad esat pārbaudījis katru savienojumu, izgrieziet lieko garumu no rezistoru kājām
Enerģijas pievienošana
Tagad palaidiet stieples gabalu no sava Arduino GND tapas līdz caurumam blakus vietai, kur beidzas jūsu lodēto katodu līnija, un blakus novietojiet akumulatora turētāja melno vadu.
Tagad pielodējiet vadu pie GND tapas, tāpat kā mēs ar rezistoriem, un lodējiet abus vadus līdz katodu līnijas beigām, lai izveidotu kopēju shēmu.
Visbeidzot, pievienojiet vadu sava arduino VIN tapam un novietojiet slēdzi starp šo vadu un akumulatora bloku. Atvainojos par slēdzi, kas pārklāts ar līmi, šajā fotoattēlā, man nācās demontēt gatavo mašīnu, lai nofotografētu šo posmu!
Kad viss ir salicis, ielieciet akumulatoru un uzsitiet uz slēdzi. Apsveicam! Ķēde tiek veikta. Ja neredzat kaut ko iedegušu, rūpīgi pārbaudiet katru lodēšanas savienojumu, lai redzētu, kur varētu būt pārtraukums vai īssavienojums.
Iežogojums
Tagad, kad mums tas darbojas, ievietosim to kastē. Šeit tika izmantota krāsota kartona kārba, lai gan jūs varat padarīt kaut ko paliekošāku, izmantojot hobiju veikalā nopirktu kastīti vai pat veco tupperware kasti. Lai iegūtu papildu geek cred, jūs pat varētu 3D drukāt pats viens no šiem lētajiem 3D printeriem. 5 lēti 3D printeri, kurus jūs faktiski varat iegādāties jau šodienDažus gadus atpakaļ pat lētākie 3D printeri bija neērti tuvu USD 1000 atzīmei - tagad jūs varat iegūt kvalitatīvu 3D printeri par zemu cenu USD 400. Lasīt vairāk
Samaziniet protoboard atbilstoši izmēram, novērtējot to ar punktu un uzmanīgi noņemot nevajadzīgās daļas.
Ievietojiet savu ķēdi korpusa iekšpusē un atzīmējiet, kur jāpāriet gaismas diodēm un slēdzim. Varat pēc izvēles arī atzīmēt, kur Arduino plates USB savienotājs saskan ar malu, lai jūs varētu to pievienot, lai mainītu tekstu, neatverot kasti. Urbjiet vai izgrieziet nepieciešamos caurumus kamerā.
Tagad pievienojiet nedaudz karstu līmi gaismas diožu malām un pielīmējiet tās vietā. Es līmēju sūkļa gabalu zem shēmas, lai tas stingri sēdētu kastē. Pievienojiet slēdzi korpusam. Es izmantoju karstu līmi, lai gan skrūves vai bultskrūves izveidos daudz stiprāku savienojumu. Jūs varētu arī pielīmēt akumulatora turētāju shēmas plates aizmugurē, lai apturētu tā pārvietošanos iekšpusē izstrādājums tiek izmantots, taču pārliecinieties, ka visi korpusa metāla kontakti nepieskaras nevienam no jūsu lodēšanas savienojumiem!
Darbs ir izdarīts!
Aizveriet korpusi, un tas ir izdarīts! Lai mainītu tekstu, pievienojiet USB kabeli Arduino tāfelei un pēc tam mainiet tekstu iekavās displayString iekš cilpa metode. Atrodiet tumšu vietu un izklaidējieties!
Vai esat jau iepriekš uzbūvējis POV mašīnu un zināt, kā uzlabot dizainu? Vai jūs plānojat pats to būvēt? Pastāstiet mums par savu projektu zemāk esošajos komentāros, mēs labprāt to dzirdētu!
Ians Baklijs ir ārštata žurnālists, mūziķis, izpildītājs un video producents, kas dzīvo Berlīnē, Vācijā. Kad viņš neraksta un neuzstājas uz skatuves, viņš aizraujas ar DIY elektroniku vai kodu, cerot kļūt par neprātīgu zinātnieku.