아두이노 보드에 관한 근본적인 재 고찰...

by 이희철 | 2016-07-21 21:08
sous vide 수비드 수비드머신

아두이노 우노보드에서 용량초과로 컴파일 에러가 난 후에...


고심끝에 아두이노메가보드를 사용하는 것을 재검토 중...


처음에 아두이노 메가보드는 우노보다 크기가 더 크고 TFT LCD를 장착한 후에 옆으로 많이 삐져 나오기 때문에 기구적인 측면에서 사용하는 것을 제외시켰었는데...


프로그램 용량이 문제가 되면서 다시 검토를 시작했다...


일단 메가보드에 핀배열을 맞추어 연결해 보았는데...


동작을 하지 않았다...



분명...


인터넷이나 아두이노에 경력이 많은 친구들이 별도의 조치없이 쉴드가 호환이 된다고 했었는데...




게다가 회로도를 찾아보니 D포트 3개는 (PD4, PD5, PD6) 회로도 상에 아예 연결이 안되어 있고 오픈 상태로 있었다.. (이해 할 수 없었다... 이렇게 3개의 핀을 연결해 놓지 않으면 우노보드하고는 호환이 되지 않는것이 어쩌면 당연해 보인다.)



인터넷의 어느 사이트에서는 우노와 메가가 완전히호환된다는 게시글(http://kevinrye.net/index_files/arduino_mega_2560.php)이 있는데...

이는 모든 호환성 테스트를 해보지 않고 LED점멸이나 프로그램이 업로드되는 정도만 확인하고 올린 글인 듯 싶다...


ArduinoMEGA_0146-6








우노보드에서는 위의 핀배치도에서 보듯이 핀0 ~ 핀7에 PD0 ~ PD7이 연결되어있지 않은가...?

PD0 ~PD7은 CPU내부에서 단순 I/O로 사용되어 지는 것이 아니라 데이터버스로 사용되는 듯 해서 더 미궁에 빠져 드는 느낌...


여기서 시도할 방법은 두가지


첫째, 프로그램상에서 핀배치도를 고려해서 핀 정의를 다시 하는 방법과...


둘째, 물리적으로 하드웨어의 연결을 다시 찾아 쉴드를 빼버리고 일일히 연결하는 방법 이다...


그러나 첫번째 방법은 하드웨어를 건드리지 않고 핀배치를 다시 정의하면 되니 좋기는 하지만 PB0 ~ PB7이 데이터버스로 사용되는 듯해서...

동작타이밍에 미묘한 영향을 미칠 수 있을지도 모른다는 생각이 들고...


두번째 방법은 PD4 ~PD6 3개핀이 CPU에서 핀코넥터로 연결이 되지 않아 찜찜하고...


또 메가 관련기사를 검색해 보니...


메가가 쉴드가 3.3V로 동작하기 때문에 우노와 호환이 안될 것이라는 게시글도 발견했다...


일단 기구를 전면 수정하더라도 우노를 메가로 바꾸는 것이 좋겠다는 생각 중...


이 관련된 경험이 있는 분들은 조언 바란다...   흑...흑...   ㅠ.ㅠ



댓글 1

MADE BY

이희철

요리, 전자회로설계

HELP ME!

아두이노 우노 TFT LCD쉴드를 메가로 옮기니 동작을 하지 않습니다. 일단 원인은 파악했고 어떻게 해야 할지에 대한 방법은 알겠으나 (소프트웨어를 고치는 방법과 하드웨어를 고치는 방법) 어떤게 더 효율적이고 좋은 방법인지 잘 모르겠군요.

답하기