바로 프로젝트에 돌입하고 싶지만, 우선 아두이노를 동작시키기 위한 기초적인 강의를 들어보고 시작하는 것이 현명하다고 판단했다.
아두이노 IDE 설치
https://www.arduino.cc/en/software
여기서 나는 윈도우앱으로 설치를 했다.
앱을 깔면 이러한 창을 볼 수 있다.
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
셋업과 루프 두 가지 함수가 지정되어 있는 데 둘 중 하나라도 없으면 컴파일 오류가 나온다.
셋업은 초기에 한 번만 실행된다.
루프는 말그대로 아두이노는 전원이 끊기지 않는 이상 무한 반복한다.
아두이노 예제 blink
아두이노 파일탭의 예제 -> 01. Basics -> Blink를 누르면
이러한 창이 새롭게 뜨는 것을 볼 수 있다.
체크표시를 눌러 컴파일을 해보자.
그러면 이렇게 정상 컴파일이 완료되는 것을 볼 수 있다.
코드를 업로드하기 전에 설정해줘야 하는 것이 있는데, 바로 아두이노가 연결된 포트를 설정해주는 것이다.
툴 탭에서 아두이노가 연결된 포트로 변경해주고 업로드해보자.
업로드가 완료된 것을 확인할 수 있다.
/*
Blink
Turns 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, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
이 코드는 우노의 경우 13번 핀에 연결된 L LED의 불을 1초간 켰다가 1초간 쉬는 것을 반복하는 코드다.
HIGH와 LOW, LED_BUILTIN은 모두 상수이다.
void setup() {
pinMode(13, 1);
}
void loop() {
digitalWrite(13, 1);
delay(1000);
digitalWrite(13, 0);
delay(1000);
}
이렇게 작성해도 동일하게 작동하는 것을 확인할 수 있다.
pinMode 는 특정 핀을 모드(Input, Output, Inputpool)로 바꿔주는 셋업하는 역할을 한다. 아두이노 IDE에 있는 라이브러리를 사용하는 것 같은데, 이후에는 이런 것 없이도 동작할 수 있도록 하면 좋지 않을까 싶다.
추상화된 것들을 이해해보려는 시도는 실력향상에 있어서 큰 도움이 되기 때문이다.
LED 깜빡
짧은 다리를 GNU핀에, 긴다리를 13번 핀에 넣자 불이 이렇게 깜빡인다. 깜빡거리는 속도는 매우 빠르게 수정해봤다.
다만, 저항이 없이 이렇게 사용하면 아두이노나 LED에 데미지를 줄 수 있기 때문에 저항을 연결하는 것을 권장한다고 하지만, 일단 큰 문제는 없다고 해서 해봤다.
'Programming > Embeded' 카테고리의 다른 글
How to learn Embedded (0) | 2022.04.22 |
---|---|
[3] 아두이노 for문을 활용해서 LED 깜빡거리도록 하기(빵판, 브레드보드 사용법) (0) | 2022.04.14 |
[1] 아두이노 첫 프로젝트 - DHT22 센서를 사용한 토양습도 측정 (0) | 2022.04.14 |
아두이노 기초 (아두이노란? 아두이노 구성) (0) | 2022.04.14 |