ㅇ공부#임베디드/Embedded 실습

0. Arduino IED 환경 세팅하기

BrainKimDu 2023. 6. 20. 17:01

참고자료가 있다면 링크를 올리겠습니다.


 

 

아두이노 IDE 설치 및 아두이노 연결

준비물

 

1. Arduino Uno
2. 우분투 운영체제가 설치된 PC  or 윈도우 기반 PC
이 글은 우분투22.04를 기준으로 진행됩니다. 

 

https://www.arduino.cc/en/software

 

Software

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

www.arduino.cc

다음의 사이트에서 설치를 진행합니다. 우분투의 경우에는 zip파일로 다운로드 받으면됩니다.

터미널상에서 다운로드 받았던 폴더로 이동하여 다음을 순서대로 입력합니다.

cd
mkdir arduino
cd ~./Downloads
cp -r ar(tap누르기)* ~/arduino/
cd ~/arduino
unzip ar(tab)
./arduino-ide

앞으로 실행을 하게된다면 다음과 같이 터미널에 입력하면됩니다.

cd arduino
./arduino-ide

다음처럼 나오게 되면 설치가 완료된 것입니다. 

이제 아두이노를 노트북과 연결합니다. 다음처럼 노트북과 연결하면 전원이 들어올 것입니다.

연결이 완료되면  File에서 Example 을 누르고 basic 을 누른 후에 blink를 누릅니다.

 

여기서 다음처럼 Select Board로 Arduino Uno가 나올 것입니다. 여기서 Arduino Uno를 선택합니다.

이제 화살표 버튼을 눌러서 코드를 전송합니다.

만약 다음과 같은 오류가 나온다면 permission을 부여해주어야합니다.

 

ls -l /dev/ttyACM*
sudo usermod -a -G dialout 우분투이름
reboot

다음의 명령어를 입력해주면 됩니다. 재부팅을 해야하니 주의하세요.

그리고 다음처럼 실행하게 되면 정상적으로 전송이 완료됩니다.

이정도 까지 세팅을  완료합니다.

 

OpenCR 을 Arduino IDE에서 연결하기

OpenCR보드가 필요합니다. 이 보드는 turtlebot3에 들어가는 보드인데, 저는 이 보드를 때와서 가지고 놀아보려고합니다. 이 보드도 아두이노 IDE를 지원합니다.

이 보드의 메뉴얼은 제작사인 로보티즈에 자세히 나와 있습니다.

https://emanual.robotis.com/docs/en/parts/controller/opencr10/

 

ROBOTIS e-Manual

 

emanual.robotis.com

 

우선 동봉된 USB케이블을 통해 PC와 연결합니다. 그리고 USB port에 Permission을 부여해주어야합니다.

$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules
$ sudo cp ./99-opencr-cdc.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

다음을 계속 입력해줍니다.

그리고 OpenCR 라이브러리는 32 bit 운영체제에서 작동을 합니다. 그래서64 bit 환경이라면 다음을 입력해주어야 합니다.

sudo apt-get install libncurses5-dev:i386

이제 Aurduino IDE를 실행합니다.

File -> preferences 에서 URLs에 다음을 입력합니다.

https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json

그리고 확인을 누릅니다.

그 후에 Tools -> Board -> Boards Manager를 들어갑니다. 그러면 다음처럼 나오게 되는데, 여기서 

여기서 OpenCR by ROBOTIS package 를 찾습니다. 검색을 해도 좋습니다.

이것을 설치해주면 됩니다. 설치가 완료되면  Tools -> Board -> Boards Manager 에서 openCR을 선택할 수 있게 됩니다. 

그 후에 Tools -> port에서 opencv가 연결된 포트를 선택해줍니다. 하나만 연결이 되어 있다면 연결된 포트를 선택하면 됩니다.

그리고 컴파일 과정에서 오류를 발생할 위험이 있어 다음의 명령어로 삭제를 해주어야하는게 있다고 합니다.

sudo apt-get purge modemmanager

 

 

여기까지 완료되었다면 다음의 명령어를 한 번 실행해봅니다.

int led_pin = 13;
int led_pin_user[4] = { BDPIN_LED_USER_1, BDPIN_LED_USER_2, BDPIN_LED_USER_3, BDPIN_LED_USER_4 };

void setup() {
  // Set up the built-in LED pin as an output:
  pinMode(led_pin, OUTPUT);
  pinMode(led_pin_user[0], OUTPUT);
  pinMode(led_pin_user[1], OUTPUT);
  pinMode(led_pin_user[2], OUTPUT);
  pinMode(led_pin_user[3], OUTPUT);
}

void loop() {
  int i;

  digitalWrite(led_pin, HIGH);  // set to as HIGH LED is turn-off
  delay(100);                   // Wait for 0.1 second
  digitalWrite(led_pin, LOW);   // set to as LOW LED is turn-on
  delay(100);                   // Wait for 0.1 second

  for( i=0; i<4; i++ )
  {
    digitalWrite(led_pin_user[i], HIGH);
    delay(100);
  }
  for( i=0; i<4; i++ )
  {
    digitalWrite(led_pin_user[i], LOW);
    delay(100);
  }
}

혹시나 업로드과정에서 오류가 발생한다면 다시 한 번 업로드를 진행합니다. 

그렇게하면 OpenCR 보드에서 LED가 깜빡이는 것을 확인할 수 있습니다.

 

여기까지 세팅을 완료합니다. 다음으로 진행을 하도록 하겠습니다.