Satura rādītājs:

LED pulkstenis, izmantojot neopikseļus: 4 soļi (ar attēliem)
LED pulkstenis, izmantojot neopikseļus: 4 soļi (ar attēliem)

Video: LED pulkstenis, izmantojot neopikseļus: 4 soļi (ar attēliem)

Video: LED pulkstenis, izmantojot neopikseļus: 4 soļi (ar attēliem)
Video: Monitors Explained - LCD, LED, OLED, CRT, TN, IPS, VA 2024, Jūlijs
Anonim
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus
LED pulkstenis, izmantojot neopikseļus

Laipni lūdzam manā pamācībā, kā izveidot LED pulksteni, izmantojot 60 neopikseļus.

Jūs atradīsit 3 PDF failus, viens ir paredzēts pulksteņa segmentiem, otrs ir pamatam, un visbeidzot, viens ir veidne, kas palīdz sekcijas salīmēt kopā.

Tātad, lai to pabeigtu, jums būs nepieciešams šāds

  • Gredzens ar 60 neopikseļiem ir pieejams 4 ceturtdaļās. meklēt "ws2812 ring 60" (£ 12.00)
  • RTC meklēšana "DS3231 modulis" (2,50 £)
  • Arduino Nano (£ 4)
  • 3 mm/1/8 "saplāksnis.
  • stieples gabali. cerams, ka jums būs kāds apkārt?
  • 5V USB barošanas bloks. Veids, ko jūsu bērni būs iznīcinājuši.

Zemāk ir redzami ar Lipo baterijām darbināmi priekšmeti, bet pēc pārbaudes pulkstenis patērēja pārāk daudz enerģijas, tāpēc akumulators tika nomests par labu tīkla USB barošanas avotam.

  • līdzstrāvas pārveidotāja meklēšana "palielināt pārveidotāju" (£ 3)
  • Uzlādes ķēde TP4056 meklēt "tp4056" (£ 2)
  • LiPo 1000Mah viena šūna. meklēt "1000mah lipo 3.7" VAI "503450 lipo" (£ 8,00)

LiPo numurs ir 503450, un varētu būt jauki zināt, ka tas nozīmē 50 mm garu 34 mm platu un 5,0 dziļu.

1. solis: Koka gabaliņi

Koka gabaliņi
Koka gabaliņi
Koka gabaliņi
Koka gabaliņi
Koka gabaliņi
Koka gabaliņi

Jums vajadzētu redzēt attēlos, ka es esmu izdrukājis dizainu un pielīmējis arī saplāksni. Tas, kas varētu nebūt acīmredzams, ir tas, ka es esmu izgriezis 3 sekcijas uzreiz, un apakšējā daļa vispirms tiek izgriezta pa perimetru, pēc tam viena sadaļa tiek noņemta (no aizmugures), pēc tam atvere tika izgriezta atlikušajās divās sadaļās un pēc tam vēl viena sadaļa noņemot, atstājot tikai priekšējo uzgali, tad vadu sprauga tika izgriezta.

Kad visi uzgaļi ir izgriezti, vispirms jāpārbauda, kā tie visi sader kopā, un pēc tam pielīmējiet. Es izveidoju 3 slāņus virs pulksteņa plāna, lai pārliecinātos, ka viss ir pareizi apļveida. Pārliecinieties arī, vai apakšējie uzgaļi ir pareizajā virzienā, un visa vidējā šķēle ir uzstādīta otrādi, lai jūs klēpētu pāri locītavām.

Caurumi priekšējās sekcijās ļauj ievietot lodētus savienojumus ceturtdaļās, un apakšējā daļa ļauj iziet caur vadiem.

Attēlu sērija parāda arī to, kā tiek salikta bāze.

2. solis: LED gredzena savienošana

LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana
LED gredzena vadu savienošana

Par šo soli nav daudz ko teikt, bet gadījumā, ja neesat izmantojis WS2812LED sloksni, tie ir inteliģenti, tāpēc katram ir savi dati. 15 gaismas diodes lokos PCB apstrādā visus savienojumus, bet, ierodoties pievienoties sadaļām, jums ir jāizveido strāvas savienojumi un dati. Jūs nevarat iegūt nepareizus savienojumus, jo tie ir aplī, taču, kad esat pabeidzis apli, datu ievadē/izvadīšanā trūkst vienas saites, lai varētu savienot vadus ar datiem IN. Vietās, kur vadi tiek savienoti ar datiem IN, būs pirmā gaismas diode vai tā numurēts pareizi NULLE.

Es domāju, kā bija labākais veids, kā LED gredzenu piestiprināt pie koka gredzena? bet galu galā es nolēmu izmantot draudošo auklu un stelles ap apkārtmēru, katru reizi izlaižot gaismas diodes.

3. darbība: pievienojiet Arduino Nano un Power

Arduino Nano un Power vadu savienošana
Arduino Nano un Power vadu savienošana
Arduino Nano un Power vadu savienošana
Arduino Nano un Power vadu savienošana
Arduino Nano un Power vadu savienošana
Arduino Nano un Power vadu savienošana

Sākumā es nolēmu šim projektam izmantot LiPo, bet, kad es to izmēģināju, akumulators izlādējās nakti. Sākumā es domāju, ka akumulators varētu būt iztukšots, tāpēc es izmērīju strāvu un atklāju, ka ķēde zīmē 73 mA, kas nozīmē, ka pie akumulatora tā būs vairāk. Faktiski es izmērīju strāvu pie akumulatora (pirms pastiprinātāja pārveidotāja) un atklāju, ka tas pārsniedz 110 mA. Tātad bija skaidrs, ka šis pulkstenis nedarbosies ar akumulatoru.

Tā vietā es izvēlos izmantot 5V USB lādētāju. Man parasti ir daudz mirušu USB lādētāju, jo savienotāji tiek ļaunprātīgi izmantoti no diviem maziem bērniem.

Tā kā mēs izmantojam WS2812 gaismas diodes, mums ir tikai 3 savienojumi ar Arduino Nano.

  • Jauda
  • Zeme
  • Dati IN. Oranžs līdz D2 uz Nano

Tālāk mums ir RTC, tam ir tikai 4 vadi.

  • Jauda 5 volti
  • Zeme
  • SCL (I2C pulkstenis) no zila līdz A5 uz Nano
  • SDA (I2C dati) no dzeltenas līdz A4 formātā uz Nano

Visbeidzot, mums ir nepieciešama jauda, un tas nonāk pie Nano 5 V spailes. Vin ir paredzēts, lai spriegums būtu lielāks par 5 voltiem (ti, 7–12 volti) un zeme.

4. solis: programma

Man ļoti patīk programmēt, es vienkārši neesmu pārāk labs.

1. problēma

Sekundes un minūtes ir pareizi uzrādītas kā skaitlis no 0 līdz 59. Tomēr pirmā gaismas diode un līdz ar to nulle atrodas apakšā. Tāpēc tas bija jālabo.

void correctPos (int A)

{ja (A 30) {A = A - 31; }} temp = A; }

2. problēma

Pirms jaunas pozīcijas parādīšanas es mēģināju notīrīt visas gaismas diodes, taču tas izraisīja LED mirgošanu. Tāpēc es nolēmu ieslēgt nākamo LED un pēc tam izslēgt iepriekšējo. Tas strādāja tikai labi ?? NĒ, jo, ja jaunā pozīcija būtu nulle, tā mēģinātu izslēgt -1. tāpēc tas tika izskatīts vienlaikus.

void delete Iepriekšējais (int B)

// izdzēsiet iepriekšējo LED, ja tas bija nulle, tad // izslēdziet 59, vienkārši atņemiet 1 // un izslēdziet to. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Viss izslēgts} else {strip.setPixelColor (B - 1, 0, 0, 0); // all off}}

3. problēma

Iepriekš minētā veikšana darbojās patiešām labi, līdz jaunā otrā pozīcija bija vecās minūtes vietā. Tas nozīmēja, ka minūte, kas tika atjaunināta pēc sekundēm, to izslēdza! Tas pats attiecībā uz stundu/minūti

ja (sekundes == min-1)

{strip.setPixelColor (min-1, 0, 30, 0); }

4. problēma

Lietas sāk izskatīties labi, tāpēc sajauksim krāsas, kad tās nokritīs vienā pozīcijā?

ja (min == sekundes)

{strip.setPixelColor (min., 15, 13, 0); // zaļa un sarkana, lai kļūtu dzeltena. }

5. problēma

Stundas sākas 24 stundu formātā. tāpēc vispirms tas ir jālabo

ja (stundas> 12)

{stundas = stundas -12; }

6. problēma

Un neaizmirsīsim, ka dienā ir 24 stundas, un man ir 60 gaismas diodes. Viegli tiešām reizes to 5

stundas = stundas * 5;

7. problēma

Pēc iepriekšminētā mums tagad ir stundu lecošās 4 gaismas diodes, tas izskatītos daudz labāk, ja izmantotu visas gaismas diodes un pareizi parādītu stundas daļas? Atkal tas bija vienkāršs labojums, es tikai stundām pievienoju sākotnējo minūšu skaitli, kas dalīts ar 12.

stundas = stundas + (addMin/12);

8. problēma

Kad stundas vai minūtes rādījums atrodas apakšā, sekundes pazūd uz vienu sekundi.

stundas = ja (min == 0)

{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} ja (stundas == 0) {ja (sekundes == 59) {strip.setPixelColor (59, 0, 30, 0); // zaļš}}

9. problēma

Laika iestatīšana. Es nolēmu šo konstrukciju saglabāt ļoti vienkāršu, tāpēc neietvēra pogas laika pielāgošanai. Tātad atliek tikai savienot pulksteni ar datoru un ielādēt jaunu laiku. Vienkārši noņemiet komentāru tālāk esošajā sadaļā un iestatiet vajadzīgo laiku, pēc tam ielādējiet programmu. Kad esat pareizi izdarījis, atkārtoti komentējiet rindu un nosūtiet programmu vēlreiz, pretējā gadījumā, ja pazudīsiet jauda, tā atkārtos iestatīšanu un atkal ielādēs veco laiku.

// 2020. gada 12. aprīlī pulksten 23:20 jūs zvanītu:

//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));

Ieteicams: