Kazalo:

7 -segmentna ura: 4 koraki (s slikami)
7 -segmentna ura: 4 koraki (s slikami)

Video: 7 -segmentna ura: 4 koraki (s slikami)

Video: 7 -segmentna ura: 4 koraki (s slikami)
Video: ЭКСТРЕМАЛЬНЫЕ ПРЯТКИ В КОРОБКАХ ЧЕЛЛЕНДЖ ! *2 Часть* 2024, November
Anonim
Image
Image
7 Segmentna ura
7 Segmentna ura
7 Segmentna ura
7 Segmentna ura

Po več letih uporabe je moja analogna ura dokončno mrtva.

Medtem sem iskal projekt 3D ure za tiskanje s svojo Pruso, zato sem našel 7 -segmentno uro, ki bi jo poganjali LED -ji ws2812 in Arduino.

Mislil sem, da je moč teh LED diod prikazati široko paleto barv, potem pa je bilo vprašanje, kako združiti več barv na digitalni uri?

Potem pa ideja, da bi uro prilagodili z naslednjimi funkcijami:

- 7 različnih minutnih prehodov

- 3 vnaprej nastavljene barve za časovne reže

- intenzivnost svetlobe v okolju samodejno zatemni

- samodejni izklop/zagon, ko ni treba prikazati časa

- samodejna nastavitev poletnega časa

Zaloge

Projekt je mogoče izvesti s 3D tiskalnikom ali googlati za projekte s 7 segmentnimi urami. Nekdo jih je naredil tudi iz kartona.

Potrebni so tudi:

  • Arduino nano
  • foto chell
  • trenutni gumb
  • stikalo za vklop/izklop
  • DC vtič
  • 5V transformator
  • n ° 30 WS2812 LED (model 30 LED/meter)
  • pcb
  • Modul DS3231
  • tanki kabli za povezavo LED
  • upori 10K, 550
  • spajkanje
  • lepilo
  • skakalci
  • glave moški/ženski

1. korak: Tiskanje in ožičenje…

Tiskanje in ožičenje…
Tiskanje in ožičenje…
Tiskanje in ožičenje…
Tiskanje in ožičenje…
Tiskanje in ožičenje…
Tiskanje in ožičenje…

Prvotni projekt na Thingverse je bil nekoliko spremenjen. (Zahvaljujoč uporabniku random1101)

Dve piki sta bili povečani, da ustrezata LED različici, uporabljeni za ta projekt. Eden od treh zadnjih pokrovov je bil prav tako spremenjen, da se prilega tiskani plošči. Spremenjena je tudi osnova ure.

Glavno delo je spajkanje LED diod. Najprej sem nadaljeval spajkanje LED diod zunaj ovitka s številko za 3D tiskanje, nato pa sem ga vstavil vanj.

Sedmi led prve številke, ki se začne od leve, bo povezan s prvim vodnikom naslednje številke. Na koncu četrte številke povežite dve piki, ki bosta oštevilčeni v zaporedju 28 in 29.

Zaporedje LED lahko spremenite tako, da spremenite nekatere parametre v knjižnico Arduino, kot je razloženo spodaj.

Ko se povežete, je večina dela opravljenega.

2. korak: Sestavljanje PCB -ja

Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB
Sestavljanje PCB

Zdaj je čas za sestavljanje tiskanega vezja, na katerem spajkate nekaj uporov, glav itd. Komponente za priključitev Arduina so:

Gumb, povezan med Arduino pin 3 in GND z notranjim uporovnim uporom.

Svetlobni senzor, priključen kot delilec napetosti, med Arduino pin A7 in GND. Dodajte tudi 10K upor med A7 in +5V ……… VELIKA NAPAKA

svetlobni senzor med +5V in A7 pin in 10K upor med A/ pin in GND

Modul DS3231, povezan z i2c in SQW pin na Arduino prekinitveni pin 2

Led priključeni na pin 5 do 550Ohm upor.

3. korak: Skica

Znotraj skice je mogoče narediti veliko prilagoditev.

Shranjevanje knjižnice poletnega časa se upravlja s parametri TimeChangeRule, za več informacij glejte knjižnico JChristensen na Githubu.

Samodejni izklop znotraj zanke upravlja s spremenljivim int gotosleep. V mojem primeru ob 0:00 Arduino preide v način spanja, nato pa se ura izklopi.

Če nastavite ALARM na modulu DS3231 s spremenljivim int gotosleep, omogočite, da se Arduino prebudi iz načina spanja. V mojem primeru ob 7.00 zjutraj.

Druga značilnost je spreminjanje barve ure čez dan znotraj funkcije:

void printDateTime (time_t t, const char *tz)

V mojih nastavitvah od h 0:00 do 12:00 je čas prikazan rdeče, od 12:00 do 17:00 zeleno in od 17:00 do 0:00 večinoma modro. To je najboljše barvno uravnoteženje, ki je bilo doslej za dober kontrast z belo steno zadaj.

Funkcija prehoda omogoča spreminjanje barvnega prehoda pri spreminjanju minute. S pritiskom trenutnega gumba lahko izberete 6 različnih, sedma možnost je brez prehodov. Tisti, ki mi je všeč, se imenuje newrandom (), ki je prednastavljen (int mode = 1;).

V knjižnici sem naredil nekaj sprememb zaradi združljivosti z led zaporedjem. V datoteki segment_display.cpp na koncu s stikalom (i) lahko spremenite zaporedje LED. Ko končate, datoteko v notranjosti zamenjajte

/Arduino/knjižnice/7segment_NeoPixel-master

Potrebne knjižnice:

  • avr.spi
  • segment_display
  • DS3231
  • TimeLib
  • Žica
  • Adafruit NeoPixel
  • Časovni pas

4. korak: Čas je, da se poslovimo

Ta ura mi je všeč, trenutni čas je jasno viden od daleč in se izklopi, ko ne potrebujem.

Kako bi lahko od ure zahtevali več?

Priporočena: