안경잡이개발자

728x90
반응형

  제가 최근에 참여하고 있는 프로젝트에서 USB 디바이스 개발을 요구하고 있습니다. 그래서 USB 관련 장치(Device)를 직접 개발하기 위한 목적으로 사용할 수 있는 보드를 정리하고자 합니다. USB 디바이스 개발에 있어서 더 편리한 보드가 있을 수도 있습니다. 혹시 다른 좋은 보드를 아시는 분이 있다면 댓글로 남겨주시면 감사하겠습니다.

 

1. Teensy

 

  ▶ 링크: https://www.pjrc.com/store/teensy41.html

 

  Teensy는 USB 기반의 마이크로컨트롤러 개발 시스템입니다. 나만의 USB 장치를 새롭게 만들어 보거나 할 때 좋습니다. 최신 버전의 Teensy는 Teensy 4.1 (가격: $26.85)인데요. 이 보드(Board)의 특징은 다음과 같습니다.

 

 

  - USB 2.0 High Speed (최대 480Mbit/sec)
  - ARM Cortex-M7 processor at 600MHz
  - SD Socket
  - 8Mbyte Flash Memory
  - 아두이노 개발 환경과 연동 가능
  - 외부 센서 연동에 유리

 

  최신 Teensy 버전인 Teensy 4.1에서는 SD 소켓(Socket)을 포함하고 있어서, 간단히 Micro SD 카드만 있으면 이를 부착하여 사용할 수 있습니다. Native SDIO 프로토콜을 이용할 수 있어 SPI를 이용했을 때보다 훨씬 빠릅니다.

  이러한 SD 카드를 활용하면 더욱 다양한 예시를 만들 수 있습니다. 예를 들어 Teensy를 활용하여 임시 저장소, 키보드, 마우스 등의 USB 장치를 만들 수 있는데, 그와 동시에 사용자가 입력한 모든 정보를 Teensy에 부착된 SD 카드에 기록하거나 할 수도 있을 것입니다.

 

 

  참고로 Teensy 4.1은 USB 호스트 포트 또한 지원합니다. 다시 말해 Teensy를 호스트 PC처럼 사용할 수 있습니니다. 예를 들어 Teensy와 키보드를 서로 연결하여 키보드에 입력한 정보가 Teensy에 임시적으로 기록되었다가, Teensy에서 다시 실제 호스트(Host) PC로 데이터를 넘겨 주는 것도 가능할 것입니다. 이를 위해서는 별도로 USB 호스트 케이블이 필요하다고 하네요. 다음과 같은 케이블을 산 뒤에 Teensy 4.1의 5핀에 꽂아서 사용할 수 있습니다. 실제로 USB 호스트 포트를 이용하는 경우는 다음의 그림과 같습니다.

 

 

  그리고 Teensy의 가장 큰 특징은 아두이노(Arduino) 개발 환경을 그대로 이용할 수 있다는 점입니다. Teensy 공식 홈페이지에서 제공하는 Teensyduino를 설치하면 다음과 같이 아두이노 개발 환경에서 사용 가능한 보드로 Teensy가 보이게 됩니다. 이 경우 아두이노 개발 환경을 이용하되 코어 라이브러리의 코드는 Teensy 전용 코드로 이용할 수 있습니다.

 

 

2. ODROID

 

  ▶ 링크: https://www.hardkernel.com/ko/shop/odroid-c2/

 

  오드로이드(ODROID)하드커널(Hardkernel) 회사에서 만든 개발용 보드입니다. 라즈베리파이처럼 유사하게 사실상 소형 컴퓨터나 다름 없습니다. 그러면서도 성능이 좋은 편입니다. 실제로 성능을 확인해 보시면 기가비트 속도의 이더넷(Ethernet), 2기가 바이트 DDR3 SDRAM, HDMI 포트 또한 있으며 USB 포트도 5개나 있습니다. 그리고 우분투 16.04가 올라갈 수 있습니다.

 

  참고로 라즈베리파이나 틴시(Teensy) 같은 보드는 마이크로 USB를 통해서 전원을 공급 받지만, 오드로이드의 경우 별도의 2.5mm 어댑터를 이용해 전원을 공급해야 합니다.

 

  오드로이드 제품군 중에서 ODROID-C2 (가격: $52,900)는 2020년 기준으로 가장 인기 있는 제품 중 하나입니다.

 

 

  - USB OTG 지원: USB 2.0 High Speed (최대 480Mbit/sec) 
  - Amlogic ARM® Cortex®-A53(ARMv8) 1.5GHz quad-core CPUs 
  - 2Gbyte DDR3 SDRAM 
  - Ubuntu 16.04 설치 가능
  - Devier Driver (Gadget)를 활용한 Mass Storage Device 등으로도 활용 가능

 

  가장 일반적인 사용 형태는 다음과 같을 것입니다. 아래 이미지는 ODROID 사에서 제공하는 동영상을 캡처한 것입니다. 확인해 보시면 전원은 별도로 연결해 주고 HDMI에 모니터를 연결하여 사용하는 것을 알 수 있습니다.

 

 

  이후에 동작 과정은 일반적인 리눅스 기반 컴퓨터와 같습니다. 예를 들어 우분투 OS를 설치했다면 미니 서버용 컴퓨터로 사용할 수도 있을 것입니다. 예를 들어 단순히 나만의 파일 저장용 서버로 사용할 수도 있을 것이고, 사용 예시는 매우 다양합니다.

 

  ODROID-C2의 또 다른 큰 장점은 USB 포트를 매우 많이 제공한다는 점입니다. 이는 USB 디바이스 개발 목적으로도 활용도가 높습니다. 특히 USB OTG(USB On-The-Go)를 제공한다는 점에서 ODROID-C2를 마우스나 키보드와 같이 동작하도록 만들 수도 있습니다.

 

  참고로 ODROID-C2는 잘 팔리는 제품이라서 품절이 발생할 수 있습니다. 만약 품절이라면 입고 알림 메시지를 받도록 할 수 있습니다.

 

 

  만약 ODROID-C2가 품절 상태라면 ODROID-C1+를 구매할 수도 있습니다. ODROID-C1+ 또한 USB OTG 포트와, 4개의 USB Host 포트를 가지고 있기 때문에 USB Device 개발 목적으로 적합합니다. 다만 컴퓨팅 파워는 ODROID-C2에 비해서 떨어지는 편이고 가격은 조금 더 저렴합니다.

 

  성능을 비교하면 다음과 같습니다.

 

 

  참고로 주문하실 때에는 배송지를 [대한민국]으로 설정하시지 않으면 아주 큰 요금으로 설정될 수 있습니다. 그러므로 처음에 배송비가 너무 크게 찍혀 있다고 놀라지 마세요. ODROID는 국내 기업 제품이라서, 배송지를 국내로 변경하면 일반적인 배송비가 나옵니다.

 

3. Raspberry Pi

 

  ▶ 링크: https://www.raspberrypi.org/products/raspberry-pi-zero-w/

 

  라즈베리파이(Raspberry Pi)는 아두이노(Arduino)와 더불어 매우 유명한 보드 중 하나입니다. 일종의 소형 컴퓨터로 볼 수 있으며, 매우 저렴한 가격으로도 좋은 컴퓨팅 파워를 제공합니다. 작은 웹 서버를 운용하는 프로젝트 등에서 자주 나오는 보드이기도 합니다. 실제 보드 크기는 학생증 카드보다 조금 더 큰 크기입니다.

 

  라즈베리파이 보드 중에서도 가성비가 매우 높은 것으로 알려진 보드는 Raspberry Pi Zero W입니다.  이 Raspberry Pi Zero W (가격: $10)는 가격이 매우 저렴하고, 해외 주문을 고려해도 굉장히 쌉니다. 특히 크기가 매우 작아서 휴대성이 뛰어납니다. 학생증보다도 훨씬 작아요. 원래 Raspberry Pi Zero 모델이 출시가 되었는데, 여기에 Wireless LAN과 Bluetooth를 추가하여 Raspberry Pi Zero W라는 이름으로 출시가 되었습니다.

 

  - 1GHz single-core ARMv6 CPU (BCM2835)
  - SD Socket
  - 512MB RAM
  - Linux, Windows 등 다양한 OS 설치 가능
  - USB OTG 지원: 단, 사용 예시를 찾아보니 Mass Storage Class로 5~6MB/s 정도의 속도만 나온다고 함

  - Micro USB로 전원 공급
  - Devier Driver (Gadget)를 활용한 Mass Storage Device 등으로도 활용 가능

  - 802.11 b/g/n wireless LAN

 

  그래서 라즈베리파이 제로 W 버전 또한 사실상 운영체제(OS)를 올릴 수 있는 소형 컴퓨터와 마찬가지입니다. SD 카드를 부착할 수 있기 때문에 SD 카드에 우분투와 같은 운영체제(OS)를 설치해 놓고, 이를 라즈베리파이 제로 W에 연결하여 SD 카드로부터 바로 부팅을 진행할 수 있습니다. 당연히 미니 HDMI 케이블도 있기 때문에 모니터와 연결하여 화면을 볼 수도 있습니다.

 

  또한 라즈베리파이 제로 W는 USB OTG 기능을 지원하기 때문에 USB 디바이스를 개발할 때에도 유용합니다. 아래와 같이 라즈베리파이 제로 W가 있으면 USB 포트 하나로 전원을 공급하고, 다른 USB 포트 하나를 더 써서 호스트(Host) PC와 데이터를 주고 받는 목적으로도 쓸 수 있습니다.

 

 

  참고로 Raspberry Pi Zero W는 원래 $10의 저렴한 가격이지만, 국내에서 구매하려고 하면 굉장히 비쌉니다. 따라서 일반적으로 해외에서 직구하는 경우가 많습니다. (다만, 배송하는 물품의 개수가 많지 않다면 배송비 때문에 오히려 더 비싸질 수 있습니다.) 캐나다 기업인 CanaKit에서 구매할 수 있는데, 여기에서 주문하면 통상 3주 안에는 도착한다고 합니다. 저도 여기에서 구매를 해보았습니다.

 

   ▶ CanaKit 라즈베리파이 구매 경로: www.canakit.com/raspberry-pi-zero-wireless.html

 

Raspberry Pi Zero W (Wireless)

 

www.canakit.com

 

  CanaKit에 접속하면 다음과 같이 Raspberry Pi Zero W를 찾으실 수 있습니다. 일반적으로 Basic Kit이나 Starter Kit을 이용하는 편입니다. Starter Kit을 이용하면 Power Supply, USB OTG Cable 등의 구성을 함께 받으실 수 있습니다.

 

 

  상세한 물품 구성은 다음과 같습니다. Raspberry Pi Zero W 단품만 구매하는 경우에는 사람당 1개씩으로 개수를 한정하는 것 같습니다. 온전한 하나의 미니 컴퓨터 형태를 원한다면 Start Kit을 이용하시면 됩니다.

 

 

  최종적으로 다음과 같이 장바구니에 담은 물품을 구매하실 수 있습니다.

 

 

  다만, 실제로 구매할 때는 배송비가 상당히 비싸네요.

 

 

  아무튼 결제 카드를 이용하여 구매하게 되면 결제 정보가 이메일로 도착하여, 이를 확인하실 수 있습니다.

728x90
반응형

728x90
반응형

  초당 비트 수(Bit Per Second, BPS)1초에 전송할 수 있는 비트의 수를 의미합니다. 예를 들어 500 BPS라면, 초당 500개의 비트를 전송할 수 있다는 의미입니다. 보 레이트(Baud Rate)1초에 전송할 수 있는 의미 있는 정보의 수를 의미합니다. 예를 들어 의미 있는 정보의 단위를 32비트라고 규정할 때, 보 레이트가 500이라면 초당 16,000개의 비트를 전송한다는 의미가 될 것입니다. 다른 예시로 정보의 단위를 1비트라고 할 때, 보 레이트는 BPS와 동일할 것입니다.

 

  기본적으로 Serial 통신을 할 때는 보 레이트(Baud Rate)를 맞추어 통신을 진행합니다. 아두이노는 UART를 이용하여 하드웨어 시리얼과 소프트웨어 시리얼을 지원합니다. 하드웨어 시리얼은 하드웨어적으로 지원하는 RX, TX 핀을 이용하는 방식입니다. 혹은 가상 COM 포트 기능을 이용하여 USB 포트로 시리얼 통신이 가능할 수도 있습니다. 일반적으로 시리얼 통신을 할 때는 Serial.print()와 같은 함수를 이용하고, 하드웨어 시리얼은 Serial1, Serial2과 같은 형태의 라이브러리를 사용합니다.

 

  한 번 다음과 같이 가장 기본적인 아두이노 예제 소스코드를 작성해 봅시다. Serial.read() 함수를 이용하여 한 바이트(Byte)씩 입력을 받을 수 있습니다. 간단한 에코(Echo) 프로그램은 다음과 같습니다.

 

※ 아두이노 시리얼 통신 예제 소스코드 ※

 

void setup() {
    Serial.begin(9600);
}

void loop() {
    int incomingByte;
    if (Serial.available() > 0) {
        incomingByte = Serial.read();
        Serial.print("USB received: ");
        Serial.println(incomingByte, DEC);
    }
}

 

  실제로 위 프로그램을 업로드 한 이후에 시리얼 모니터(Serial Monitor)를 실행하면 다음과 같습니다.

 

 

※ 파이썬으로 호스트(Host) 프로그램 만들기 ※

 

  호스트(Host) 쪽에서 데이터를 보낼 때 별도의 프로그램을 이용할 수도 있습니다. 프로그램은 다음과 같이 작성할 수 있습니다. 프로그래밍 언어는 Python 3.7이며 serial 라이브러리를 이용하면 됩니다.

 

import serial

values = [1, 2, 3, 4, 5, 6, 7, 8, 9]

s = serial.Serial("COM4", 9600)
s.write(b'Hello')
s.write(bytearray(values))

while True:
    data = s.readline()
    print(data)

s.close()

 

  실행 결과는 다음과 같습니다.

 

 

  참고로 기본적으로 해당 Serial 포트를 이미 다른 프로세스가 사용 중이라면, 액세스가 거부되었다는 메시지가 출력될 수 있습니다. 오류 메시지는 대략 다음과 같습니다. 아두이노에서 시리얼 모니터가 켜져 있으면 오류가 발생할 수 있습니다.

 

serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, '액세스가 거부되었습니다.', None, 5)
728x90
반응형

728x90
반응형

  아두이노를 설치한 뒤에 하드웨어(hardware) 폴더로 이동하면 boards.txt 파일이 존재한다. 여기에는 아두이노 IDE에서 사용할 수 있는 각종 USB 보드(Board)의 종류에 대해서 다룬다. 필자는 최근에 새로운 타입의 USB 보드를 개발할 필요가 있었다. 그래서 boards.txt 파일에 새로운 타입의 보드를 추가했다. 일단 간단히 "xyz"라는 이름의 보드를 추가했다.

 

 

  그랬더니 다음과 같은 오류 메시지를 만날 수 있었다.

 

 

  아두이노에서 이처럼 컴파일 오류가 발생하는 경우에는 자세히 확인하기 위해서 환경설정에서 컴파일, 업로드와 관련한 자세한 메시지가 출력되도록 설정을 바꿀 필요가 있다.

 

 

  확인 결과 컴파일 과정에서 FQBN (Fully Qualified Board Name)을 제대로 찾지 못해 문제가 발생하는 것으로 보인다. 내가 새롭게 추가한 "xyz" 보드를 제대로 인식하지 못하고 있는 것이다.

 

 

  사실 이 문제의 해결 방법은 간단하다. 아두이노를 관리자 권한으로 실행하면 수정된 boards.txt 파일을 정상적으로 인식하고, 자신이 추가한 보드 정보를 읽어올 수 있다.

 

 

  다만 이 경우에는 기타 모든 코어 코드를 수정할 때에도 에디터를 관리자 권한으로 실행할 필요가 있다. 아두이노 코어(Core) 코드를 수정할 때 에디터를 관리자 권한으로 실행하여 수정하지 않으면, 아두이노 IDE와 연동이 제대로 이루어지지 않을 수도 있다.

728x90
반응형

728x90
반응형

  Teensy Board를 이용하는 경우 다양한 오류를 만날 수 있는데요. 해결하기 어려운 오류는 포럼(Forum)에 글을 남김으로써 다른 개발자에게 도움을 받을 수 있습니다. Teensy 포럼 웹 사이트의 링크는 다음과 같습니다.

 

  ▶ PJRC 포럼(Forum) 웹 사이트: https://forum.pjrc.com/

 

  만약 회원가입을 아직 안 하신 분이라면 다음과 같이 [Register] 버튼을 눌러서 회원가입을 진행할 수 있습니다.

 

 

  회원가입을 진행할 때에는 아이디, 비밀번호, 이메일 등 다양한 정보를 기입한 뒤에 [Complete Registration] 버튼을 눌러서 회원가입 요청을 할 수 있습니다.

 

 

  회원가입 이후에는 자신이 회원가입을 할 때 기입했던 이메일 주소로 등록 완료 메일이 옵니다. 여기에서 링크를 눌러 주시면 실제로 회원가입이 완료됩니다.

 

 

  회원가입이 완료되면 이제 포럼에 글을 작성할 수 있게 됩니다.

 

 

  저는 개발 관련 이슈가 있어서 [Technical Support & Questions] 경로로 이동하였습니다.

 

 

  다음과 같이 [Post New Thread] 버튼을 눌러서 게시판에 글을 작성할 수 있습니다.

 

 

 

  이후에 다음과 같이 글을 작성하시면 됩니다. 가능하면 이미지와 소스코드 및 설명을 최대한 자세하게 첨부하는 것이 좋은 답변을 받기에 유리합니다.

 

 

  이렇게 글을 쓴 뒤에 이메일로 알림을 받도록 설정하면, 누군가 댓글을 달았을 때 다음과 같이 댓글이 달렸다는 이메일이 도착합니다.

 

 

  이후에 댓글에 대하여 다시 댓글을 다는 방법은 다음과 같습니다. [Reply With Quote] 버튼을 눌러서 다른 사람의 글에서 인용할 부분을 설정합니다. 그리고 글의 내용을 작성하면 됩니다. [Post Quick Reply] 버튼을 눌러서 댓글을 등록할 수 있습니다.

 

728x90
반응형

728x90
반응형

  아두이노 설치 경로의 하드웨어(Hardware) 폴더는 아두이노 IDE를 이용하는 각기 다른 보드(Board) 하드웨어에 따라서 서로 다른 기능을 정의하고 있는 폴더입니다. 예를 들어 USB 장치 개발용 보드인 Teensy의 경우, 아두이노 IDE에서 개발이 가능하도록 지원하고 있습니다. 이 때 Teensy만의 기능들은 하드웨어 폴더 상에 정의가 되는 방식입니다.

  실제로 아두이노 IDE를 먼저 설치한 뒤에, Teensyduino라는 이름의 플러그인을 설치하면 아두이노 IDE에서 소스코드상으로 Teensy 전용 기능을 불러와 사용할 수 있게 됩니다. Teensyduino를 설치한 뒤의 하드웨어 폴더는 다음과 같이 구성됩니다. 원래 아두이노 IDE를 설치하면 아래 그림에서 보이는 teensy라는 이름의 폴더가 없는데요, 플러그인을 설치한 뒤에 생기는 겁니다.

 

 

  실제로 아두이노 상에서 [툴] - [보드]로 이동하면 하드웨어를 선택할 수 있습니다. 저는 Teensy 하드웨어 플러그 인을 설치했기 때문에, 이와 같이 Teensy를 선택할 수 있는 것을 확인할 수 있습니다.

 

 

  그렇다면 각기 다른 하드웨어(Hardware)에 따른 라이브러리는 어디서 확인할 수 있을까요? 바로 다음과 같이 하드웨어 폴더의 libraries 폴더까지 들어 오시면, 여기에 각종 예제 소스코드와 라이브러리가 포함되어 있습니다.

 

 

  실제로 위 라이브러리들은 아두이노 IDE를 실행했을 때 나오는 [예제] 소스코드들과 동일합니다.

 

 

  또한 [파일] - [예제]에 들어가는 기본 예제 소스코드들은 어디에서 확인할 수 있을까요?

 

 

  이 소스코드들은 예제(examples) 폴더 안에 있습니다.

 

728x90
반응형

728x90
반응형

  기본적으로 이용할 모든 기능을 스케치 파일(.ino)에 하나의 소스코드로 작성하는 것은 비효율적인 경우가 많습니다. 그래서 자주 사용하는 기능을 분리하여 사용자 라이브러리로 만들어서 관리하면 좋은 점이 많습니다. 특히 라이브러리를 직접 만들게 되면, 내가 만든 라이브러리를 다른 사람에게 쉽게 공유할 수도 있기 때문에, 여러모로 좋은 점이 많습니다.

 

  일반적으로 아두이노 라이브러리를 만들 때는 약속이 있습니다. 바로 다음의 위치(스케치북 위치)에 아두이노 라이브러리를 만든다는 것입니다.


  ▶ 아두이노 사용자 라이브러리 폴더: C:\Users\{사용자명}\Documents\Arduino\libraries

  저는 다음과 같이 MyLibrary라는 이름으로 하나의 라이브러리 폴더를 생성해 보았습니다.

 

 

  일반적으로 라이브러리 폴더는 다음과 같은 형식으로 구성됩니다. 아두이노 라이브러리 사용 경험이 많으신 분들에게는 익숙하실 수 있는데요, 라이브러리 폴더에는 소스코드 파일들을 제외하고도 examples라는 이름의 폴더도 포함하는 경우가 많습니다. examples 폴더는 어떤 라이브러리의 사용 방법 예시를 포함하는 폴더라고 할 수 있습니다. 그래서 보통 Hello World와 같은 코드를 담습니다.

 

 

※ 라이브러리 폴더의 구성 예시

  * MyLibrary.cpp

  * MyLibrary.h

  * examples

    * HelloWorld

        * HelloWorld.ino

 

  그러면 한 번 MyLibrary.h를 작성해 보겠습니다. 여기에서 사용되는 문법은 일반적인 C/C++과 같습니다. 저는 간단히 더하기 함수(add)와 빼기 함수(subtract)를 넣었습니다.

 

  참고로 #ifndef ~ #endif는 C/C++에서 자주 사용되는 전처리문입니다. 일반적으로 헤더 파일이 중복되어 초기화되지 않도록 막기 위해 사용합니다. 아래 코드에서는 MyLibrary_H이 초기화 되어 있지 않을 때에만, MyLibrary_H를 초기화 한 뒤에 두 함수를 선언할 수 있도록 해주고 있습니다.

 

#ifndef MyLibrary_H
#define MyLibrary_H

int add(int a, int b);
int subtract(int a, int b);

#endif

 

  이제 MyLibrary.cpp을 다음과 같이 작성할 수 있습니다. 헤더 파일에서 선언했던 함수를 실제로 구현한 것입니다.

 

#include "Arduino.h"
#include "MyLibrary.h"

int add(int a, int b) {
	return a + b;
}
int subtract(int a, int b) {
	return a - b;
}

 

  참고로 .cpp 파일을 작성할 때는 "Arduino.h" 헤더파일을 추가하도록 합니다. "Arduino.h" 파일은 아두이노의 기본적인 함수, 상수, 표준 타입을 포함하고 있습니다. 그래서 아두이노의 기본적인 기능을 이용하도록 우리의 라이브러리를 작성할 수 있습니다.

  일반적으로 아두이노 IDE를 이용해서 .ino 파일을 작성하여 코딩을 하면, 자동으로 "Arduino.h"가 추가됩니다. 하지만 우리가 만들 사용자 라이브러리 파일에서는 "Arduino.h" 헤더 파일이 자동으로 추가되지 않기 때문에, 소스코드상에서 직접 지정해주어야 합니다. 사실 아두이노의 기본적인 기능을 이용하지 않더라도, 관행적으로 "Arduino.h" 파일은 사용자 라이브러리에 포함될 수 있도록 합니다.

 

  이제 최종적으로 다음과 같이 examples 폴더 안에 하나의 예시 소스코드를 넣어 주도록 합시다. 저는 HelloWorld.ino라는 이름으로 하나의 소스코드를 만들어 주었습니다.

 

 

#include <MyLibrary.h>

void setup() {
  
}

void loop() {
  Serial.println(add(3, 4));
}

 

  이제 실제로 소스코드를 업로드하여 프로그램을 실행해 보면, 다음과 같이 함수를 실행한 결과가 정상적으로 출력되는 것을 확인할 수 있습니다. 만약에 함수를 찾을 수 없다거나 하는 오류가 발생한다면, 라이브러리 소스코드를 다시 한 번 살펴보세요.

 

728x90
반응형

728x90
반응형

  아두이노 IDE특정한 보드(Board)에서 동작할 수 있는 코드를 빠르게 작성하고, 업로드할 수 있도록 도와주는 통합 개발 환경(IDE)입니다. 윈도우(Windows), Mac OS, Linux를 모두 지원한다는 점이 특징입니다. 요즘에는 온라인 IDE도 지원하고, 클라우드에 프로젝트를 저장할 수도 있도록 해주고 있습니다. 이번 시간에는 데스크탑 전용(Desktop) IDE를 설치하는 방법에 대해서 알아보겠습니다.

 

  ▶ 설치 경로: https://www.arduino.cc/en/Main/Software

 

  아두이노 공식 페이지로 이동하시게 되면, Software 다운로드 페이지에서 바로 설치할 수 있습니다.

 

 

  그러면 Arduino Software에 기부(Donation)을 할 것인지 물어봅니다. 여기에서 [JUST DOWNLOAD] 버튼을 누르면 바로 다운로드를 받을 수 있습니다.

 

 

  설치를 하실 때는, 기본적인 설정으로 [확인] 버튼만 누르셔도 간단히 설치가 됩니다.

 

 

  설치가 완료된 이후에 아두이노(Arduino) IDE를 실행해 보면, 다음과 같이 소스코드 에디터(Editor) 화면을 볼 수 있습니다.

 

728x90
반응형