반응형

【 아두이노쌩초보#3 아두이노 완존 초보를 위한 강좌! #03 ( Arduino for Absolute beginner! )

 아두이노를 처음 접하는 분들을 대상으로 자세하게 설명을 드리는 강의 영상입니다. 

 - 아날로그와 디지털의 차이 및 개념에 대해 설명합니다.

 - 디지털 보드인 아두이노에서 아날로그 출력을 위한 analogWrite( ) 함수에 대해 다룹니다. 

 - PWM의 개념과 충력에 대해 설명합니다.  

[ 내용 설명 ]

 - 아날로그 시계는 시간과 분, 초가 각각 그 사이 사이를 움직이고 있으며 이를 관찰 할 수 있습니다.

   반면에, 디지털 시계는 그 사이 값의 이동 없이 특정값으로 바로 바뀌는 것을 알 수 있습니다.

 - , 아날로그는 어떤 양이나 데이터를 연속적으로 표현되는 것을 말하고 , 디지털은 비연속적이며,

   On Off, 01과 같은 2진 데이터로 표현되는 것을 말합니다.

 

 - 아두이노와 같은 보드는 내부적으로 디지털로 처리되기 때문에 입력받는 아날로그 신호를 디지털로 변환하거나,      

   디지털신호를 아날로그 형태로 표현해주는 역할이 필요하게 됩니다.

 

 - 예를 들어 디지털에서는 기본적으로 모터와 전등을 켜고 끄는 것만 가능합니다. 하지만, 볼륨조절 스위치와 같은 것을 돌려서 모터의 속도를 제어하거나, 전등의 밝기를 점점 밝게 또는 점점 어둡게 제어 하고자 할 때가 있습니다. 이때, 필요한 것이 바로 PWM 제어입니다.

 - PWM은 디지털신호를 아날로그화 시켜주는 것인데, PULS WIDTH MODULATION의 약자로서, HIGH신호의 펄스폭을 조절하여 구현하는 방식입니다.

 - 같은 시간에 HIGH 신호가 길면 최대출력이 되어 전등이 제일 밝을 것이며, HIGH신호 비율이 줄어들수록 평균적인 출력신호가 낮아져 전등이 어두워지게 됩니다.

 - 아두이노에서 이런 PWM방식으로 출력을 내보낼 수 있는 포트가 정해져 있습니다.

 - 출력 포트에 ~물결 표시가 있는 3, 5, 6, 9, 10. 11번 포트가 바로 그것입니다.

 - 일반적으로 ON OFF와 같은 출력조절에서 사용하는 명령어로 digitalWrite()를 사용하게되며,

 - PWM 포트를 통해 아날로그 형태로 출력을 내보내는 함수로 analogWrite()를 사용하게 됩니다.

 - 아두이노 코드는 LED가 점점 밝아진 후 다시 점점 어두워지기를 반복하도록 코드를 구성하였습니다.

 

【 이전 영상 보기 

 아두이노쌩초보 영상 #2  ☜ 클릭!

 아두이노쌩초보 영상 #1  ☜ 클릭!

 

 

【 다음 영상 보기 

▷ 아두이노쌩초보 영상 #x  ☜ 클릭!

 

【영상 강의 보기-YouTube

 

 

[ 강의 내용 요약 ]

1. 부품 준비

 

2. 회로 연결

 

3. 아두이노 코드

int led = 11;           //  11번 포트를 LED 전역변수로 선언
int brightness = 0;     // LED 밝기 0으로 초기화
int fadeAmount = 5;     // LED 밝기 조절 간격 ‘5’로 설정  
void setup ( ) {
}
void loop ( ) {   
 analogWrite(led, brightness);   // 11번 핀의 밝기 설정 
 brightness = brightness + fadeAmount; // fadeAmount 값 만큼 반복 증가
 if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;  // -부호를 붙여 최대로 밝아지면 어두워지도록 전환
  }  // brightness <= 0 || brightness >= 255
 delay(30);    // 0.03초 시간지연 (LED 밝기가 변화할 수 있는 시간을 부여) 
}

 

 

 

4. 동작확인

: LED가 점점 밝아지고,  다시 점점 어두워지기를 반복한다. 

 

 

오늘 학습내용은 여기까지 이며,  다음 학습영상을 기대해주세요~

감사합니다. ~~~ ^^

 

 

=== 아두이노 에러 대처 법 ===

1. 흔히 저지르기? 쉬운 에러 상황 #1

 - 두 단어의 조합으로 구성된 아두이노의 명령어는 두 번째 단어 첫 문자를 대문자로 표시하여 정해 놓았다.

 - 대·소 문자를 구분하지 않아 아래와 같은 에러를 발생시키는 경우가 종종 있다.

 

2. 흔히 저지르기? 쉬운 에러 상황 #2

 - 한 줄 코드 끝부분에는 반드시 ';' 세미콜론을 넣게 되어 있으나, 이를 빼먹는? 경우가 종종 발생한다.

 

===  아두이노 코딩을 잘하는 비결  ===

 :  (#1) 책이나 교재 혹은 타인의 코드를 그대로 따라 해보고 동작이 되었다고 해서 바로 다음 과제로 넘어가지 마라! 

 에러 없이 동작된 코드를 놓고, 궁금한 부분을 이리저리 만저보면서 변경해보는 실험들을 스스로 충분히 해보아야 한다. 대부분의 경우 동작만 성공한 것이지 특정 코드부분을 이해하지 못한채 새로운 코드를 학습하게 되기 때문이다. 물론 여러번 해봐도 완벽히 이해되지 않을 때는 우선 넘어가도 좋다.  이럴때는 나중에 다시 이해할 수 있는 기회가 생긴다. 

 

   (#2)  아두이노 공부를 하면서 닥쳐오는 수많은 에러에 스트레스를 받지 마라~!  

   근력운동할 때 괜시리 무겁고 버거운 기구를 드는게 아니듯, 발생되는 각종 다양한 에러를 경험하고 찾아내는 과정 속에서 여러분의 코딩 근력이 형성된다.   코딩을 배울 때 에러 경험을 많이 하면 할 수록 좋다. 경험하고 학습된 에러는 이후 잘 반복되지 않으며, 경험으로 비추어 쉽게 찾아 낼 수 있기 때문이다.   

 

 

반응형