아두이노: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
{{토막글}}
Arduino
[[이탈리아]]--중국--에서 만들어진 마이크로 컨트롤러. 보편화된 모델은 아두이노 우노 (UNO) R3이다. 보통은 정품이 매우 비싸기 때문에 호환 보드를 쓴다. 4만원 이상 차이날 때도 있다!<ref>회로도 및 기판배치, 프로그램 라이브러리 등 각종 정보를 CCL로 전부 풀어놨기 때문에, 약간의 관련지식만 있으면 똑같은 성능의 카피보드를 누구나 만들 수 있다.</ref>
 
 
==장점==
* 프로그래밍이 비교적 쉽다. 원래 마이크로프로세서를 다루기 위한 과정에서 필수인 엄청난 숫자의 레지스터(및 그 관련 문서)를 건드리지 않고서도 아두이노 라이브러리만으로도 어느정도 프로그래밍이 가능하다. 거기다가 라이브러리 자체가 유저친화적인 설계나 하위호환성 등의 이유로 굉장히 간결하다.
* 유저베이스가 넓다. 포럼이 매우 활성화 되어있고, 초부부터 고수까지 어마어마한 숫자의 유저들이 전세계에 포진해 있다. 덕분에 막히는 점이 있을 때 이런저런 도움을 받기가 쉽다.
* 기능확장이 쉽다. 유저베이스가 넓기 때문에(=돈이 되기 때문에) 확장보드가 많다. 왠만한 마이크로프로세서 자작에 쓰일법한 통신모듈, 센서모듈, 액추에이터 모듈들은 아두이노 쉴드Arduino Shields라는 이름으로 검색해보면 다 나온다.
==단점==
* 성능이 영 좋지않다. 실제 동작속도가 그다지 빠르지 않은 AVR기반의 프로세서<ref>Due같은, 고성능 프로세서를 쓰는 버전도 있기는 하다</ref>에다가, 아두이노를 돌리기 위한 시스템 오버헤드도 있다.
* 고급 기능을 쓰기 힘들다.  초보자들도 프로그래밍을 쉽게 하기위해 선택한 라이브러리의 간결함이 결국 고급기능을 지원하지 않기 때문에, HW상으론 가능한 고급기능들이 기본라이브러리만으로는 구현할 수 가 없다.  오히려 기본라이브러리에서 어설프게 건드린 레지스터가 족쇄가 되어 프로그램이 더욱 복잡해질 여지도 많다.
 
== 사용 동향 ==
고급 사용자들에겐 단점이 많지만, 이는 결국 성능과 접근성 사이의 선택에 의한 결과이다. 저 많은 단점에도 불구하고 아두이노가 유행하는 이유는 프로그래밍이나 임베디드시스템에 대한 지식이 전혀없는 사람도 며칠만 고생하면 각종 센서와 액추에이터로 꽤 그럴싸한 물건을 만들 수 있을 정도의 쉬운 난이도를 자랑하기 때문이다. 덕분에 취미로 임베디드 시스템을 입문하려는 사람이나 공학적 소양이 거의 없는 예술분야에서 활용하는 사람들이 많이 찾고, 또 유용하게 사용한다.
그러나 결국, 복잡한 동작을 하기 위해서는 아두이노만으로는 만족하지 못하는 순간이 온다. <del>근데 사실 뭘 써도 100% 만족할수는 없다. 시간 노력 돈의 트레이드오프가 있을 뿐<del>요구하는 동작이 복잡해지고 타이밍이 빠듯해질 수록 결국 모자라는 성능을 위해 기존 라이브러리를 대체/우회하게되고, 그러다보면 [[라즈베리 파이]] 같은 비슷한 분야의 더 성능이 좋은  프로세서로 옮겨가는 경우가 많다.


Arduino
[[이탈리아]]--중국--에서 만들어진 컴퓨터. 보편화된 모델은 아두이노 우노 (UNO) R3이다. 보통은 정품이 매우 비싸기 때문에 호환 보드를 쓴다. 4만원 이상 차이날 때도 있다!
추가바람.


[[분류:컴퓨터]]
[[분류:컴퓨터]]

2015년 8월 26일 (수) 17:23 판

Arduino 이탈리아--중국--에서 만들어진 마이크로 컨트롤러. 보편화된 모델은 아두이노 우노 (UNO) R3이다. 보통은 정품이 매우 비싸기 때문에 호환 보드를 쓴다. 4만원 이상 차이날 때도 있다![1]


장점

  • 프로그래밍이 비교적 쉽다. 원래 마이크로프로세서를 다루기 위한 과정에서 필수인 엄청난 숫자의 레지스터(및 그 관련 문서)를 건드리지 않고서도 아두이노 라이브러리만으로도 어느정도 프로그래밍이 가능하다. 거기다가 라이브러리 자체가 유저친화적인 설계나 하위호환성 등의 이유로 굉장히 간결하다.
  • 유저베이스가 넓다. 포럼이 매우 활성화 되어있고, 초부부터 고수까지 어마어마한 숫자의 유저들이 전세계에 포진해 있다. 덕분에 막히는 점이 있을 때 이런저런 도움을 받기가 쉽다.
  • 기능확장이 쉽다. 유저베이스가 넓기 때문에(=돈이 되기 때문에) 확장보드가 많다. 왠만한 마이크로프로세서 자작에 쓰일법한 통신모듈, 센서모듈, 액추에이터 모듈들은 아두이노 쉴드Arduino Shields라는 이름으로 검색해보면 다 나온다.

단점

  • 성능이 영 좋지않다. 실제 동작속도가 그다지 빠르지 않은 AVR기반의 프로세서[2]에다가, 아두이노를 돌리기 위한 시스템 오버헤드도 있다.
  • 고급 기능을 쓰기 힘들다. 초보자들도 프로그래밍을 쉽게 하기위해 선택한 라이브러리의 간결함이 결국 고급기능을 지원하지 않기 때문에, HW상으론 가능한 고급기능들이 기본라이브러리만으로는 구현할 수 가 없다. 오히려 기본라이브러리에서 어설프게 건드린 레지스터가 족쇄가 되어 프로그램이 더욱 복잡해질 여지도 많다.

사용 동향

고급 사용자들에겐 단점이 많지만, 이는 결국 성능과 접근성 사이의 선택에 의한 결과이다. 저 많은 단점에도 불구하고 아두이노가 유행하는 이유는 프로그래밍이나 임베디드시스템에 대한 지식이 전혀없는 사람도 며칠만 고생하면 각종 센서와 액추에이터로 꽤 그럴싸한 물건을 만들 수 있을 정도의 쉬운 난이도를 자랑하기 때문이다. 덕분에 취미로 임베디드 시스템을 입문하려는 사람이나 공학적 소양이 거의 없는 예술분야에서 활용하는 사람들이 많이 찾고, 또 유용하게 사용한다. 그러나 결국, 복잡한 동작을 하기 위해서는 아두이노만으로는 만족하지 못하는 순간이 온다. 근데 사실 뭘 써도 100% 만족할수는 없다. 시간 노력 돈의 트레이드오프가 있을 뿐요구하는 동작이 복잡해지고 타이밍이 빠듯해질 수록 결국 모자라는 성능을 위해 기존 라이브러리를 대체/우회하게되고, 그러다보면 라즈베리 파이 같은 비슷한 분야의 더 성능이 좋은 프로세서로 옮겨가는 경우가 많다.

  1. 회로도 및 기판배치, 프로그램 라이브러리 등 각종 정보를 CCL로 전부 풀어놨기 때문에, 약간의 관련지식만 있으면 똑같은 성능의 카피보드를 누구나 만들 수 있다.
  2. Due같은, 고성능 프로세서를 쓰는 버전도 있기는 하다