아두이노가 수행하는 작업을 물리 컴퓨팅(Physical Computing)이라고 불리는 종류입니다.
물리 컴퓨팅이란 현실 세계에서 센서 등을 통해 아날로그로 구성된 세상의 신호, 자극, 감각을 입력으로 받고, 그에 대한 반응을 할 수 있는 상호 작용적인 물리계를 소프트웨어와 하드웨어를 사용하여 구축하는 작업을 의미합니다.
조금 어렵게 말하면 디지털 기술 및 장치를 이용하여 사용자로부터 물리적인 방식으로 정보를 입력받아(Sensors) 처리한 결과를 물리적인 방식으로 출력하는(Actuators) 컴퓨팅을 의미합니다.
그럼 첫 번째 Physical Computing을 수행해봅시다.
일단 개발환경을 설치해야 하는데 "아두이노 개발환경 설치"라고 검색해보면 잔뜩 나오니까 따로 다루지는 않겠습니다.
그냥 https://www.arduino.cc/en/software 으로 가셔서 다운로드 후, 설치하고(설치용 실행파일을 받으시면 편하겠죠) 실행하시면 됩니다.
다운로드 시, 기부를 하셔도 좋고 그냥 "Just Download"를 눌러 다운로드만 하셔도 좋습니다.
제일 처음 해 볼 작업은 뭐니뭐니해도 LED를 깜빡여보는 것이겠죠.
일반 프로그래밍 언어를 기준으로 한다면 "Hello World!!!"를 출력하는 것과 마찬가지입니다.
지난 번에 살펴보았던 대략적인 개발 순서에 따라 진행해보죠.
- 먼저 아두이노에 LED를 연결합니다.
- 그런데 이번에는 아두이노 보드에 장착되어 있는 LED를 사용할 것이기때문에 따로 작업은 필요 없습니다.
- 아두이노를 USB 케이블로 PC에 연결합니다.
- 아두이노 IDE를 실행하고 LED를 깜빡여줄 프로그램 코드를 입력합니다.
- 코드를 컴파일하고, 그 결과로 생성된 바이너리를 아두이노에 업로드합니다.
- 테스트!!
그럼 아두이노 보드의 LED를 깜빡여줄 코드를 확인하겠습니다.
이 코드는 직접 입력해도 되지만 아두이노 IDE에 기본으로 깔려있는 예제(메뉴 > 파일 > 예제 > 01.Basics > Blink)에서 찾아볼 수 있습니다.
코드는 아래와 같습니다.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
pinMode라는 것은 아두이노가 데이터를 입력, 출력하기 위한 핀(Pin)의 선택과 동작방향을 설정하는 함수입니다.
여기서는 "13번 핀을 출력으로 사용하겠다." 라는 의미입니다.
그리고 13번 핀은 아두이노 보드 위의 LED에 연결되어 있습니다.
(아두이노 IDE 최신 버전인 2.0.0 버전에서는 13 대신 LED_BUILTIN 이라는 상수로 코드에 들어가 있는데 같은 의미입니다.)
다음으로 아두이노 보드에 코드를 업로드해야 합니다.
메뉴 아래 줄을 보면 설치된 아두이노 보드를 선택하는 드롭다운 박스가 있습니다.
여기서 PC와 연결한 보드를 선택한 후 메뉴에서 업로드를 실행(메뉴 > 스케치 > 업로드)해 주시면 됩니다.
업로드가 완료되면 아래와 같은 메시지가 출력됩니다.
이제 아두이노를 작동시키면 보드에 장착된 LED가 깜빡이는 것을 볼 수 있습니다.
아두이노 보드와 PC를 연결한 후 프로그램을 실행하지 않았는데도 LED가 깜빡이는 경우에는 코드에서 delay 시간을 조정해보면 서로 다른 것을 확인할 수 있습니다.
'관련 기술 > SBC(싱글보드컴퓨터)' 카테고리의 다른 글
GPIO 핀을 이용하여 데이터 출력하기 (0) | 2023.03.16 |
---|---|
TinkerCAD를 이용하여 아두이노 없이 시뮬레이션을 통해 개발하기 (0) | 2023.03.15 |
아두이노와 그 종류들, 그리고 대략적인 개발 순서 (0) | 2023.03.13 |
SBC(Single Board Computer) 학습도 시작해보자 (0) | 2023.03.12 |
Jetson Nano에서 PWM 동작시켜서 서보모터 돌리기 (6) | 2021.10.21 |