아두이노 비싸지요?
오픈 하드웨어이고, 컨셉도 좋고 개발환경도 좋고, 공개된 라이브러리도 많고, 다 좋은데 가격이 비쌉니다.
제가 초짜라 무슨 기능이 얼마나 많이 들어있는지는 잘 몰라도 가격은 꽤 부담스럽네요.

웹서핑하며 돌아다니다. 알게된 AVRTools 이라는 곳에서 아두이노 호환 보드를 팔고 있더군요.
더군다나 미니는 100원 짜리보다 약간 큽니다. 보는 순간 와~! 내가 찾던거다!! 를 외치고 말았습니다. ^^
가격도 12,100원 정말 저렴합니다.
미니를 못찾았다면 지금쯤 168보드를 구입해서 아두이노 부트로더를 심느라 비지땀을 흘리고 있었을텐데 ^^;;;
26mm x 30mm 사이즈 입니다.










UART ttl 포트가 있고, 6핀 ISP포트가 있고, 리셋 버튼은 없습니다.
디지털 핀 D0 (RX), D1 (TX), D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13(RUN-LED)
PWM D3, D5, D6, D9, D10, D11
아날로그핀 A0, A1 A2, A3, A4, A5과, 아날로그 입력전용 A6, A7이 제공 됩니다.



이 이미지는 정품 아두이노 미니의 핀 설명 입니다.
거의 흡사합니다만.  정품에는 ISP 포트가 없네요.

브레드 보드에 리셋 스위치와 같이 장착한 사진입니다.
이렇게 옹기종기(?) 모여있는 모습을 보니 흐뭇 하네요 ^^

usb2uart와 tx에 led도 연결했습니다.
usb2uart는 디바이스마트에서 구입하였고 tx,rx,gnd,5v 핀밖에 없는것이 아쉽기는하나 저렴한 가격에(6,000원) M168 미니와도 딱 어울리는 초미니 사이즈입니다.

제 손이 남자손 치고는 좀 작은 편인데 손위에 올려놓으니 m168 mini가 더 작아보이는 군요

키보드의 키에 1,5배 정도 차지하네요.

m168 mini에 핀의 모습입니다.
2.54mm 간격으로 브레드보드에 꽂아 바로 사용할 수 있습니다.

제가 아두이노 두에밀라노브 보드를 가지고 있는데 M168 mini를 쓰면서 유일하게 불편한점은 자동 리셋이 안되서 프로그램을 업로드할때마다 리셋을 눌러줘야 하는데 그 타이밍이좀 어렵다는것 이었습니다. 머 지금은 그나마 좀 잘 맞출수 있게 되었습니다만 업로드까지 자동으로 된다면 정말 편할것같네요.

하지만 이런 미니사이즈를 저렴한 가격으로 사용할수 있다는 것은 분명 장점입니다.
두에밀라노브로 테스트를 끝낸 코드를 M168 mini 에 옮겨서 프로젝트에 적용한다면 usb포트가 없다는 장점으로 소형화가 가능하니까요. 자 이제 만들어봅시다 ^^


추가 2010/10/27
아두이노 스케치 0015이하에서는 정상 동작하는데 16이상에서는 간혹 안되는 경우가 있답니다.

원인은 위 M168-MINI의 문제가 아니고 컨버터 칩의 문제로
스케치 0016부터는 CP2102 칩을 지원하지 않아서 발생하는 문제로
FT232 칩을 사용한 USB-RS232 컨버터를 사용하면 문제가 없다고 합니다.


  1. BlogIcon nautes 2009.05.26 09:56 신고

    크기가 작은것도 그러지만 무엇보다 싼게 최고의 장점이군요. 진짜 시리얼쪽에 Tx, Rx밖에 없어 프로그램 개발할때는 좀 불편할거 같기는 한데 다 만들어서 조그마한 케이스에 집어넣을 때는 아주 편리할거 같습니다. 저도 언제 두세개 구입해야 겠네요.

  2. BlogIcon avrtools 2009.05.27 17:37

    와~~ 저희 제품이 이런 블로그에도 다 올라와 있네요
    영광입니다.

    업로드 커넥터 5핀은 VCC,GND, RXD,TXD,AR인데요
    AR은 Auto-Reset로 RS232의 RTS핀과 연결하면
    아듀이노와 같이 업로드시에 자동으로 리셋이되는 회로가 들어 있습니다.

    나중에 출시할 USB-RS232C 컨버터를
    이 5핀과 직접 연결하도록 할 예정입니다.
    좋은 글 정말 감사합니다

    avrtools 관리자 배상

    • BlogIcon pepsiman 2009.05.28 04:39 신고

      USB-RS232C 컨버터도 출시하나보군요.

      좋은제품 싸게 많이 만들어 주세요 ^^

얼마전 arduino에 인터넷에 연결하기 위한 모듈이 nemo10과 rj45잭을 구입했습니다
수아파파님 블로그를 열심히 들여다 보고 회로도도 보고 해서 빵판에 여기 저기 연결해 보았으나  아직 지식이 부족한건지 이해도 잘 안되고 어디가 문제인지 파악도 어렵고, 그리서 일단 보류하고 있던중....
수아파파님 블로그에 놀러 갔다가 나우테스님의 리플을보고 techblog.tistory.com에 방문해 wiznet의 이더넷 모듈을 알게 되었습니다.

W5100칩 안에 TCP, UDP, IP, ARP, ICMP, IGMP, PPPoE, MAC 프로토콜과 PHY 까지 모두 내장 되어 있는 것 같습니다.
모듈에는 rj45잭까지 붙어 있으니 바로 arduino에 붙이 SPI통신만 하면 될꺼 같습니다.
arduino에서 사용하는 이더넷 라이브러리도 바로 사용가능 하다니 현재로서는 최상의 선택인듯합니다.
그래서 바로 구입...


나우테스님의 포스팅에 810모델은 핀간격이 2mm라고 해서 다른 모델을 보니 핀간격이 2.54mm인 811모델이 있길래 그것을 주문했습니다.

위즈넷 홈피에있는 각 모듈별 호환표 입니다.

  WIZ810MJ WIZ811MJ WIZ812MJ
Architecture TCP/IP W5100
PHY Embedded in W5100
Mag Jack PPT RJ113BZ
Interface 10/100 Base-T Ethernet (Auto Detection)
Network Protocol TCP, UDP, IP, ARP, ICMP, IGMP, PPPoE, MAC
Dimension(mm) 52 x 25 x 21
(W x H x D)
55.5 x 25 x 23.5
(W x H x D)
55.5 x 25 x 23.5
(W x H x D)

Connector Type

2mm pitch
14 x 2 header

2.54mm pitch
10 x 2 header

2.54mm pitch
10 x 2 header

J2:9 GND
->RX_LED

J2:10 GND
->TX_LED

J2:19 GND
->LINK_LED
PCB Through Hole X

Two PCB Throughhole
(ø3.00mm)

Four PCB Throughhole
(ø3.00mm)
SPI Signal Pin Shared for SPI
and BUS signals
Separated for
SPI signals
(SPI_EN controlled by /SCS signal)
Separated for
SPI signals
(SPI_EN controlled by /SCS signal)
LINK LED When the link is established,
LED is on and flashes
at the TX or RX
When the link is established,
LED is on,
but not flashes
at the TX or RX
Input Voltage 3.3V internal operation and 5V tolerant I/Os
Power Consumtion 10/100 baseT max. 185mA (3.3V)


도착하면 다시 포스팅하겠습니다.



추가)
나우테스님이 소개해주시기 전에는 위드로봇에 e2net 이라는 모델을 보고 있었습니다.
이 모델도 SPI 통신을 하고 좋은 점은 브레드보드에 직접 연결가능한 핀과 적은 핀수....
허나 결정적으로 TCP 프로토콜을 직접 프로그램해줘야 한다네요. 소스는 물론 회사에서 제공하고 있으나 avr의 메모리를 차지한다는 단점때문에 wiznet 모델로 선회하게 되었습니다.


위 모델입니다. 생긴건 심플하니 괜찮은데....
ENC28J60 라는 칩을 사용한다는군요.
  1. BlogIcon 나우테스 2009.05.23 04:56

    블로그를 티스토리에서 텍스트큐브(http://techblog.textcube.com)로 이전중입니다. 앞으로도 많이 이용(?) 해 주세요. :)

    • BlogIcon pepsiman 2009.05.24 22:39 신고

      북마크를 다시 해야겠군요 ^^
      많이들 쓰시던데 텍스트큐브가 어떤점이 좋은가요?

arduino 홈피에 가보니 새로운 모델이 출시 되었네요.
바로 Arduino Mega라는 모델인데요.


보시다 싶이 arduino에 항상 걸림돌이었던 입출력 포트를 대폭 확장해버렸습니다.
그러면서도 기존 보드와 핀위치를 일치시켜 호환성 유지도 잊지 않았네요.

스펙입니다.
Microcontroller ATmega1280
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 128 KB of which 4 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz

디지털 입출력핀이 54개 그중 14개가 PWM 출력을 지원하네요.
아날로그 입력이 16개 이정도면 충분하지 않을까 싶은데요.
플래시 메모리는 128KB 중 4KB는 부트로더 - 제 두에밀라노브보다 4배나 많네요 ㅠㅠ
(ATmega168 - 16 KB, ATmega328 - 32 KB, bootloader 2 KB)

그밖에도 4개의 하드웨어 시리얼 포트(UART), I2C 포트, 6개의 외부 인터럽트를 지원하네요.

좀 일찍 알았다면 질러줬을텐데, 2009.03.26 이라고 되어 있는데 왜 못봤을까요 ㅠㅠ
하지만 머 아직 두에밀라노브도 100% 활용 못하고 있기 때문에 괜찮습니다.
새로 구입하시는 분들은 아르두이노 메가를 구입하시면 좋겠네요. 하지만 아직 국내 디스트리뷰터인 PlugHouse에서 팔지 않는다는거.....

추가) 플러그 하우스에서 메가를 들여오기위해 일을 진행중이라네요 (2009.05.20)
한달 정도 소요된다고 합니다.

추가2) 플러그 하우스에서 아두이노 메가를 판매하고 있습니다. 86,000원



아르두이노에 필이 꽃힌지 2~3주 되었나....

국내 아르두이노 총판인 플러그 하우스가 회사 근처에 있어 충동 구매를 해버렸다.

처음에는 값싼 AVR보드를 사서 arduino부트로더를 올려볼까 생각했는데 (보드는 싼데 isp케이블과 통신 케이블까지 구입하면)거의 비슷한 돈이 들어가고 호환성은 떨어지기 때문에 정품을 구입했다.

충동구매라곤 하지만 예전부터 해보고 싶다고 생각하던것이 아르두이노로 구현 가능하다는걸 알았기 때문에,
구매에 큰 망설임은 없었다.

Duemilanove는 Diecimila의 다음 버전으로 2009라는 뜻이란다.
개선된점
USB전원과 외부전원의 자동인식 및 전환
Auto-Reset 해제가능
과전류 입력으로부터 보호

arduino와 테스트용 몇가지 부품들을 같이 구입했다.
메인 MCU가 ATmega168에서 ATmega328로 변경되었다.

뒷면 모습
정면 모습
같이 구입한 브레드보드, 저항과 LED, 1줄 문자 LCD, 외부 전원용 잭과 9V 아답터



마직막으로 vega와 연결해보았다.

2009/04/03 - [Arduino] - 마이크로 컨트롤러 용어 및 개념 정리
2009/04/06 - [Arduino] - Arduino와 Wiring
arduino는 단순한 IO 보드로 만들어진 또는 임베디드컴퓨팅) 플렛폼이다.
메인칩은 AVR인 ATmega168을 주로 사용한다.

IO는 디지털 입출력핀이 14개, 아날로그 입력이 6개, PWM 6개, 시리얼 통신포트, usb 단자, 외부 전원단자를 갖추고 있다.

아르두이노의 장점은 전자회로, 또는 프로그래밍에 익숙치않은 사람도 
쉽게 접근 가능하게 그 문턱을 낮췄다는데 의의가 있다. 
기존 AVR 프로그래밍의 경우 코딩하고 컴파일하고, isp 같은 장치로 보드에 프로그램 업로드하고 오류나면 다시 디버깅하고를 반복해야 했으나 ,
아르두이노는 usb에 꽂기만하면 연결되고 개발환경에서 업로드 버튼만 누르면 보드에 프로그램이 업로드 되어 실행된다.
전원도 USB 자체에서 충당한다.
개발 언어도 자체 언어를 사용하여 직관적인 몇개의 명령만으로 원하는 결과를 얻을수 있다.
 


LED에 불을 켜려면 LED를13번 핀에 다리하나 연결하고,GND핀에 다리하나 연결하고 끝

프로그램은
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
두줄이면 됩니다. 

불을 끄려면 
digitalWrite(13, LOW);





두개를 번갈아 쓰면 불이 깜빡이겠죠?



각종 센서와 아날로그 입력단자를 사용하면 센서도 쉽게 사용할수 있다.
예로 온도 센서를 연결한다면 디지털 온도계가 되고, 나침판 센서나 적외서 거리 센서등도 이용할수 있다.

arduino에는 shield라고 불리는 확장 보드들이 존제한다. 이 보드들은 arduino 보드의 핀에 꽂는 형태로 만들어서 얹기만 하면 기능이 확장되는것으로 무선통신 모듈, 블루투스 모듈, 이더넷 모듈, lcd제어 모듈, 서보모터 제어 모듈등 여러가지가 있다.

소스 코드도 오픈, H/W도 오픈이게 때문에 회로도도 공개되어 있다.
이쯤 되면 머리속에 상상력이 마구마구 생기지 않는가?

평소에 머리속으로 이런게 되면 좋겠다. 싶은것을 arduino는 실생활에 가능하게 해둔다는데 매력이 있다.

당신에게 필요한건 상상력 뿐!!!

arduino를 검색하다보니 wiring이라는 h/w도 알게되었는데, 내가 보기엔 똑같이 생겼는데 차이점을 알수가 없었다.
그래서 차이점을 알기위해 또 검색....

arduino와 갈등하게 만든 샘플전자에서 팔고 있는 wiring 보드이다.
Wiring이 먼저 만들어지고 나중에 Arduin가 만들어짐.
언어(s/w, 개발도구)는 거의 똑같다.
wiring이 시리얼포트가 하나 더 있다고 한다.
현재 활동하고 있는 사용자는 arduino가 더 많음.
arduino가 좀더 저렴하고 종류가 많다.

아무래도 저렴해서 더 많이 보급된게 아닌가 싶다.



+ Recent posts