unit 01 아두이노 - knuecomedudb6.knue.ac.kr/tykim/myhome/swnote/arduino1.pdf · 2018-02-27 ·...
TRANSCRIPT
![Page 1: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/1.jpg)
아두이노
UNIT
01
로봇 SW 교육원 로봇 SW 교육원 2기
![Page 2: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/2.jpg)
아두이노
• 아두이노 우노
• 마이크로컨트롤러(Atmel의 ATmega328)
• 통합 개발홖경 제공
• 2005년 이탈리아에서 시작
• 오픈하드웨어
2
![Page 3: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/3.jpg)
아두이노 개발홖경 설정
• 아두이노 사이트 주소
• http://arduino.cc/
3
![Page 4: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/4.jpg)
아두이노 개발홖경 설정
• 아두이노 프로그램 다운로드
– Download
– Windows ZIP file (for non-administrator install)
4
![Page 5: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/5.jpg)
아두이노 개발홖경 설정
• 아두이노 프로그램
– 압축해제후 설치없이 바로 실행
– c:\arduino-1.0.6\arduino.exe
5
![Page 6: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/6.jpg)
아두이노 개발홖경 설정
• 아두이노 PC에 연결
– USB연결
6
![Page 7: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/7.jpg)
아두이노 개발홖경 설정
• 아두이노 드라이버 설치
7
![Page 8: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/8.jpg)
아두이노 개발홖경 설정
• 아두이노 드라이버 설치
8
![Page 9: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/9.jpg)
아두이노 개발홖경 설정
• 드라이버
– arduino\drivers 선택
9
![Page 10: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/10.jpg)
아두이노 개발홖경 설정 10
![Page 11: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/11.jpg)
아두이노 개발홖경 설정
• 포트(COM) 확인
11
![Page 12: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/12.jpg)
아두이노 개발홖경 설정
• 아두이노 실행
– arduino.exe
12
![Page 13: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/13.jpg)
아두이노 프로그램
• 프로그램 툴바
13
확인
업로드
새파일
열기
저장 시리얼
모니터
![Page 14: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/14.jpg)
아두이노 개발홖경 설정
• 보드 선택
– 도구 > Arduino Uno
• 통신 포트 선택
– 도구 > 시리얼 포트 > COM?
14
![Page 15: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/15.jpg)
아두이노 개발홖경 설정
• 기본 예제 테스트
15
![Page 16: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/16.jpg)
아두이노 개발홖경 설정
• 기본 예제 테스트
16
![Page 17: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/17.jpg)
아두이노 개발홖경 설정
• 기본 예제 테스트
– 13번 디지털 핀에 연결된 LED 1초마다 점멸
17
![Page 18: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/18.jpg)
소스 기본구조
• 초기화 루틴
• setup() 함수
• 최초 1회만 실행
• 반복 루틴
• loop() 함수
• setup 이후 무한반복
18
![Page 19: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/19.jpg)
소스 기본구조
• 시리얼 통신 기본 프로그램 작성
– 아두이노와 시리얼 통신
19
![Page 20: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/20.jpg)
브레드보드(빵판)
• 전원용
• 세로로 모두 연결됨
• 일반
• 가로로 연결되어 있음
20
![Page 21: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/21.jpg)
아두이노 개발 과정
• 아두이노 개발 과정
– 아두이노에 각종 장치들(LED, 모터, 센서…)을 연결
– 아두이노 개발홖경(IDE)을 실행
– 소스코드 작성
– 컴파일 및 업로드
– 아두이노 동작 확인
21
![Page 22: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/22.jpg)
아두이노의 기본 입출력
• 주변 장치와 데이터 입출력
• 디지털 입출력
– 0~13번(14개)
– '~' 표시 (3,5,6,9,10,11) PWM 신호출력 지원
• 아날로그 입력
– A0~A5(6개)
– ADC(Anlog Digital Converter)를 통해 디지털로 변홖되어 입력됨
22
![Page 23: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/23.jpg)
아두이노의 기본 입출력
• 디지털 입출력 핀
– 입력(기본 설정) 또는 출력으로 설정가능
23
![Page 24: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/24.jpg)
디지털 출력 - LED
• 디지털 입출력 핀(7번핀)을 이용해 LED 켜기
– 저항 220Ω
– LED
24
![Page 25: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/25.jpg)
디지털 출력 - LED
• 디지털 입출력 핀(7번핀)을 이용해 LED 켜기
25
![Page 26: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/26.jpg)
디지털 출력 - LED
• 디지철 입출력 핀(7번핀)을 이용해 LED 켜기
26
![Page 27: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/27.jpg)
디지털 출력 - LED
• 프로그램 작성 #1
27
핀 설정
pinMode(핀번호, OUTPUT)
디지털 출력
digitalWrite(핀번호, HIGH);
![Page 28: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/28.jpg)
디지털 출력 - LED
• 프로그램 작성 #2
28
핀 설정
pinMode(핀번호, OUTPUT)
디지털 출력
digitalWrite(핀번호, HIGH);
또는
digitalWrite(핀번호, LOW);
![Page 29: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/29.jpg)
디지털 입력 - 스위치 버튼
• 디지철 입출력 핀(4번핀)을 이용해 입력 받기
– 저항 1kΩ
– 스위치
29
![Page 30: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/30.jpg)
디지털 입력 - 스위치 버튼
• 디지철 입출력 핀(4번핀)을 이용해 입력 받기
30
![Page 31: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/31.jpg)
디지털 입력 - 스위치 버튼
• 디지철 입출력 핀(4번핀)을 이용해 입력 받기
31
![Page 32: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/32.jpg)
디지털 입력 - 스위치 버튼
• 디지철 입출력 핀(4번핀)을 이용해 입력 받기
32
![Page 33: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/33.jpg)
디지털 입력 - 스위치 버튼
• 프로그램 작성 #1
33
핀 설정
pinMode(핀번호, INPUT)
디지털 입력
digitalRead(핀번호);
![Page 34: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/34.jpg)
디지털 입력 - 스위치 버튼
• 프로그램 작성 #2
34
Serial 통신으로 입력값 확인
![Page 35: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/35.jpg)
미션 #1
• LED를 연결
• 스위치 버튼 연결
• 스위치 버튼을 누를 때 LED ON
• 스위치 버튼을 누를 때 LED OFF
35
![Page 36: UNIT 01 아두이노 - KNUEcomedudb6.knue.ac.kr/tykim/Myhome/SWnote/arduino1.pdf · 2018-02-27 · 아두이노 개발 과정 •아두이노 개발 과정 –아두이노에 각종](https://reader033.vdocuments.mx/reader033/viewer/2022042012/5e72c056da4ac12fb15a1e4d/html5/thumbnails/36.jpg)
미션 #2
• 2개의 LED를 연결
• 스위치 버튼 연결
• 스위치 버튼을 누를 때 LED 버튼을 번갈아 점멸하시오.
36