아두이노2014. 11. 19. 19:53

예전부터 취미생활로 해 보고 싶던 아두이노.

중국 쇼핑몰인 알리익스프레스에서 아두이노 UNO R3 키트를 구입하였다.

가격은 30달러. 주문한지 2주 만에 받았다.

아두이노 우노 R3 짝퉁 버전과 수 십개의 센서, LED, 브레드보드, 액정, 서보모터 등등 부속품들이 꽉꽉 들어 있었다.

우리나라 쇼핑몰에선 절대로 흉내낼 수 없는 이른바 가깡(가격이 깡패) 상품?

모르겠다. 그네들 나라에서는 그 가격이 정상가 인지도...





우선 드라이버를 PC에 설치해 보았다. 

흠... 안된다. 아두이노 홈페이지에 IDE와 함께 배포되는 정식버전의 드라이버는 설치가 되지 않는다.

장치관리자에는 'USB Serial 장치' 라고만 뜨고 설치가 되지 않는다.

구글링... 검색...

드라이버를 찾았다.

나와 같은 사람들을 위해 다운로드 받은 드라이버는 아래를 클릭하면 받을 수 있다.


## 윈도우용 드라이버 ## 

CH341SER.zip

혹시 윈도우10 에서 위의 드라이버가 설치가 안된다면 아래의 드라이버 설치

CH341SER (2).zip


## 맥 OS X용 드라이버 ##

CH341SER_MAC.zip

에러메시지: ser_open(): can't open device "/dev/cu.wch": No such file or directory ioctl("TIOCMGET"): Inappropriate ioctl for device

드라이버를 설치 했으나 위와 같은 에러메시지가 나올 경우, 그에 대한 해결 방법을 찾았는데 다음과 같이 하면 된다.
파인더에서 아두이노 IDE인 Arduino.app 에서 오른쪽 마우스를 클릭하여 '패키지 내용보기'를 선택한다. 
패키지 하위 폴더(/Arduino.app/Contents/Java/hardware/arduino/avr/)에서 다음의 2개의 파일을 찾아 텍스트 편집기로 연다.
platform.txt , programmers.txt 이 두 개의 파일에서  
-P{serial.port} 라고 되어 있는 부분을 찾아 "-P{serial.port}" 라고 고쳐준다.
단순히 쌍따옴표만 앞 뒤로 붙이면 된다. 그 후 IDE를 재실행 하고 업로드를 해 보면 잘 될 것이다.

※ 추가사항(2016.11.29) : 위의 방법으로 아두이노의 인식이 되지 않을 경우 맥의 터미널을 열고 sudo nvram boot-args="kext-dev-mode=1" 명령어를 실행하면 인식이 된다. 

## 리눅스용 드라이버 ##

CH341SER_LINUX.zip


드라이버를 설치하니 장치관리자에서 USB-SERIAL CH340 이라고 장치가 잡히고 COM8 Serial 포트가 자동으로 할당이 된다.

제대로 드라이버가 잡혔다.

IDE를 실행하고 파일-> 예제 -> Basics -> Blink 예제를 업로드 해 보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://arduino.cc
  This example code is in the public domain.
  modified 8 May 2014
  by Scott Fitzgerald
 */
 
 
 
 
 
// the setup function runs once when you press reset or power the board
 
void setup() {
 
  // initialize digital pin 13 as an output.
 
  pinMode(13, OUTPUT);
 
}
 
 
 
// the loop function runs over and over again forever
 
void loop() {
 
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
 
  delay(1000);              // wait for a second
 
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
 
  delay(1000);              // wait for a second
 
}
cs

아주 잘 된다. 신기하다.


## 아두이노 UNO의 구조 ##


Arduino Uno Overview.pdf


앞으로의 아두이노 취미생활이 기대가 된다.


반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요