Talaan ng mga Nilalaman:

7 Segment Clock: 4 na Hakbang (na may Mga Larawan)
7 Segment Clock: 4 na Hakbang (na may Mga Larawan)

Video: 7 Segment Clock: 4 na Hakbang (na may Mga Larawan)

Video: 7 Segment Clock: 4 na Hakbang (na may Mga Larawan)
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Hulyo
Anonim
Image
Image
7 na Segment Clock
7 na Segment Clock
7 na Segment Clock
7 na Segment Clock

Matapos ang ilang taon ng paggamit, ang aking analog na orasan kung tiyak na patay.

Samantala naghahanap ako ng isang proyekto sa 3d na orasan upang mai-print kasama ang aking Prusa, kaya natagpuan ko ang isang 7 segment na orasan na hinihimok ng ws2812 leds at Arduino.

Akala ko ang lakas ng mga leds na iyon ay upang ipakita ang isang malaking hanay ng mga kulay pagkatapos ang tanong ay, kung paano pagsamahin ang maraming mga kulay sa isang digital na orasan?

Pagkatapos ang ideya na ipasadya ang orasan sa mga sumusunod na tampok:

- 7 magkakaibang mga pagbabago sa minutong pagbabago

- 3 paunang naka-set na mga kulay para sa mga puwang ng oras

- Ambient light intensity auto dim

- Auto shutdown / start kapag hindi na kailangang ipakita ang oras

- Auto pagsasaayos ng oras sa pag-save ng daylight

Mga gamit

Ang proyekto ay maaaring maipatupad gamit ang isang 3D printer o googling para sa mga proyekto ng 7 segment na orasan. May gumawa din sa kanila ng karton.

Mayroon ding pangangailangan ng:

  • Arduino nano
  • larawan chell
  • panandaliang pindutan
  • on / off switch
  • DC plug
  • 5V transpormer
  • n ° 30 WS2812 leds (modelo 30 leds / meter)
  • pcb
  • Module ng DS3231
  • manipis na mga kable para sa mga koneksyon sa leds
  • resistors 10K, 550
  • panghinang
  • pandikit
  • jumper
  • header lalaki / babae

Hakbang 1: Pagpi-print at Mga Kable…

Pagpi-print at Mga Kable …
Pagpi-print at Mga Kable …
Pagpi-print at Mga Kable …
Pagpi-print at Mga Kable …
Pagpi-print at Mga Kable …
Pagpi-print at Mga Kable …

Ang orihinal na proyekto sa Thingverse ay may kaunting binago. (Salamat sa gumagamit na random1101)

Ang dalawang mga tuldok ay pinalaki upang magkasya na humantong bersyon na ginamit para sa proyektong ito. Ang isa sa tatlong takip sa likod ay binago din upang magkasya sa pcb. Binago rin ang base ng orasan.

Pangunahing gawain ay ang mag-solder leds. Para sa una ay nagpatuloy ako sa mga paghihinang na leds sa labas ng 3d print digit na backcover, pagkatapos ay ipinasok dito.

Ang ika-7 na pinangunahan ng unang digit na nagsisimula sa kaliwa ay makokonekta sa unang pinangunahan ng susunod na digit. Sa pagtatapos ng ika-4 na digit, ikonekta ang dalawang mga tuldok na leds, mabibilang sila ng 28 at 29 sa loob ng pagkakasunud-sunod.

Ang humantong pagkakasunud-sunod ay maaaring mabago pagbabago ng ilang mga parameter sa Arduino library tulad ng sumusunod na ipinaliwanag.

Kapag nakakonekta, karamihan sa trabaho ay tapos na.

Hakbang 2: Pagtitipon ng PCB

Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB
Pagtitipon ng PCB

Ngayon ay oras na upang tipunin ang isang pcb kung saan maghinang ang ilang mga resistors, header, atbp. Ang mga sangkap upang ikonekta ang Arduino ay:

Nakakonekta ang Pushbutton sa pagitan ng Arduino pin 3 at GND na may panloob na resistor na pull-up.

Ang sensor ng ilaw ay nakakonekta bilang isang divider ng boltahe, sa pagitan ng Arduino pin A7 at GND. Magdagdag din ng 10K risistor sa pagitan ng A7 at + 5V ……… BIG MISTAKE

light sensor sa pagitan ng + 5V at A7 pin at 10K resistor sa pagitan ng A / pin at GND

Ang module ng DS3231 ay konektado sa pamamagitan ng i2c at SQW pin sa Arduino makagambala pin 2

Ang mga leds ay konektado sa pin 5 hanggang 550Ohm risistor.

Hakbang 3: Ang Sketch

Maraming pagpapasadya na maaaring gawin sa loob ng sketch.

Ang pag-save ng daylight time library ay hawakan ng mga parameter na TimeChangeRule, tingnan ang JChristensen library sa Github para sa karagdagang impormasyon.

Ang awtomatikong pag-shutdown sa loob ng loop ay pinangangasiwaan ng variable int gotosleep. Sa aking kaso sa 0:00 Arduino ay pupunta sa mode ng pagtulog, pagkatapos ay i-off ang orasan.

Ang pagtatakda ng ALARM sa module ng DS3231 sa pamamagitan ng variable int gotosleep, payagan ang Arduino na magising mula sa mode ng pagtulog. Sa aking kaso ng 7:00 ng umaga.

Ang isa pang tampok ay upang baguhin ang kulay ng orasan sa araw na nasa loob ng pag-andar:

walang bisa ang printDateTime (time_t t, const char * tz)

Sa aking mga setting mula h 0:00 hanggang 12:00 ang oras ay ipinapakita sa pula, mula 12:00 hanggang 17:00 berde at mula 17:00 hanggang 0:00 karamihan ay asul. Ito ang pinakamahusay na pagbabalanse ng kulay na natagpuan hanggang ngayon para sa isang mahusay na kaibahan sa puting pader sa likod.

Pinapayagan ang tampok na Mga Paglipat na magkaroon ng isang animated na paglipat ng kulay kapag binago ang minuto. Mayroong 6 na magkakaibang maaaring mapili na pagpindot sa panandaliang pindutan, ang ika-7 na pagpipilian ay w / o mga pagbabago. Ang isa na gusto ko ay pinangalanang newrandom () iyon ang presetted (int mode = 1;).

Gumawa ako ng ilang mga pagbabago sa library para sa pagiging tugma sa humantong pagkakasunud-sunod. Sa loob ng segment ng segment_display.cpp, sa dulo, lumipat (i) maaari mong baguhin ang iyong humantong pagkakasunud-sunod. Kapag tapos na palitan ang file sa loob

/ Arduino / libraries / 7segment_NeoPixel-master

Kinakailangan ang mga aklatan:

  • matulog
  • segment_display
  • DS3231
  • TimeLib
  • Kawad
  • Adafruit NeoPixel
  • Timezone

Hakbang 4: Panahon na upang Magpaalam

Gusto ko ng orasan na ito, ang kasalukuyang oras ay malinaw na nakikita mula sa malayo at ito ay patayin kapag hindi ko kailangan.

Paano makakahingi ng higit pa mula sa isang orasan?

Inirerekumendang: