이번에는 7 Segment를 이용한 네트워크 시계를 만들어 보았다.

기본적인 개요를 설명하면, SNTP(Simple Network Time Protocol)을 이용해서 네트워크 시간을 받아서 저장을 하고 RTC(Real Time Clock)를 이용해서 현재 시간을 7세그먼트로 표시하는 프로젝트이다.

2016/03/01 - [IT / Development/Electronic & Circuits] - 7 Segment에 대해 알아보자.

SNTP는, 인터넷 시간을 동기화 할때 사용하는 네트워크 프로토콜이다.

RTC는, 시스템에 현재 시간을 제공하는 부분이다. MCU 나 CPU 등의 별도의 개입없이 계속 동작을 하게되고, 날짜와 시,분,초 등의 시간을 카운트 하게된다.


<사용된 재료>

WIZwiki-W7500 x 1ea

Common-Anode Type, Array 7-Segment x 2ea

BC547 x 8ea

Tact SW x 1ea

220옴 저항 x 16ea

1k옴 저항 x 8ea

10k옴 저항 x 1ea

0.1uF x 1ea

점퍼 와이어

브레드 보드


<회로 구성>

위 그림과 같은 구성을 했다. 위 회로를 보면 7세그먼트의 a~g핀들은 모두 병렬로 연결되어 있고, common 핀들은 npn 트랜지스터를 이용해서 3.3V를 선택적으로 입력되게 된다. 다이나믹 구동방식으로 7세그먼트를 점등을 해야 한다.


<구성 사진>


<동작 동영상>

동작 영상을 보면, WIZwiki-W7500 보드가 Reset이 되면 NTP서버에 접속해서 시간을 받아온다. 보드의 빨간 LED가 켜지면 NTP 서버로 부터 시간정보를 받아 온 것이다. 시간을 받아오면 RTC에 현재 시간정보를 등록하고 RTC가 동작하게 된다. RTC의 현재 시간을 7세그먼트로 출력을 하게 된다.

SW를 누를 때 마다 7세그먼트에 표시되는 정보는 시간정보와 날짜정보가 번갈아 가며 나오게 된다. 그리고 매일 오전 10시에 NTP 서버에 접속해서 새로운 시간을 받아 갱신한다.

<구현 코드>

구현된 코드는 아래 URL에서 확인 할수 있다.

https://developer.mbed.org/users/nanjsk/code/SNTP_7SEG_WIZwiki_W7500/



+ Recent posts