Sadržaj:

7 segmentni sat: 4 koraka (sa slikama)
7 segmentni sat: 4 koraka (sa slikama)

Video: 7 segmentni sat: 4 koraka (sa slikama)

Video: 7 segmentni sat: 4 koraka (sa slikama)
Video: 10 видов опор для пионов, гортензий и хризантем 2024, Srpanj
Anonim
Image
Image
7 Segmentni sat
7 Segmentni sat
7 Segmentni sat
7 Segmentni sat

Nakon nekoliko godina korištenja, moj analogni sat je definitivno mrtav.

U međuvremenu sam tražio projekt 3d sata za ispis sa mojom Prusom, pa sam našao 7 -segmentni sat koji će pokretati ws2812 LED diode i Arduino.

Mislio sam da je moć tih LED dioda prikazati veliki raspon boja, pa je pitanje bilo, kako kombinirati više boja na digitalnom satu?

Zatim se pojavila ideja da sat prilagodite sljedećim značajkama:

- 7 različitih prijelaza s promjenom minuta

- 3 unaprijed postavljene boje za vremenske intervale

- intenzitet ambijentalnog svjetla auto dim

- automatsko isključivanje/pokretanje kada nema potrebe za prikazivanjem vremena

- automatsko podešavanje ljetnog računanja vremena

Pribor

Projekt se može izvesti pomoću 3D pisača ili googlati za projekte sa 7 segmentnih satova. Netko ih je napravio i od kartona.

Također je potrebno:

  • Arduino nano
  • foto chell
  • trenutni gumb
  • prekidač za uključivanje/isključivanje
  • DC utikač
  • 5V transformator
  • n ° 30 LED -a WS2812 (model 30 LED -a/metar)
  • PCB
  • DS3231 modul
  • tanki kabeli za spajanje LED dioda
  • otpornici 10K, 550
  • lem
  • ljepilo
  • skakači
  • zaglavlja muško/žensko

Korak 1: Ispis i ožičenje…

Ispis i ožičenje…
Ispis i ožičenje…
Ispis i ožičenje…
Ispis i ožičenje…
Ispis i ožičenje…
Ispis i ožičenje…

Izvorni projekt na Thingverse malo je izmijenjen. (Zahvaljujući korisniku random1101)

Dvije točke su povećane kako bi odgovarale LED verziji koja se koristi za ovaj projekt. Jedan od tri stražnja poklopca također je modificiran tako da odgovara PCB -u. Promijenjena je i baza sata.

Glavni posao je lemljenje LED dioda. Prvo sam nastavio lemljenje LED dioda izvan stražnje strane cifre za 3D ispis, a zatim ih umetnuo u njih.

Sedma led prva znamenka koja počinje slijeva bit će spojena na prvu vodicu sljedeće znamenke. Na kraju četvrte znamenke spojite dvije točke s LED diodama, one će biti označene brojevima 28 i 29 unutar niza.

LED niz se može mijenjati mijenjanjem nekih parametara u Arduino biblioteku kako je objašnjeno u nastavku.

Nakon povezivanja, većina posla je obavljena.

Korak 2: Sastavljanje PCB -a

Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a

Sada je vrijeme za sastavljanje tiskane ploče na kojoj će se lemiti neki otpornici, zaglavlja itd. Komponente za povezivanje Arduina su:

Tipkalo spojeno između Arduino pina 3 i GND s unutarnjim pull-up otpornikom.

Senzor svjetla spojen kao razdjelnik napona, između Arduino pina A7 i GND. Dodajte i 10K otpornik između A7 i +5V ……… VELIKA GREŠKA

svjetlosni senzor između +5V i A7 pina i 10K otpornika između A/ pina i GND

DS3231 modul spojen preko i2c i SQW pina na Arduino pin 2

Led spojeni na pin 5 do 550Ohm otpornik.

Korak 3: Skica

Postoji mnogo prilagodbi koje se mogu izvršiti unutar skice.

Spremanje knjižnice za ljetno računanje vremena obrađuje se parametrima TimeChangeRule, za više informacija pogledajte knjižnicu JChristensen na Githubu.

Automatskim isključivanjem unutar petlje upravlja varijabla int gotosleep. U mom slučaju u 0:00 Arduino prelazi u stanje mirovanja, a zatim se sat isključuje.

Postavljanjem ALARMA na DS3231 modulu putem varijable int gotosleep, omogućite Arduinu da se probudi iz načina mirovanja. U mom slučaju u 7:00 ujutro.

Druga značajka je promjena boje sata tijekom dana unutar funkcije:

void printDateTime (time_t t, const char *tz)

U mojim postavkama od h 0:00 do 12:00 vrijeme je prikazano crvenom bojom, od 12:00 do 17:00 zelenom i od 17:00 do 0:00 uglavnom plavom bojom. Ovo je do sada najbolje balansiranje boja za dobar kontrast s bijelim zidom iza.

Značajka prijelaza omogućuje promjenu animirane boje pri promjeni minute. Postoji 6 različitih koje se mogu odabrati pritiskom na tipku za trenutak, sedma opcija je bez prijelaza. Ona koja mi se sviđa zove se newrandom () koja je unaprijed postavljena (int mode = 1;).

Napravio sam neke izmjene u biblioteci radi kompatibilnosti s LED sekvencom. Unutar datoteke segment_display.cpp, na kraju, prekidačem (i) možete izmijeniti svoj LED niz. Nakon što završite, zamijenite datoteku unutra

/Arduino/biblioteke/7segment_NeoPixel-master

Potrebne biblioteke:

  • avr.spavati
  • segment_displej
  • DS3231
  • TimeLib
  • Žica
  • Adafruit NeoPixel
  • Vremenska zona

Korak 4: Vrijeme je za rastanak

Sviđa mi se ovaj sat, trenutno vrijeme je jasno vidljivo izdaleka i isključuje se kad mi ne treba.

Kako bi mogao tražiti više od sata?

Preporučeni: