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


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


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



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


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


LED큐브 만들기는


https://github.com/VectStudio/LED_CUBE 를 기반으로 작성됨니다. 


https://www.youtube.com/watch?v=T5Aq7cRc-mU 도 참고 합니다.




첫번째 과정은 코딩보다는 준비물입니다. 



1.  LED (큐브용 LED 512개 예비용으로 더 있어도 상관없습1니다.) 

2.  아두이노 ( UNO 말고 다른 버전도 상관없습니다.  짭도 상관없어요.)

3.  브래드보드 (처음에만 부품테스트 할때 필요)

4.  5V 전원공급장치 ( 5V 10A )

5.  드라이버

6.  커터

7.  인두기 , 납 

8.  리드선 

9.  리본케이블

10.  LED큐브를 고정시킬 판자

11.  만능기판 

12.  IC (SN74HC595)  9개

13.  PN2222A TR 16개

14.  전원스위치.( ON/OFF용)

15.  220옴 저항 (70개 정도 - 테스트용도. 예비용까지)

16.  녹색 LED , 빨간색 LED


여기 까지가 준비물인것 같습니다.


한번 작성하면서 필요 한게 있으면 더 쓰도록 하겠습니다.






'프로젝트 > LED큐브' 카테고리의 다른 글

LED 큐브 만들기 첫번째.  (0) 2018.10.28
8x8x8 큐브 with 아두이노  (0) 2018.10.26

+ Recent posts