Turinys:

LED širdies nuotraukų rėmelis - padarykite tobulą Valentino ar gimtadienio dovaną: 7 žingsniai (su nuotraukomis)
LED širdies nuotraukų rėmelis - padarykite tobulą Valentino ar gimtadienio dovaną: 7 žingsniai (su nuotraukomis)

Video: LED širdies nuotraukų rėmelis - padarykite tobulą Valentino ar gimtadienio dovaną: 7 žingsniai (su nuotraukomis)

Video: LED širdies nuotraukų rėmelis - padarykite tobulą Valentino ar gimtadienio dovaną: 7 žingsniai (su nuotraukomis)
Video: Part 2 - Howards End Audiobook by E. M. Forster (Chs 8-14) 2024, Lapkritis
Anonim
LED širdies nuotraukų rėmelis - padarykite puikią Valentino ar gimtadienio dovaną
LED širdies nuotraukų rėmelis - padarykite puikią Valentino ar gimtadienio dovaną

Sveiki! Šioje pamokoje aš jums parodysiu, kaip galite padaryti šį nuostabų LED širdies nuotraukų rėmelį. Visiems elektronikos entuziastams! Padarykite puikią dovaną Valentino, gimtadienio ar jubiliejaus proga savo artimiesiems!

Žemiau esančiame vaizdo įraše galite žiūrėti šio projekto demonstracinį vaizdo įrašą ir perskaityti žingsnis po žingsnio instrukcijas, kaip jį sukurti. Taip pat, jei norite, galite žiūrėti išsamų šio projekto vaizdo įrašą „pasidaryk pats“mano oficialioje svetainėje www. HowToMechatronics.com.

1 žingsnis: demonstracinis vaizdo įrašas

Image
Image

Taigi čia mes turime paprastą nuotraukų rėmelį su 32 šviesos diodais širdies formos gale, esančioje nuotraukos pusėje. Tai tikrai įdomūs „pasidaryk pats“projektai ir rekomenduoju visiems elektronikos entuziastams sukurti tokį savo artimiesiems kaip dovaną Valentino ar gimtadienio proga.

2 žingsnis: komponentų reikalavimai

„Arduino Nano“- per „Banggood“

Itin ryškiai raudoni šviesos diodai - per „Banggood“

Perjungti - per „Banggood“

„Power Jack“- per „Banggood“

DC 5V> 1A adapteris - per „Banggood“

2 x TLC5940 LED tvarkyklės

2 x 2K rezistoriai

1uF ir 0,1uF kondensatoriai

3 žingsnis: Paruoškite nuotraukų rėmelį

Paruoškite nuotraukų rėmelį
Paruoškite nuotraukų rėmelį

Pirmiausia jums reikia paprasto nuotraukų rėmelio, kurio matmenys: 18 x 13 cm. Be to, jums reikia supjaustyti rėmo dydžio medienos plaušų plokštę, ant kurios gręžtuvu padarysite 32 skyles, kad galėtumėte įterpti šviesos diodus.

Visų šviesos diodų anodai turi būti lituojami kartu, o katodai turi būti prijungti prie TLC5940 PWM tvarkyklės. Po litavimo turėtumėte patikrinti, ar visi šviesos diodai veikia tinkamai.

4 žingsnis: laidų prijungimas

Laidai
Laidai

Štai kaip atrodo šių projektų schemos. Taigi naudodami „Arduino Nano“ir „TLC5940“IC galite valdyti visus 32 šviesos diodus. Jums reikia kelių papildomų komponentų, dviejų kondensatorių atsiejimui ir dviejų rezistorių, skirtų riboti TLC5940 srovę. Daugiau informacijos apie tai, kaip prijungti ir naudoti šį IC su „Arduino“, rasite mano konkrečioje „Arduino“ir „TLC5940“mokymo programoje.

5 žingsnis: sudėkite viską kartu

Sudėkite viską kartu
Sudėkite viską kartu

Dabar pagal grandinės schemas reikia viską sujungti. Pirmiausia turite įterpti ir lituoti visus IC lizdus ir kaiščių antraštes, taip pat kondensatorius. Tada jums reikia įterpti „Arduino“ir LED tvarkykles ir visa kita prijungti naudojant šuolio laidus.

Baigę tai, prieš tęsdami dar kartą patikrinkite, ar šviesos diodai veikia tinkamai. Tai galite padaryti įkeldami žemiau esantį „Arduino“kodą.

6 veiksmas: „Arduino“kodas

Šiam projektui panaudojau Alexo Leone sukurtą TLC5940 biblioteką. Jei naudojate biblioteką su dviem TLC5940 IC, turite atlikti tam tikrus pakeitimus. Turite pakeisti failą tlc_config.h ir pakeisti kintamojo NUM_TLCS reikšmę į 2.

Čia yra visas „Arduino“kodas:

/ * LED širdies nuotraukų rėmelis - „Arduino Project“* Programą sukūrė Dejan Nedelkovski, * www. HowToMechatronics.com *

* Alexo Leone TLC5940 biblioteka, * Turite pakeisti tlc_config.h, esantį TLC5940 bibliotekoje *, ir pakeisti kintamojo NUM_TLCS reikšmę į prijungtų TLC5940 IC skaičių */

#include "Tlc5940.h"

int stadija = 0;

int randomNumber; int skaičius = 0; int ryškumas = 3500; int brightUp = 50; int dir = 1;

void setup () {

Tlc.init (); }

void loop () {

jungiklis (etapas) {// ----- 1 etapo atvejis 0: randomNumber = (int) atsitiktinis (0, 31); Tlc.set (atsitiktinis numeris, 4095); vėlavimas (1500); Tlc.update (); jei (skaičius> = 8) {etapas = 1; skaičius = 0; } else {++ count; } pertrauka; // ----- 2 etapas 1 atvejis: uždelsimas (75); (int i = 31; i> = 0; i--) {Tlc.set (i, 4095); vėlavimas (100); Tlc.update (); } uždelsimas (500); Tlc.clear (); Tlc.update (); etapas = 2; vėlavimas (500); pertrauka; // ----- 3 etapo 2 atvejis: for (int i = 0; i 6) {etapas = 3; skaičius = 0; } else {++ count; } pertrauka; // ----- 4 etapo 3 atvejis: (int i = 0; i = 0; i--) {Tlc.set (i, 0); Tlc.set (31-i, 0); Tlc.update (); vėlavimas (70); } (int i = 15; i> = 0; i--) {Tlc.set (i, 4095); Tlc.set (31-i, 4095); Tlc.update (); vėlavimas (70); } už (int i = 0; i 1) {etapas = 4; skaičius = 0; } else {++ count; } pertrauka; // ----- 5 etapo 4 atvejis: for (int i = 15; i> = count; i--) {Tlc.set (32-i, 4095); Tlc.update (); vėlavimas (5); Tlc.set (32-i-1, 0); Tlc.update (); vėlavimas (5); Tlc.set (i, 4095); Tlc.update (); vėlavimas (5); Tlc.set (i+1, 0); Tlc.update (); vėlavimas (50); } jei (skaičius> 15) {Tlc.set (16, 4095); Tlc.update (); vėlavimas (2000 m.); etapas = 5; skaičius = 0; } else {++ count; } pertrauka; // ----- 5 etapo 5 atvejis: (int i = 0; i = 3500) {brightUp = -50; ++ skaičius; } if (ryškumas 6) {etapas = 6; skaičius = 0; ryškumas = 3500; Tlc.clear (); Tlc.update (); } uždelsimas (40); pertrauka; // ----- 7 etapo 6 atvejis: (int i = 0; i <= 30; i+= 2) {Tlc.set (i, 4095); Tlc.set (i+1, 0); } Tlc.update (); vėlavimas (500); už (int i = 0; i 20) {etapas = 7; skaičius = 0; } else {++ count; } pertrauka; // ----- 8 etapo 7 atvejis: for (int i = 31; i> = 16; i--) {Tlc.clear (); Tlc.update (); uždelsimas (2); Tlc.set (i, 4095); Tlc.set (i+1, 2000); Tlc.set (i+2, 1000); Tlc.set (i+3, 500); Tlc.set (i+4, 300); Tlc.set (i+5, 200); Tlc.set (i+6, 100); Tlc.set (i+7, 50); Tlc.set (i+8, 0);

Tlc.set (i-16, 4095);

Tlc.set (i-15, 2000); Tlc.set (i-14, 1000); Tlc.set (i-13, 500); Tlc.set (i-12, 300); Tlc.set (i-11, 200); Tlc.set (i-10, 100); Tlc.set (i+-9, 50); Tlc.set (i-8, 0); Tlc.update (); vėlavimas (50); } jei (skaičius> 8) {už (int i = 31; i> = 0; i--) {Tlc.set (i, 4095); Tlc.update (); vėlavimas (50); } etapas = 8; skaičius = 0; } else {++ count; } pertrauka; // ----- 9 etapo 8 atvejis: for (int i = 31; i> = 0; i--) {Tlc.set (i+8, 4095); Tlc.set (i+7, 2000); Tlc.set (i+6, 1000); Tlc.set (i+5, 500); Tlc.set (i+4, 300); Tlc.set (i+3, 200); Tlc.set (i+2, 100); Tlc.set (i+1, 50); Tlc.set (i, 0); Tlc.update (); vėlavimas (50); } (int i = 31; i> = 0; i--) {Tlc.set (i, 4095); } Tlc.update (); vėlavimas (10); if (skaičius> 8) {delay (8000); Tlc.clear (); Tlc.update (); etapas = 0; skaičius = 0; } else {++ count; } pertrauka; }}

7 žingsnis: Elektronikos dangčio dėžutė

Elektronikos dangčio dėžutė
Elektronikos dangčio dėžutė

Patikrinę, ar viskas veikia gerai, naudodami aukščiau pateiktą kodą, turite užbaigti projektą sukurdami elektronikos dangtelį. Aš tai padariau naudodamas dar keletą medienos plaušų plokštės gabalų ir suklijavau juos, kad sudarytų dėžutę. Galinėje dėžutės pusėje turite padaryti dvi skyles, vieną maitinimo lizdui, kitą jungikliui.

Pabaigoje viskas, ką jums reikia padaryti, tai atsispausdinti savo nuotrauką, pridėti ją prie rėmo, apsaugoti ir viskas!

Tikiuosi, kad jums patiks šis projektas. Jei taip, norėdami daugiau įdomių projektų ir pamokų, visada galite patikrinti mano oficialią svetainę www. HowToMechatronics.com ir sekti mane „Facebook“.

Rekomenduojamas: