오늘이라도
1. 아두이노 개념, 개발 환경 구축, pinMode, digitalWrite, delay, analogWrite, Serial, digitalRead 본문
1. 아두이노 개념, 개발 환경 구축, pinMode, digitalWrite, delay, analogWrite, Serial, digitalRead
upcake_ 2020. 4. 20. 21:43https://github.com/upcake/Class_Examples
교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다.
gif 파일은 클릭해서 보는 것이 정확합니다.
- 아두이노란 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로, 간단한 마이크로컨트롤러 보드를 기반으로 한 오픈 소스 컴퓨팅 플랫폼과 소프트웨어 개발 환경을 말한다.
- 마이크로컨트롤러란 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 특정 기능을 수행하는 작은 컴퓨터를 말한다.
- 아두이노의 장점으로는 저비용, 플랫폼 호환성, 간단명료한 프로그래밍 환경, 오픈 소스 등이 있다.
- 아두이노 개발 환경 구축
· 아두이노 통합 개발 환경(Arduino IDE)을 다운로드한 뒤 설치한다.
· Fritzing을 다운로드한 뒤 설치한다.
① : 리셋 버튼
- 지정된 동작을 처음부터 하고 싶을 때 사용한다.
② : 디지털 입출력 핀
- 물결 표시(~)가 붙은 포트는 아날로그 출력(PWM)을 위해서도 사용할 수 있다.
③ : POWER
- 3.3V : 3.3V 출력 전압 공급, 와이파이를 연결할 때 주로 사용한다.
- 5V : 5V 출력 전압 공급, 컴퓨터와 연결할 때 일반적으로 사용한다.
- GND : 회로를 접지하는 데에 사용한다.
- Vin : 건전지, AC 전원 공급 장치 등의 외부 전원에서 전원을 공급할 때 사용한다.
④ : 아날로그 입력 핀
- 점프선으로 브레드 보드의 버스 부분의 +를 5V핀과, -를 GND핀과 연결한다.
- LED를 부품 영역의 2행에 걸쳐 꽂는다.
- -극(짧은 다리)이 연결된 행과 -를 220Ω 저항으로 연결한다.
- +극(긴 다리)과 우노 보드의 디지털 입출력 핀을 연결한다.
- pinMode(핀 번호, INPUT/OUTPUT) : 해당 핀 번호가 입력인지 출력인지 정한다.
- digitalWrite(핀 번호, LOW/HIGH) : 해당 핀 번호의 디지털 출력을 정한다. LOW면 LED가 꺼지고, HIGH면 켜진다.
- delay(ms) : 지연 시간을 준다.
- 점점 밝아지는 ▶ 아날로그 출력을 해야 하므로 LED의 +를 물결표(~)가 붙은 핀에 연결한다.
- analogWrite(핀 번호, 전압)
· 0V ~ 5V의 전압 부분은 0 ~ 255 사이로 정할 수 있다.
·0일 때는 0V, 127일 때는 약 2.5V, 255일 때는 5V의 전압으로 설정한다는 뜻이다.
- 버튼은 브레드 보드의 가운데에 걸쳐서 꽂는 것이 공간을 덜 차지한다.
- 버튼의 다리는 전극의 구분이 없다.
- 다리 한쪽은 10k 저항을 -극으로 연결하고 PWM 핀에 연결한다.
- 다른 한쪽은 +극으로 연결한다.
- 본래 목적의 코드를 작성하기 전에 조립한 부품이 잘 작동하는지 확인하기 위해 시리얼 통신을 이용한다.
- 버튼을 누르면 1이 전송되고, 그렇지 않다면 0이 전송되는데 이를 통해 작동 여부를 확인한다.
- Serial.begin(통신 속도) : 시리얼 통신을 시작하는 메서드이다.
- 통신 속도의 단위는 Baud rate(보 레이트; bit per second)라고 한다.
- digitalRead() : 디지털 입력 핀에 들어오는 디지털 값을 읽는 메서드이다.
- Serial.println() : 시리얼 모니터에 값을 출력하는 메서드이다.
※ 시리얼 통신
- 하나 또는 두 개의 전송 라인을 사용하여 데이터를 송수신하는 통신 방법이다.
- 한 번에 한 비트 씩 데이터를 지속적으로 주고받는다.
'취업성공패키지 SW 개발자 교육 > 사물 인터넷(IoT)' 카테고리의 다른 글
[Arduino] 6. LCD 글자 이동, 초 출력, 깜빡이기 / 입력한 글자 출력 / 초음파 센서 연동 / 블루투스 모듈 연결, 설정 / 블루투스로 LED 켜기 (1) | 2020.04.27 |
---|---|
[Arduino] 5. 서보 모터, DC 모터, LCD (0) | 2020.04.24 |
[Arduino] 4. 스트라이크 게임, 조도 센서, 피에조 스피커, 초음파 거리 센서, 거리에 따라 소리 출력하기 (0) | 2020.04.23 |
3. 시리얼 통신, begin, available, read, print, parseInt, randomSeed, random, 메서드 이용 (0) | 2020.04.22 |
2. 버튼 활용, 복수의 LED 켜기, 가변 저항, map(), RGB LED, 복수의 버튼 활용 (0) | 2020.04.21 |