아두이노 프로그램을 스케치 라고 부름니다.


스케치라는 말은 아두이노가 초기에  아티스트와 디자이너가 사용했지 때문에


아이디어를 빠르고 쉽게 실현할수 있는 방법이라는 의미로 스케치라는 용어가 사용되었다고 합니다.



일반적인  아두이노 프로그램의 구조는


setup함수와 loop함수로 구성됨니다.


setup 함수는 보드의 설정을 구성하는 것처럼  한번만 실행하는 코드를  함수에  넣습니다.


loop 함수는 setup함수가 실행된 후 계속적으로 실행되야 하는 코드를 함수에 넣습니다.


처음 blink에서 봤던 예제로 한번더 설명을 하겠습니다.




------------------------------------------------


const int ledPin = 13;  // LED를 디지털 핀 13번에 연결한다.




void setup() {                  // 한번만 실행될 setup 함수 


  // initialize digital pin LED_BUILTIN as an output.


  pinMode(led_pin, OUTPUT); //  13번 핀을 출력으로 설정한다.  


}

 // setup 함수는 한번만 실행



// the loop function runs over and over again forever



void loop() {        // loop 함수는 반복해서 계속 실행


  digitalWrite(led_pin, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);                       // wait for a second

  digitalWrite(led_pin, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second


}

------------------------------------------------



아두이노 IDE에서 코드를  아두이노에 업로드를 하면 보드를 켤때마다 위의 코드가


순차적으로 실행이 된다.



먼저 setup함수가 실행되고 loop 함수가 실행된다.



loop함수의 digitalWrite(led_pin, HIGH) 가 실행되고  delay - > digitalWrite(led_pin, LOW) -> delay 가 실행되면 끝나지 않고 다시 


digital Write(led_pin,HIGH)가 실행된다.











'프로젝트 > 아두이노' 카테고리의 다른 글

2. 아두이노 프로그램의 구조  (0) 2019.01.03
1. Blink 예제  (0) 2018.10.28
아두이노 시작하기  (0) 2018.10.26


기본적인 설명은 Arduino Uno를 기준으로 설명하겠습니다.


아두이노에는 기본적으로 LED가 달려있습니다.




https://store.arduino.cc/usa/arduino-uno-rev3


물론 USB를 연결하면 바로 켜지는 전원 LED도 있고 데이터 전송용 LED도 있지만  지금 말할것은 


우리가 제어할수 있는 LED입니다.


위의 사진과 같이 UNO를 기준으로 저 위치에 우리가 제어 할수 있는 LED가 있습니다. 


13번에 연결되어 있고 친절하게 저항도 붙어져 있습니다.



Blink 예제는 아래를 따라 가면 불러올수 있습니다.





기본적으로 아두이노를 깔면 예제코드를 같이 다운로드 하게 되어 있습니다.



그러면 다음 예제 코드를 해석해보겠습니다.


// <- 코드가 아닌 주석으로 제가 쓰는 것입니다.


----------------------------------------------------

void setup() {   // 앞으로 실행될 코드의 핀설정 

  

  pinMode(LED_BUILTIN, OUTPUT); //핀모드 설정 , 기본적으로 LED_BUILTIN 이라는 변수는 pin 13을 의미 합니다. 

   //pin 13을 앞으로 LED_BUILTIN으로 부름니다.

 

}



void loop() {  //loop는 의미 그대로  계속 실행한다는 의미를 가지고 있습니다. 계속 실행됨니다.

  digitalWrite(LED_BUILTIN, HIGH);   // LED_BUILTIN을 ON으로 설정

  delay(1000);                       // 1초동안 대기

  digitalWrite(LED_BUILTIN, LOW);    // LED_BUILTIN을 OFF로 설정

  delay(1000);                       // 1초동안 대기

}

----------------------------------------------------



13번 핀에 연결된 LED를 계속 깜빡깜빡하는 코드입니다.


처음 void setup에서 핀을 설정하고


설정된 핀으로 loop를 실행하는 구조 입니다.


그러면 LED는 1초동안 켜졌다가, 1초 동안 꺼졌다가 다시 1켜지는걸 확인할수 있습니다.


그리고 delay(1000)의 1000의 의미는 1초 입니다.  1s = 1000ms 



혹시 LED가 안켜진다면 불량입니다. 교체 하세요.



'프로젝트 > 아두이노' 카테고리의 다른 글

2. 아두이노 프로그램의 구조  (0) 2019.01.03
1. Blink 예제  (0) 2018.10.28
아두이노 시작하기  (0) 2018.10.26





요즘 회사다니면서 언젠가는 아두이노로 재미있는걸 만들어 봐야지 라고 생각했는데 생각만큼 실행력이 없었네요.


요즘 유툽에서 미디어아트 관련 영상을 볼때마다 나도 저런거 만들어 보고 싶다라는 생각이 들어서 블로그에 한번 공부한 것들을 올려보려 합니다.



많은 사람들이 알고 있는 내용이지만 


아두이노는 소프트웨어나 전자공학등 공학을 전문적으로 공부하지 않은 사람들도 쉽게 사용할수 있습니다.


물론 공부를 했다면 더 좋습니다.


기본적인 예제 따라하기, 인터넷에 올라와 있는 내용을 따라하는것은 문제가 되지 않지만


내가 무엇인가 구상을 하고 설계를 해볼려고 한다면 공학적인 지식이 필요합니다.





아두이노공부를 위해서 소프트웨어에 관한 지식과 전자공학에 관한 것도 풀이를 하려 합니다.


물론 저는 소프트웨어를 전공하지 않았기에 잘 모르는 것도 있지만


설명을 하면서 저도 배우는것도 있기에 한번해보려 합니다.



설치나 아두이노가 뭔지는 위키에 더 자세하게 나와 있기 때문에



건너 뛰고 예제풀이부터 시작하려 합니다.



시간날때마다 계속올리겠습니다.




'프로젝트 > 아두이노' 카테고리의 다른 글

2. 아두이노 프로그램의 구조  (0) 2019.01.03
1. Blink 예제  (0) 2018.10.28
아두이노 시작하기  (0) 2018.10.26

+ Recent posts