INHOUDSOPGAWE:

7 segmentklok: 4 stappe (met foto's)
7 segmentklok: 4 stappe (met foto's)

Video: 7 segmentklok: 4 stappe (met foto's)

Video: 7 segmentklok: 4 stappe (met foto's)
Video: Dit ging niet zoals ik had verwacht..😳 2024, November
Anonim
Image
Image
7 Segment klok
7 Segment klok
7 Segment klok
7 Segment klok

Na 'n paar jaar se gebruik, is my analoog horlosie beslis dood.

Intussen was ek op soek na 'n 3D -klokprojek om met my Prusa af te druk, so ek het 'n 7 -segment klok gevind wat deur ws2812 leds en Arduino aangedryf moet word.

Ek het gedink dat die krag van die LED's 'n groot verskeidenheid kleure is, en dan was die vraag: hoe kan u verskillende kleure op 'n digitale horlosie kombineer?

Dan die idee om die klok aan te pas met die volgende funksies:

- 7 verskillende oorgange van minute verander

- 3 vooraf ingestelde kleure vir tydgleuwe

- outomatiese dimensie van omringende lig

- outomatiese afsluit/begin as daar nie tyd nodig is nie

- outomatiese aanpassing van die somertyd

Voorrade

Die projek kan uitgevoer word met behulp van 'n 3D -drukker of om te googlen vir projekte van 7 segmenthorlosies. Iemand het dit ook met karton gemaak.

Daar is ook die behoefte aan:

  • Arduino nano
  • foto chell
  • kort drukknop
  • aan/af skakelaar
  • DC -prop
  • 5V transformator
  • n ° 30 WS2812 leds (model 30 leds/meter)
  • pcb
  • DS3231 module
  • dun kabels vir leds -verbindings
  • weerstande 10K, 550
  • soldeer
  • gom
  • springers
  • opskrifte manlik/vroulik

Stap 1: Druk en bedrading …

Druk en bedrading …
Druk en bedrading …
Druk en bedrading …
Druk en bedrading …
Druk en bedrading …
Druk en bedrading …

Die oorspronklike projek op Thingverse is 'n bietjie aangepas. (Danksy die gebruikers random1101)

Die twee kolletjies is vergroot om te pas by die LED -weergawe wat vir hierdie projek gebruik is. Een van die drie agterblaaie is ook aangepas om op die kaart te pas. Verander ook klokbasis.

Die belangrikste werk is om leds te soldeer. Ek het eers leds buite die agterkant van die 3D -druksyfer gesoldeer en daarna daarin geplaas.

Die 7de led van die eerste syfer wat van links begin, sal gekoppel wees aan die eerste led van die volgende syfer. Aan die einde van die vierde syfer, koppel die twee kolletjies LED's, hulle sal genommer word 28 en 29 binne die ry.

Die LED -volgorde kan verander word deur sommige parameters in die Arduino -biblioteek te verander, soos hieronder verduidelik.

Sodra dit verbind is, is die meeste werk gedoen.

Stap 2: PCB -samestelling

PCB -samestelling
PCB -samestelling
PCB -samestelling
PCB -samestelling
PCB -samestelling
PCB -samestelling
PCB -samestelling
PCB -samestelling

Dit is nou tyd om 'n PCB saam te stel waar soliede weerstande, koppe, ens. Soldeer. Die komponente om Arduino aan te sluit is:

Drukknop verbind tussen Arduino pen 3 en GND met interne optrekweerstand.

Lichtsensor verbind as 'n spanningsverdeler tussen Arduino -pen A7 en GND. Voeg ook 'n 10K -weerstand tussen A7 en +5V by ……… GROOT Fout

ligsensor tussen +5V en A7 -pen en 10K -weerstand tussen A/ pen en GND

DS3231 -module verbind via i2c en SQW -pen met Arduino onderbrekingspen 2

Leds gekoppel aan pen 5 tot en met 550 Ohm weerstand.

Stap 3: Die skets

Daar is baie aanpassings wat binne die skets gedoen kan word.

Besparing van die dagligbiblioteek word hanteer deur parameters TimeChangeRule, sien JChristensen -biblioteek op Github vir meer inligting.

Die outomatiese afsluiting in die lus word hanteer deur veranderlike int gotosleep. In my geval gaan Arduino om 0:00 in die slaapmodus, dan skakel die klok af.

Deur ALARM op die DS3231 -module te stel deur veranderlike int gotosleep, laat Arduino uit die slaapmodus wakker word. In my geval om 7:00 die oggend.

'N Ander kenmerk is om die kleur van die klok gedurende die dag binne te verander:

void printDateTime (time_t t, const char *tz)

In my instellings van h 0:00 tot 12:00 word die tyd in rooi gewys, van 12:00 tot 17:00 groen en van 17:00 tot 0:00 meestal blou. Dit is die beste kleurbalansering wat tot dusver gevind is vir 'n goeie kontras met die wit muur agter.

Met oorgange -funksie kan u 'n geanimeerde kleuroorgang hê as die minuut verander. Daar is 6 verskillende wat gekies kan word om op die kortstondige knoppie te druk; die 7de opsie is sonder oorgange. Die een waarvan ek hou, word newrandom () genoem, die vooraf ingestelde (int mode = 1;).

Ek het 'n paar veranderinge aan die biblioteek aangebring vir verenigbaarheid met LED -volgorde. Binne lêersegment_display.cpp, skakel aan die einde (i) dat u u LED -volgorde kan verander. Sodra u klaar is, vervang die lêer binne

/Arduino/biblioteke/7segment_NeoPixel-master

Biblioteke benodig:

  • slaap
  • segment_vertoning
  • DS3231
  • Tydslib
  • Draad
  • Adafruit NeoPixel
  • Tydsone

Stap 4: Dit is tyd om totsiens te sê

Ek hou van hierdie horlosie, die huidige tyd is duidelik van ver af sigbaar en dit word afgeskakel as ek dit nie nodig het nie.

Hoe kan u meer van 'n horlosie vra?

Aanbeveel: