오늘이라도

1. 아두이노 개념, 개발 환경 구축, pinMode, digitalWrite, delay, analogWrite, Serial, digitalRead 본문

취업성공패키지 SW 개발자 교육/사물 인터넷(IoT)

1. 아두이노 개념, 개발 환경 구축, pinMode, digitalWrite, delay, analogWrite, Serial, digitalRead

upcake_ 2020. 4. 20. 21:43
반응형

https://github.com/upcake/Class_Examples

교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다. 

gif 파일은 클릭해서 보는 것이 정확합니다.


 - 아두이노란 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로, 간단한 마이크로컨트롤러 보드를 기반으로 한 오픈 소스 컴퓨팅 플랫폼과 소프트웨어 개발 환경을 말한다.

 - 마이크로컨트롤러란 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 특정 기능을 수행하는 작은 컴퓨터를 말한다.

 - 아두이노의 장점으로는 저비용, 플랫폼 호환성, 간단명료한 프로그래밍 환경, 오픈 소스 등이 있다.

 

 

▲아두이노 키트 구성

 

 

 - 아두이노 개발 환경 구축

  ① https://www.arduino.cc/

 

Arduino - Home

 

www.arduino.cc

   · 아두이노 통합 개발 환경(Arduino IDE)을 다운로드한 뒤 설치한다.

 

  ② https://fritzing.org/home/

 

Fritzing

Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone. We offer a software tool, a community website and services in the spirit of Processing and Arduino, fostering a creative ecosystem that allo

fritzing.org

   · Fritzing을 다운로드한 뒤 설치한다.

 

 

▲우노 보드의 구성

① : 리셋 버튼

 - 지정된 동작을 처음부터 하고 싶을 때 사용한다.

② : 디지털 입출력 핀

 - 물결 표시(~)가 붙은 포트는 아날로그 출력(PWM)을 위해서도 사용할 수 있다.

③ : POWER

 - 3.3V : 3.3V 출력 전압 공급, 와이파이를 연결할 때 주로 사용한다.

 - 5V : 5V 출력 전압 공급, 컴퓨터와 연결할 때 일반적으로 사용한다.

 - GND : 회로를 접지하는 데에 사용한다.

 - Vin : 건전지, AC 전원 공급 장치 등의 외부 전원에서 전원을 공급할 때 사용한다.

④ : 아날로그 입력 핀

 

 

▲예제 1 - 1. 깜빡이는 LED, 회로 구성

 - 점프선으로 브레드 보드의 버스 부분의 +를 5V핀과, -를 GND핀과 연결한다.

 - LED를 부품 영역의 2행에 걸쳐 꽂는다.

 - -극(짧은 다리)이 연결된 행과 -를 220Ω 저항으로 연결한다.

 - +극(긴 다리)과 우노 보드의 디지털 입출력 핀을 연결한다.

 

▲예제 1 - 2. 깜빡이는 LED, 코드

 - pinMode(핀 번호, INPUT/OUTPUT) : 해당 핀 번호가 입력인지 출력인지 정한다.

 - digitalWrite(핀 번호, LOW/HIGH) : 해당 핀 번호의 디지털 출력을 정한다. LOW면 LED가 꺼지고, HIGH면 켜진다.

 - delay(ms) : 지연 시간을 준다.

 

▲예제 1 - 3. 깜빡이는 LED, 작동 영상

 

 

▲예제 2 - 1. 점점 밝아지는 LED, 회로도

 - 점점 밝아지는 ▶ 아날로그 출력을 해야 하므로 LED의 +를 물결표(~)가 붙은 핀에 연결한다.

 

▲예제 2 - 2. 점점 밝아지는 LED, 코드

 - analogWrite(핀 번호, 전압)

   · 0V ~ 5V의 전압 부분은 0 ~ 255 사이로 정할 수 있다.

   ·0일 때는 0V, 127일 때는 약 2.5V, 255일 때는 5V의 전압으로 설정한다는 뜻이다.

 

▲예제 2 - 3. 점점 밝아지는 LED, 작동 영상

 

 

 

▲예제 3 - 1. 버튼으로 LED On/Off, 회로도

 - 버튼은 브레드 보드의 가운데에 걸쳐서 꽂는 것이 공간을 덜 차지한다.

 - 버튼의 다리는 전극의 구분이 없다.

 - 다리 한쪽은 10k 저항을 -극으로 연결하고 PWM 핀에 연결한다.

 - 다른 한쪽은 +극으로 연결한다.

 

▲예제 3 - 2. 버튼으로 LED On/Off, 코드 ① : 버튼 작동 확인

 - 본래 목적의 코드를 작성하기 전에 조립한 부품이 잘 작동하는지 확인하기 위해 시리얼 통신을 이용한다.

 - 버튼을 누르면 1이 전송되고, 그렇지 않다면 0이 전송되는데 이를 통해 작동 여부를 확인한다.

 - Serial.begin(통신 속도) : 시리얼 통신을 시작하는 메서드이다.

 - 통신 속도의 단위는 Baud rate(보 레이트; bit per second)라고 한다.

 - digitalRead() : 디지털 입력 핀에 들어오는 디지털 값을 읽는 메서드이다.

 - Serial.println() : 시리얼 모니터에 값을 출력하는 메서드이다.

※ 시리얼 통신

 - 하나 또는 두 개의 전송 라인을 사용하여 데이터를 송수신하는 통신 방법이다.

 - 한 번에 한 비트 씩 데이터를 지속적으로 주고받는다.

 

▲예제 3 - 3. 버튼으로 LED On/Off, 코드 ②

 

▲예제 3 - 4. 버튼으로 LED On/Off, 작동 영상

반응형