이글의 전부 또는 일부, 사진, 소스프로그램 등은 저작자의 동의 없이는 상업적인 사용을 금지합니다. 또한, 비상업적인 목적이라하더라도 출처를 밝히지 않고 게시하는 것은 금지합니다.

 


(본 글은 2015.07.12.에 daum의 블로그(http://blog.daum.net/microcontroller/13651147)에 적었던 것을 옮겨왔습니다.)

 

 

 

VC096T-16 4개를 연결하여 간이전광판 2탄을 만드는 중입니다.

 

포함시킬 기능은 다음과 같습니다.

 

1. 64 * 16 비트맵 이미지를 VC096T-16 4개에 출력한다.

 

2. 메시지 수는 총 20개로 한다.

 첫째, 기본 메시지는 아무런 이벤트가 없을 때에 기본적으로 표시하는 메시지이다. 총 4개를 저장해 놓고, DIP 스위치로 선택할 수 있게 한다.

 둘째, 신호 메시지는 차로부터 신호를 받아서 출력하는 메시지로 다섯개를 저장해 놓을 수 있다. 차량으로부터 4개의 단자로 신호를 받는다.

 1) 브레이크를 밟았을 때

 2) 좌회전 신호가 들어올 때

 3) 우회전 신호가 들어올 때

 4) 비상등이 들어올 때

 5) 후진 신호가 들어올 때

세째, 리모콘 메시지는 10개까지 저장할 수 있도록 한다. 리모콘에 0~9까지의 버튼을 두고 각자의 버튼을 눌렀을 때 표시하는 메시지이다.

네째, 하나의 메시지 공간을 여분으로 남겨둔다.

 

3. 열 단위로 색을 바꿀 수 있도록 한다.

 

4. 도트매트릭스 전체의 밝기를 조절할 수 있도록 한다.

 

5. 광량을 측정하여 자동으로 밝기를 조절한다.

 

6. 리모콘으로도 밝기를 조절할 수 있도록 한다. 리모콘으로 밝기를 조절하면 자동밝기조절 기능은 정지한다. 리모콘으로 자동밝기조절을 켜야 자동밝기조절 기능이 동작한다. 전원을 껐다 켜도 자동밝기 조절 기능은 끄기 전의 상태를 유지한다.

 

7. 좌회전, 우회전, 비상등의 신호가 꺼지면 일정 시간(약 2초) 대기 후 기본 메시지를 표시한다. 안그러면 좌회전->기본메시지->좌회전->기본메시지... 혼란 스러울 것이다.

 

8. atmega128의 USART0는 38400,N,8,1로 PC와 통신하고, USART1은 9600,N,8,1로 GPS 모듈을 연결하여 GPS 시계를 구현한다. 리모콘으로 GPS 시계를 선택하면 기본 메세지로 GPS 시각을 보여준다. GPS 시계를 선택하면 별도로 기본메시지를 선택하지 않으면 그 상태를 유지한다. 즉, 전원을 껐다가 켜도 GPS 시계가 표시되도록 한다. GPS와의 통신 속도는 PC측 프로그램에서 재설정할 수 있도록 한다.

 

9. PC측 프로그램을 제공한다. PC와 RS232 통신 기능을 넣어 20개의 메시지 등 필요한 정보를 받아 저장하게 한다. 정보를 받을 때에는 PC와 연결해야 하지만, 원칙적으로는 독립 실행 장치이다.

 

10. PC측 프로그램과 연결하여 펌웨어 업데이트 기능을 넣는다. 추후 버전업되면 각자 집에서 펌웨어 다운 받아서 업데이트하도록 할 수 있도록 한다.

 

11. 리모콘메시지는 이미지를 표현할 것인지, 문자열로 표현할 것인지를 리모컨 또는 PC 프로그램에서 선택할 수 있도록 한다. 문자열 리모콘 메시지는 40자 이내로 제한하며, 우에서 좌로 흐르도록 한다. 리모콘 메시지를 선택하면 1회 출력한 후에 기본 메시지로 돌아간다.

 

리모컨은 스마트폰 앱으로 해결하도록 하겠습니다.

스마트폰으로 리모컨 사용이 불가능할 경우에는 LG XCANVAS TV리모콘으로 모든 기능 해결하도록 하겠습니다.

XCANBUS TV 리모콘마저도 불가능한 경우를 대비해서 리모콘 코드 분석기를 넣겠습니다. PC용 프로그램과 연결하여 보유하고 계신 리모콘의 코드를 분석해서 그 코드를 등록하여 사용할 수 있도록 할 예정입니다.

 

리모콘에 있어야할 버튼

1) 전원(ON,OFF토글)

2) 점점 밝게

3) 점점 어둡게

4) 가장 어둡게

5) 가장 밝게

6) 숫자 버튼(0 ~ 9)

7) 밝기자동조절 기능 켜기

8) 리모콘 메시지 이미지 선택

9) 리모콘 메시지 문자열 선택

10) 기본메시지 선택

11) GPS 시계

총 20개의 버튼이 있어야 합니다.

 

현재 4단계까지 개발 완료한 상태입니다.

 

펌웨어 개발하는 중인 키트 사진입니다.

 

몇 년 전에 http://www.avrmall.com에서 atmega128 v3.1 PCB만 두 개 사서 조립해 놓은 것이 있었는데, 그 중 하나를 사용하고 있습니다.

AVRISP로는 http://www.boardfree.kr에서 PCB 무료로 분양받아 조립한 AVRISP mkII 호환 제품을 사용하고 있습니다. 제품 개발에 주로 AVR Studio 4 버전을 사용하고 있지만, 위 mkII 호환 기종이 boardfree에 있던 펀웨어로는 Atmel studio 6 버전에서 안되어서 인터넷에서 펌웨어를 구해 기록하여 사용중입니다. 하도 어렵게 돌아다니며 시행착오 끝에 얻는 것인지라 어디서 얻었는지는 기억이 안납니다. boardfree 사이트에 펌웨어도 수정되어 있을지 모르겠습니다.

 

개발중에 위 키트가 갑자기 이상한 증상을 보이는 일이 발생했습니다. VC096T에 잘 출력하던 것이 갑자기 출력을 하지 못하는 현상이 발생했습니다. 하드웨어 문제라고 생각하지 못하고 소프트웨어만 몇박몇일을 이잡듯 뒤져 보았지만 원인을 발견할 수 없었습니다.

혹시나 해서 가지고 있던 다른 키트를 올려 보니 제대로 동작... 아!!!! 열!!!받!!!았!!!음!!! 이 와중에 늦게까지 자기 공간 안내어 준다고, 아들 녀석하고 문제도 발생하고...

 

atmega128이 망가진 것으로 판단하고 열풍기로 불어서 떼어내고 새 칩을 붙였습니다. 붙이고 나서도 키트가 제대로 동작하지 않아서 이리저리 삽질해야 했습니다. 결국 머리카락보다 더 얇은 전선 한 가닥으로 8군데나 기판을 땜질했습니다.

 

눈에 보이지도 않는 것을 땜했습니다. 혹시나 요령이 필요한 분이있을지 몰라 나름대로의 요령을 적어봅니다. 필요한 것은 스카치테이프 약간. 전선을 스카치테이프에 붙인 다음에 땜할 곳에 고정시킨 후에 땜하면 됩니다. 특히 IC와 기판을 연결해야 할 경우에는 IC의 다리 위에 정확히 고정시키고 땜해야 편합니다. 눈이 침침해 땜한 한 가닥 선은 보이지도 않는데, 테스터가 잘 붙어 있다고 알려 줍니다.

 

4단계까지 개발한 상태의 동영상 올립니다.

기본메시지를 아기탑승으로 놓고 효과를 주어 봤습니다.

 

 

 

후진중, 좌회전, 우회전, STOP 등의 신호를 받아 메시지를 출력해 보았습니다. 다만 한 손으로 핸드폰을 들고, 다른 한 손으로 신호를 바꾸다 보니 화면이 고르지 않습니다.  또, 신호메시지 이미지를 다 변환하지 못해서 도트매트릭스 4개에 골구루 나오지 않고 있습니다.

이미지는 PC용 프로그램에서 마음대로 편집할 수 있으니, 지금은 이미지 편집보다 기능 구현이 더 중요한 지라, 우선 순위에서 뒤로 밀어 놓았습니다.

 

 

 

먼저 버전의 간이전광판에 사용하신 예쁜 이미지들을 더 예쁘게 가공해서 사용하실 수 있습니다. 이미지 색이 단색에서 3색으로, 해상도도 14 * 40에서 16 * 64로 많이 좋아졌으니까 훨씬 예쁘고 정겨운 이미지들을 사용하실 수 있을 것입니다.

블로그 이미지

엠쿠스

Microprocessor(STM32, AVR)로 무엇인가를 만들어 보고자 학습 중입니다.

,