Kazalo:

LED ura z uporabo neopikslov: 4 koraki (s slikami)
LED ura z uporabo neopikslov: 4 koraki (s slikami)

Video: LED ura z uporabo neopikslov: 4 koraki (s slikami)

Video: LED ura z uporabo neopikslov: 4 koraki (s slikami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov
LED ura z uporabo neopikslov

Dobrodošli v mojih navodilih, kako narediti LED uro z uporabo 60 neopikslov.

Našli boste 3 priložene datoteke PDF, ki je ena za segmente ure, druga je za podlago in nazadnje je ena predloga za pomoč pri lepljenju odsekov.

Za dokončanje tega boste potrebovali naslednje

  • Prstan s 60 neopiksli je na voljo v 4 četrtinah. poišči "ws2812 ring 60" (12,00 €)
  • RTC iskanje za "modul DS3231" (2,50 GBP)
  • Arduino Nano (4 £)
  • 3 mm/1/8 "vezane plošče.
  • kosov žice. upam, da boš imel kaj zraven?
  • Napajalna enota USB 5v. Vrsta, na kateri bodo vaši otroci uničili priključek.

Spodaj so elementi, ki se napajajo z baterijo Lipo, vendar je ura po testiranju porabila preveč energije, zato je baterija padla v prid napajalniku USB.

  • iskalnik pretvornika dc-dc "ojačevalnik" (3 £)
  • Polnilni krog TP4056 iskanje "tp4056" (£ 2)
  • LiPo 1000Mah enocelična. poiščite "1000mah lipo 3.7" ALI "503450 lipo" (8,00 GBP)

Številka LiPo je 503450 in morda bi bilo dobro vedeti, da to pomeni 50 mm dolgo 34 mm široko in 5,0 globoko.

Korak: Lesni kosi

Lesni koščki
Lesni koščki
Lesni koščki
Lesni koščki
Lesni koščki
Lesni koščki

Na slikah bi morali videti, da sem natisnila dizajn in nanj pritrdila tudi vezane plošče. Kar morda ni očitno, sem izrezal 3 odseke hkrati in spodnji del najprej izrežem po obodu, nato se odstrani en odsek (od zadaj), nato pa se v preostalih dveh odsekih izreže luknja, nato pa še en odsek odstranili, pri čemer je ostal le sprednji del, nato pa je bila reza za žice odrezana.

Ko so vsi kosi izrezani, morate najprej preveriti, kako se vsi prilegajo, nato pa vse zlepiti. na vrhu načrta ure sem zgradil 3 plasti, da sem prepričan, da je vse pravilno okroglo. Poskrbite tudi, da bodo spodnji deli pravilno usmerjeni, celotna srednja rezina pa je nameščena na glavo, tako da boste prekrižali sklepe.

Luknje v sprednjih delih omogočajo, da se spajkani spoji v četrtinah namestijo, spodnji del pa omogoča prehod žic.

Serija slik prikazuje tudi, kako je osnova sestavljena.

Korak: Ožičenje LED obroča

Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča
Ožičenje LED obroča

O tem koraku ni veliko za povedati, toda v primeru, da niste uporabili traku WS2812LED, so inteligentni, tako da ima vsak podatke in vhod. V lokih 15 LED diod PCB upravlja vse povezave, ko pa se pridružite odsekom, morate narediti napajalne povezave in podatke. Povezave ne morete dobiti napačno, ker so v krogu, vendar pa morate po zaključku kroga manjkati ena povezava na podatkih IN/OUT, da lahko povežete žice s podatki IN. Kjer se žice povežejo s podatki, bo prva LED ali če je pravilno oštevilčena nič.

Spraševal sem se, kako je najboljši način pritrditi obroč LED na leseni obroč? a na koncu sem se odločil, da bom uporabil grozečo vrvico in statvo po obodu ter vsakič preskočil LED.

3. korak: Ožičenje Arduino Nano in Power

Ožičenje Arduino Nano in Power
Ožičenje Arduino Nano in Power
Ožičenje Arduino Nano in Power
Ožičenje Arduino Nano in Power
Ožičenje Arduino Nano in Power
Ožičenje Arduino Nano in Power

Sprva sem se odločil, da bom pri tem projektu uporabil LiPo, a ko sem ga preizkusil, se mi je baterija čez noč izpraznila. Sprva sem mislil, da je baterija morda izpraznjena, zato sem izmeril tok in odkril, da vezje črpa 73 mA, kar pomeni, da bo pri bateriji več. Pravzaprav sem izmeril tok v bateriji (pred ojačevalnim pretvornikom) in ugotovil, da je več kot 110 mA. Tako je bilo očitno, da ta ura ne bo delovala na baterijo.

Zato se raje odločim za uporabo 5V polnilnika USB. Ponavadi imam polno mrtvih polnilnikov USB, ker konektorji zlorabljajo dva majhna otroka.

Ker uporabljamo LED WS2812, imamo le 3 povezave z Arduino Nano.

  • Moč
  • Tla
  • Podatki IN. Oranžno do D2 na Nano

Nato imamo RTC, ki ima samo 4 žice.

  • Napajanje 5 voltov
  • Tla
  • SCL (ura I2C) modra do A5 na Nano
  • SDA (podatki I2C) rumena do A4 na Nano

Nazadnje potrebujemo napajanje in to gre za napajalni priključek 5 V na Nano.. Vin je zasnovan tako, da ima napetost večjo od 5 voltov (to je 7-12 voltov) in ozemljitev.

4. korak: Program

Zelo uživam v programiranju, samo nisem ravno dober v tem.

Problem 1

Sekunde in minute so pravilno predstavljene kot številke od 0-59. Vendar je prva LED in torej nič na dnu. Zato je bilo treba to popraviti.

void correctPos (int A)

{če (A 30) {A = A - 31; }} temp = A; }

Problem 2

Pred prikazom novega položaja sem poskušal počistiti vse LED diode, vendar je zaradi tega LED utripal. Zato sem se odločil, da vklopim naslednjo LED in nato izklopim prejšnjo. To je dobro delovalo ?? NOPE, ker bi, če bi bil nov položaj nič, poskusil izklopiti -1. tako da je bilo to obravnavano hkrati.

void deletePrevious (int B)

// izbrišemo prejšnjo led, če je bila nič, potem // izklopi 59 drugače pa le odštej 1 // in to izklopi. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Vse izklopljeno} else {strip.setPixelColor (B - 1, 0, 0, 0); // vse izklopljeno}}

Problem 3

Navedeno je delovalo zelo dobro, dokler ni bila nova druga pozicija na mestu stare minute. Kar je pomenilo, da ga je minuta, ki je bila posodobljena po sekundah, izklopljena! Enako za uro/minuto

če (sekunde == min-1)

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

Problem 4

Stvari začenjajo izgledati dobro, zato zmešajmo barve, ko padejo v isti položaj?

če (min == s)

{strip.setPixelColor (min, 15, 13, 0); // zeleno in rdeče, da postane rumeno. }

Problem 5

Ure se začnejo v 24 -urnem formatu. zato je treba to najprej popraviti

če (ure> 12)

{ure = ure -12; }

Problem 6

In ne pozabimo, da je 24 ur na dan in imam 60 LED. Enostavno, zares, do 5

ure = ure * 5;

Problem 7

Ko smo naredili zgoraj, imamo zdaj uro za preskakovanje 4 LED, bi bilo videti veliko bolje, če bi uporabil vse LED in pravilno prikazal delce ure? Spet je bilo to enostavno popraviti, samo uram sem dodal prvotno število minut, deljeno z 12.

ure = ure + (addMin/12);

Problem 8

Ko je ura ali minuta na dnu, sekunde prej za eno sekundo izginejo.

ure = če (min == 0)

{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // zeleno}} if (ure == 0) {if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // zeleno}}

Problem 9

Nastavitev časa. Odločil sem se, da bom zgradil zelo preprosto, zato nisem vključeval gumbov za nastavitev časa. Gre torej le za povezavo ure z računalnikom in nalaganje novega časa. Preprosto razkomentirajte spodnji razdelek in nastavite potreben čas ter nato naložite program. Ko enkrat pravilno komentirate vrstico in znova pošljete program, v nasprotnem primeru bo znova zagnala nastavitev in znova naložila stari čas.

// 12. aprila 2020 ob 23.20 bi poklicali:

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

Priporočena: