2008년 7월 25일 금요일

인터보드 ATMEGA8BK를 사용한 아두이노

이번 포스트에서는 좀 더 작은 아두이노를 소개합니다.

준비물 (아래의 링크를 누르면 판매처로 이동합니다):

arduinos3v3_vs_atmega8bk.jpg
왼쪽이 기존에 만든 아두이노 S3V3, 오른쪽이 인터보드 ATMEGA8BK(이하 인터보드) 입니다.

인터보드는 Atmega8, 16M 크리스탈, 리셋 스위치만으로 구성된 모듈이며, 온전한 아두이노에 비해 보면 입력 전압의 5V 변환 부분, 시리얼 통신 부분을 제외하고 모든 부분이 포함되어 있습니다.

주의! : 인터보드의 10pin의 ISP 포트는 표준(STK200, STK300)의 핀배열과 달라 변환 해 주셔야 합니다.

ISP-CON이 그 역활을 하며 다음 사진에서 이를 사용해 인터보드를 아두이노로 만들기 위해 부트로더를 심기 위해 구성한 모습을 보실 수 있습니다.


atmega8bk_to_arduino.jpg
왼쪽 상단에 NT-ISP, 가운데 아래에 ISP-CON, 갈색 빵판에 만든 5V 변환기판을 사용하였습니다.

인터보드는 Arduino NG (Atmega 8)과 동일한 부트로더를 사용하면 되므로 이전 포스트에서 소개한 방법대로 부트로더를 심으시면 됩니다.

부트로더를 심으신 후에 JP1의 4번(아두이노 13번)에 LED를 연결해 리셋 후에 파라라락! 하신다면 성공입니다.

atmega8bk_to_arduino_pinmapping.png
인터보드-아두이노의 핀 맵

JP1, JP2에 ADC6, ADC7은 아두이노 S3V3에는 없던 부분 입니다. 이 두 핀이 정상적으로 동작하는지는 확인 하지 못했지만 그렇지 않더라도 -부트로더를 조금 손보면- 두개의 아나로그 입력 포트를 추가로 얻을 수 있습니다. +_+

이제 시리얼 포트를 통해 스케치를 심어야 하는데 PC의 시리얼 포트는 -12V, 0V, 12V를 사용하는 반면 Atmega 칩은 0V, 5V를 사용하므로 이를 변환해 주는 부분이 필요합니다. 앞서 말한 시리얼 통신 부분.

이 용도로 MAX232라는 IC를 많이 사용하지만, 기존에 사둔 부품을 소비재활용하는 의미에서 아두이노 S3V3의 회로도를 참고해 IC를 사용하지 않고 만들어 봤습니다.

arduinobk_sketch_loading.jpg
옅은 갈색 빵판에 만든 부분이 시리얼 변환 보드 입니다.

녹색선(RX), 하얀선(TX)를 인터보드의 RX, TX위치에 연결하였습니다. 사진을 유심히 보시면 13번 핀-GND 위치에 테스트를 위해 LED를 연결해 둔 것을 보실 수 있습니다.

정상 크기의 아두이노? 비하면, 포트의 위치가 다르고 떡판을 사용해야 하는 부분들이 다소 불편하지만,

반면, 아무곳에나 넣을 수 있을만큼 작은 크기(이제 임베디드 할 수 있겠네요!)와 S3V3의 부품 값 보다 싼 가격(헉!!)이 장점입니다.

여기도 가 보세요: