Hirdetés
A villogó LED-ekkel mindenféle dolgot megtehet, és ebben az egyszerű projektben elkészítünk egy kis eszközt, amely az üzenetek kigyullad a levegőben, amikor oda-vissza hullámzik. Ez könnyebb, mint gondolnád, és az alkatrészek teljes költsége 5 dollár alatt van.
Ez a projekt a látás kitartásának nevezett optikai illúziót használja fel, hogy a szöveg megjelenjen a levegőben. Valószínűleg akkor találkozott ezzel a jelenséggel, amikor valaki éjjel gyorsan meggyújtja a világító csillagot. Arduino-t és néhány LED-et használunk ennek a hatásnak a utánozására. Ezt a projektet egyszerűen fel lehet építeni, kevés alkotóelemmel és kevés forrasztással (bár néhány tippre van szüksége a forrasztópáka használatának megkezdéséhez, nézd meg ez az útmutató Megtanulja, hogyan kell forrasztani ezekkel az egyszerű tippekkel és projektekkelKicsit megfélemlített egy forró vas és olvadt fém gondolata? Ha el akar kezdeni dolgozni az elektronikával, meg kell tanulnia forrasztani. Segítsünk. Olvass tovább ).
Szükséged lesz
- Arduino (2 dolláros Nano-t használtam, mert kompakt és olcsó, de minden modellnek jól kell lennie).
- 5x Piros LED-ek.
- 5x 220 Ohm ellenállások.
- 1x 9v elemtartó.
- 1x billenőkapcsoló.
- 1x darab protoboard.
- Ház a késztermékhez (egy kis fekete színű kartondobozt használtam).
Szüksége van egy forrasztópákara és néhány forrasztóval is, hogy az összeszerelhető legyen.
Bár opcionális, néhány forrasztási kanóc nagyon hasznos lehet abban az esetben, ha bármilyen forrasztási hibát észlel. A kenyérlemez és néhány csatlakozóhuzal is hasznos az áramkör teszteléséhez.
Vezeték
A huzalozás nem lehet egyszerűbb. Először csatlakoztassa az Arduino-t, a LED-eket és az ellenállásokat az ábra szerint.
A D2 – D6 érintkezők mindegyik ellenálláshoz mennek, amelyek az egyes LED-ek pozitív anódjához (hosszú lábhoz) vannak rögzítve. A katód a földhöz van kötve, amely visszakapcsol az Arduinóhoz. Amikor elkészült, úgy néz ki, mint ez:
Ennyi: az áramkörünk kész! Később hozzáadunk egy akkumulátor házat és egy kapcsolót, de ehhez csak annyit kell tesztelnünk, hogy működik-e.
Kód
Most csatlakoztassa Arduino-ját a számítógéphez, és nyissa meg az Arduino IDE-t. Ha még nem ismeri az Arduino alkalmazását, és jó útmutatást szeretne, ez a link Az Arduino használatának első lépése: Útmutató kezdőknekAz Arduino egy nyílt forráskódú elektronikai prototípus-létrehozási platform, amely rugalmas, könnyen használható hardveren és szoftveren alapul. Művészeknek, tervezőknek, amatőröknek és interaktív tárgyak vagy környezetek létrehozásának érdeklődőinek szánták. Olvass tovább hasznos lesz.
Nyisson meg egy új vázlatot, és másolja be a kódot. A kód módosult ez a projekt és teljes egészében letöltheti ezen a lényegen.
// mennyi ideig marad minden egyes led. int delayTime = 1; // mennyi ideig az int charBreak = 3; // meddig kell várni az üzenet befejezése után, mielőtt megismétlődik. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; érvénytelen beállítás () { 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 kivéve [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; int space [] = {0, 0, 0, 0, 0}; void displayLine (int vonal) { int myline; myline = vonal; 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);} } érvénytelen displayChar (char c) { if (c == 'a') {for (int i = 0; i <5; i ++) {displayLine (a [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'b') {mert (int i = 0; i <5; i ++) {displayLine (b [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'c2') {mert (int i = 0; i <5; i ++) {displayLine (c2 [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'd') {mert (int i = 0; i <5; i ++) {displayLine (d [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'e') {for (int i = 0; i <5; i ++) {displayLine (e [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'f') {mert (int i = 0; i <5; i ++) {displayLine (f [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'g') {mert (int i = 0; i <5; i ++) {displayLine (g [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'h') {mert (int i = 0; i <5; i ++) {displayLine (h [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'i') {for (int it = 0; it <5; it ++) {displayLine (i [it]); késés (delayTime);} displayLine (0);} if (c == 'j') {mert (int i = 0; i <5; i ++) {displayLine (j [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'k') {mert (int i = 0; i <5; i ++) {displayLine (k [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'l') {mert (int i = 0; i <5; i ++) {displayLine (l [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'm') {mert (int i = 0; i <5; i ++) {displayLine (m [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'n') {mert (int i = 0; i <5; i ++) {displayLine (n [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'o') {mert (int i = 0; i <5; i ++) {displayLine (o [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'p') {mert (int i = 0; i <5; i ++) {displayLine (p [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'q') {for (int i = 0; i <5; i ++) {displayLine (q [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'r') {mert (int i = 0; i <5; i ++) {displayLine (r [i]); késleltetés (delayTime);} displayLine (0);} if (c == 's') {mert (int i = 0; i <5; i ++) {displayLine (s [i]); késleltetés (delayTime);} displayLine (0);} if (c == 't') {mert (int i = 0; i <5; i ++) {displayLine (t [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'u') {mert (int i = 0; i <5; i ++) {displayLine (u [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'v') {mert (int i = 0; i <5; i ++) {displayLine (v [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'w') {mert (int i = 0; i <5; i ++) {displayLine (w [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'x') {mert (int i = 0; i <5; i ++) {displayLine (x [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'y') {mert (int i = 0; i <5; i ++) {displayLine (y [i]); késleltetés (delayTime);} displayLine (0);} if (c == 'z') {mert (int i = 0; i <5; i ++) {displayLine (z [i]); késleltetés (delayTime);} displayLine (0);} if (c == '!') {mert (int i = 0; i <5; i ++) {displayLine (kivéve [i]); késleltetés (delayTime);} displayLine (0);} if (c == '?') {mert (int i = 0; i <5; i ++) {displayLine (kérdés [i]); késés (delayTime);} displayLine (0);} if (c == '.') {for (int i = 0; i <5; i ++) {displayLine (eos [i]); késleltetés (delayTime);} displayLine (0);} if (c == '') {for (int i = 0; i <5; i ++) {displayLine (szóköz [i]); késleltetés (delayTime);} displayLine (0);} késés (charBreak); } void displayString (char * s) {mert (int i = 0; i <= strlen (ek); i ++) {displayChar (s [i]); } } void loop () {// Itt változtathatja meg a szöveget a megjelenített szöveg megváltoztatásához. // Ügyeljen arra, hogy a zárójelben és az idézőjelben maradjon. Megjelenített karakterlánc ( ".. hello ..."); késleltetés (40); }
Mentse el a vázlatot, és töltse fel a táblára. Ha bármilyen hibát észlel, ellenőrizze, hogy a megfelelő fórumot és com portot választotta-e. A LED-eknek villogni kell. Ha nem, ellenőrizze az összes csatlakozást a kenyérpulton. A kód elején deklarált egész számok határozzák meg, hogy a szöveg milyen gyorsan jelenik meg. Minél nagyobb a szám, annál gyorsabban kell hullámoznia az eszközt. Megállapítottam, hogy az itt használt számok jól működtek.
Most egy gyors teszt elvégzésére. Húzza ki az Arduino készüléket az USB-kábeltől, és csatlakoztassa az akkumulátor tartót az arduino VIN és GND érintkezőihez.
Most, hogy meg tudja mozgatni, óvatosan próbáljon meg előtte forgatni a LED-eket. Látnia kellene néhány levelet a levegőben, feltéve, hogy körülötte elég sötét. Úgy találtam, hogy segített beállítani a telefonomat, hogy ezt rögzítsem.
Működik! Most, hogy ez egy kicsit tartósabb legyen.
Vasalók a készen!
Helyezze el az Arduino táblát, ellenállásokat és LED-eket az előtagján:
Természetesen az elrendezést olyan kompaktá teheti, amennyit csak akar, mindaddig, amíg az áramkör változatlan marad. Ügyeljen arra, hogy az Arduino készülék mindkét oldalán legalább egy sor protoboard érintkezzen az alkatrészekkel és az áramellátással kapcsolatban. Ha Ön kezdő az elektronika területén, íme néhány nagyszerű tippek az Ön számára Kezdő elektronika: 10 tudás, amit tudnod kellSokan közülünk soha nem is érkeztek meg a forrasztópáka ellen, de a dolgok készítése hihetetlenül kifizetődő lehet. Íme a tíz legalapvetőbb barkácsolás-elektronikai készség, amely segít az indulásban. Olvass tovább .
A LED-katódokat egy sorban forrasztjuk, hogy közös alapot teremtsünk, akárcsak akkor, amikor készítettünk LED mátrix Frissítse a Karácsonyi koszorút mozgással aktiválható LED mátrix segítségévelEz a DIY karácsonyi koszorú Arduino és LED mátrixot használva készít egy csodálatos megvilágítási kijelzőt, amely lenyűgözi barátait és családtagjait. Olvass tovább .
Hajtsa össze minden katódot úgy, hogy az átfedésben legyen a következővel, és forrasztja be őket, hogy létrejöjjön egy folytonos vonal. Most meg kell forrasztani az anódjainkat a mellette lévő ellenállások lábainál. Úgy találtam, hogy ezt a legegyszerűbb módszert úgy végezzük, hogy mindegyik lábat megforrasztjuk a megfelelő aljba, majd helyezzük a vasaljon közöttük, hogy felmelegítse mindkét ízületet, mielőtt még több forrasztóanyagot adna a hézag közötti hézag áthidalásához őket.
Ellenőrizze az egyes csatlakozásokat, hogy megfelelően vannak-e rögzítve, majd huzalvágókkal vágja le a felesleges lábakat az ellenállásoktól és a LED-ektől.
Most ismételjük meg ugyanazt a feladatot, de ezúttal az ellenállásaink másik végét az Arduino lábaihoz csatlakoztatjuk. Ez a forrasztás legbiztosabb része. Minden ellenállás nagymértékben csak az Arduino csaphoz kapcsolódik, különben az áramkör nem fog úgy működni, ahogyan kívánja. Itt több hibát is elkövettem, és forrasztópálcával kellett többször eltávolítanom a nem kívánt forrasztást.
Miután elvégezte az összes helyes csatlakozást, ellenőrizze újra, hogy egyikük sem esik átfedésben a szomszédaikkal. Ha itt van hozzáférése multiméterhez, akkor a folytonosság módot használhatja annak ellenőrzéséhez, hogy az egyes tűknek csak az ellenállásának szaggatott vonala van-e. Ha éppen multimétert kapott, akkor van egy nagyszerű kezdési útmutató ebben a cikkben. 7 DIY technikai készség a gyerekek tanításához, mert az iskolák nem fognak Olvass tovább
Miután ellenőrizte az egyes csatlakozásokat, vágja le a felesleges hosszat az ellenállások lábaitól
Teljesítmény hozzáadása
Most húzzon egy darab huzalt az Arduino GND csapjától egy lyukig, ahol mellette a forrasztott katódok vonala van, és helyezze az elemtartó fekete vezetékét mellé.
Forrasztjuk be a vezetéket a GND csaphoz, ugyanúgy, mint az ellenállásokkal, és forgassuk be mindkét vezetéket a katódsor végéig, hogy közös áramkört hozzunk létre az áramkör számára.
Végül csatlakoztasson egy vezetéket az arduino VIN-tűjéhez, és helyezze a kapcsolót a huzal és az akkumulátor között. Bocsánatkérés a forró ragasztóval borított kapcsolóval kapcsolatban ezen a képen, le kellett szétbontanom a készgépet, hogy fényképezzem ezt a stádiumot!
Miután az összes összeforrasztott, helyezzen be egy akkumulátort, és pöccintse meg a kapcsolót. Gratulálunk! Az áramkör megtörtént. Ha nem látszik, hogy valami kigyullad, gondosan ellenőrizze az egyes forrasztási csatlakozásokat, hogy hol van-e törés vagy rövidzárlat.
Burkolat
Most, hogy működik, tegyük egy dobozba. Itt festett kartondobozt használtunk, bár valami tartósabbat készíthetünk egy hobbiüzletből vásárolt doboz, vagy akár egy régi tupperware doboz segítségével. További geek hitelképekért akár 3D-s nyomtatást is készíthet saját magára az egyik ilyen olcsó 3D nyomtató. 5 olcsó 3D nyomtató, amelyet ma ténylegesen meg lehet vásárolniNéhány évvel ezelőtt még a legolcsóbb 3D-s nyomtatók is kellemetlenül közel álltak az 1000 dollárhoz - most már 400 dollárért kaphat egy minőségi 3D-s nyomtatót. Olvass tovább
Vágja le az előzetes táblát méretre úgy, hogy pontozza és óvatosan elrabolja a nem szükséges alkatrészeket.
Helyezze az áramkört a házába, és jelölje meg, ahol a LED-eknek és a kapcsolónak át kell lépniük. Opcionálisan meg is jelölheti, hogy az Arduino kártya USB-csatlakozója mikor érkezik a széléhez, így csatlakoztathatja azt a szöveg megváltoztatásához a doboz kinyitása nélkül. Fúrjon vagy vágja be a szükséges lyukakat a házba.
Most adjunk hozzá egy kis forró ragasztót a LED-ek széleihez, és ragasszuk a helyükre. Ragasztottam egy darab szivacsot az áramkör alá, hogy szorosan üljön a dobozban. Csatlakoztassa a kapcsolót a házhoz. Forró ragasztót használtam, bár a csavarok vagy csavarok sokkal erősebb kapcsolatot létesítenek. Ragaszthatja az akkumulátor tartót az áramköri lap hátuljára is, hogy megakadályozzon, amikor az belül mozog a cikk használatban van, de ügyeljen arra, hogy a házon lévő fém érintkezők ne érintse meg a forrasztási illesztéseket!
Job kész!
Zárja be a házat, és kész! A szöveg megváltoztatásához csatlakoztassa az USB-kábelt az Arduino táblához, és változtassa meg a zárójelben lévő szöveget utána Megjelenített karakterlánc ban,-ben hurok eljárás. Keressen egy sötét helyet, és érezd jól magad!
Épített már korábban POV-gépet, és tudja, hogyan lehetne továbbfejleszteni a tervezést? Ön maga tervezi építeni? Mondja el nekünk a projektjét az alábbi megjegyzésekben, örömmel halljuk!
Ian Buckley egy szabadúszó újságíró, zenész, előadóművész és videó producer, Berlinben, Németországban. Amikor még nem ír vagy színpadon, akkor botrányozza a barkácsolás elektronikáját vagy kódját, abban a reményben, hogy őrült tudós lesz.