이 놈이 바로 Arduino Mega. 포트가 많아서 출력이 많이 필요할 때 유용하게 쓰인다.


얼마 전에 아두이노 Mega 2560보드로 프로젝트를 잠시 진행한 적이 있었습니다.

캐릭터LCD를 붙여서 LCD에 글씨를 띄워야 하는데 자꾸 LCD에 글자가 깨지는 현상이 일어났습니다. 이유는 잘 모르겠는데 어찌어찌 하다 보니 글씨가 제대로 뜨기는 하더군요. 어쨌건 이후로는 정상적으로 작동하길래 그 날은 그냥 넘어갔습니다.


그런데 해당 문제가 다음날 또 터지더군요. LCD에서 글씨가 또 깨지더군요. 이유가 뭔지 잘 몰라서 난리를 치던 중에 프로그램 문제인가 싶어서 PC에 아두이노를 연결하자 정상적으로 LCD에 글씨가 뜨기 시작했습니다.


...사실 그동안은 전력 수급 문제로(LCD가 생각보다 전력을 많이 필요로 합니다. USB만으로는 좀 벅찰 정도입니다.)9V 어댑터를 연결해서 쓰고 있었는데 USB연결 없이 어댑터만 연결하자 LCD에 글씨가 깨지는 것이었습니다. 어댑터 문제인가 싶어서 어댑터 전압을 측정했더니 9V로 아주 쌩쌩하게 잘 돌아갔습니다. 사실 7V만 나와도 정상 작동 되어야 하는 것이기에(아두이노는 7~12V 어댑터를 연결하면 알아서 자체적으로 5V,3.3V로 알아서 낮춰서 잘 돌아갑니다.) 어댑터가 문제였을리는 거의 없습니다.


그래서 결국 아두이노 보드를 시험하던 도중 5V 출력단에서 전압이 이상하리만큼 낮은 것을 확인했습니다. 3.3V남짓 나오더군요. 그 옆에 있던 3.3V 출력단은 어떤가 봤더니 당연하게도 3.3V가 나오고 있었습니다. 즉 3.3V는 정상.


5V 출력 포트와 3.3V 출력 포트. 여기와 관련된 곳이 바로 어댑터 연결잭 근처에 있는 레귤레이터다. 즉 저놈이 전압 불안정의 원인

그래서 혹시나 하고 인터넷에 5V 출력 관련 이슈가 있나 해서 찾아보니 이슈가 있는 것인지는 모르겠지만 외국에도 사례가 있더군요.

http://www.instructables.com/id/Fix-a-fried-Arduino-Mega/#step1


Fried-Arudino...일명 날아간(튀겨진?) 아두이노 살리기.


아무래도 제 예상입니다만 LCD를 달면서 전류가 혀용량을 넘어섰고, 그에따라 레귤레이터가 맛이 갔는지도 모르겠습니다. 어쨌건 해당 글에는 레귤레이터를 아에 갈아버리더군요. 그것도 원래 아두이노에 달려있던 SOT-223대신 LM7805로 바꿔버렸습니다.


SOT-223도 괜찮은 칩이기는 한데, LM7805가 아무래도 신뢰도가 워낙 좋다 보니 이해가 가더군요.(LM시리즈는 전자상가에서 쉽게 구할 수 있는 데다가 실습 교재로 엄청 많이 쓰입니다.) 게다가 학교에서 수리 하다보니 LM7805는 워낙 남아돌아서(...) 저 사이트에 나온대로 바꿔보기로 했습니다.



그런데....

레귤레이터의 납이 안 떨어지네요...아무리 인두로 지져도 인두 온도가 낮은 것인지 저 칩을 뗄레야 뗄 수가 없었습니다. 그래서 그냥.... 


 해당 사이트를 참고해서 Vout부분인(즉, 원래 5V가 나왔어야 했지만 맛이 가서 3.3V가 나오는) 가운데 다리(*ㅡ_ㅡ*)를 잘랐습니다. 쉽게 말해서 그냥 보드에서 안 떨어지니 그냥 고자(...)로 만들어버리는 것으로 결정.


그리고 새로이 7805를 기존 레귤레이터 다리에 위치에 맞춰서 그대로 납땜을 했습니다.

SOT-223은

1pin GND

2pin Vout

3pin Vin

이지만,

LM7805는

1pin Vin

2pin GND

3pin Vout

입니다.

즉, 중간에 다리가 꼬이는데 혹시라도 있을 합선을 방지하기 위해 가운데 다리에 수축튜브를 끼워넣어서 절연을 해줍니다.

자세한 내용은 위의 링크가 걸린 사이트를 참조하시면 편하고, Vin의 위치가 1-3이니까 기존 레귤레이터와 LM7805가 서로 마주보게(...) 납땜 해주시면 편리합니다. 즉, LM7805의 2번 다리와 3번 다리를 서로 엇갈리게 꼬고 LM7805의 1번 다리와 기존 레귤레이터의 3번 다리가 만나도록 납땜 해주셔야 합니다. 혹시라도 잘못 연결하면 레귤레이터에서 연기가 피어오르는 것을 감상하실 수 있습니다.


7805를 아두이노에 납땜한 모습 테스터기로 찍어보자 딱히 합선은 없었다.

어쨌건 레귤레이터도 바꿨겠다. 어댑터 연결후에 5V포트의 전압을 측정하자 5V 칼전압이 나옵니다. Wow!


LCD를 연결하자 LCD에 글씨 엄청 잘 뜹니다. 역시 전압이 문제였다고 밖에는....일단 7805는 열이 많이 나오는 소자라서 방열판을 붙여줘야 합니다. 7805파는 가게에서 방열판도 같이 파니까 꼭 방열판을 달아놓으세요. 안 그러면 저 7805도 맛이 가는 수 있습니다. SOT-223은 잘 모르겠지만 7805는 그만큼 허용 전류량도 높으니 전류를 많이 뽑아먹어도 이제 큰 무리는 없을 겁니다. (못해도 1A는 버틴다고 하네요.)만세!




추가 이야기

아두이노에 가변저항 없이 LCD연결하기.


보통 아두이노 예제에서 LCD연결 회로는 다음과 같습니다.


저 가변저항이 무슨일을 하는가 봤더니 LCD 글씨의 대비를 조절하는 것이라고 합니다. 즉, 전압을 조절해서 LCD의 어두운 부분을 만드는 전압을 설정하는 것인데, 까놓고 말해서 가변저항 달기도 짜증나서 이를 간단히 하는 방법을 알려드리겠습니다.


우선 저 가변저항이 없으면 글씨가 무조건 까만 사각형으로 나오게 됩니다. 그리고 가변저항을 돌리다 보면 어느 순간 글씨가 보이는데 그 글씨가 보이는 수준은 LCD마다 제각각입니다. 기준전압이 지들 마음대로인데 보통은 5V짜리 기준으로 2.5V입니다. 즉 반정도 돌리면 보입니다. 그런데 가변저항을 달 생각하니까 그냥 짜증이 나더군요. 그래서 회로를 살짝 수정했습니다.




저 갈색선이 보이시나요? 아두이노의 6번핀과 LCD의 Contrast핀을 직접 이었습니다.


6번핀이 뭐냐하면 PWM지원 핀입니다.

analogWrite(~~,~~);

이 코드가 먹히는 핀이라는 것입니다. 물론 6번핀 말고도 PWM지원 핀이면 어디에 연결해도 상관은 없습니다.


analogWrite(6,120);//6은 6번핀이라는 의미 120은 듀티비가 120 즉, 출력 전압은 120/255 * 5V


위의 코드를 Setup()함수 내에 적어주시면 가변저항 없이도 LCD의 글씨가 보일 것입니다. 좀 까맣다 싶으면 120보다 낮은 수로 바꿔주시면 되고 너무 하얗다 싶으면 120보다 높이면 됩니다. 일부 LCD는 반대일 수도 있습니다. 어쨌건 저 숫자를 바꿔주면 조절이 됩니다. 심지어 머리를 조금만 더 쓰면 대비 조절을 별도의 스위치 조작이나 PC연결로 할 수도 있습니다.


보드가 깔끔한 것을 원하신다면 이 방법을 추천드립니다. 가변저항은 좀 불편하니까요. 디지털 방식도 나쁘지는 않다고 생각합니다.

,