ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 개발환경 구축 컴퓨터정보공학과 권춘우 ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 개발환경 구축
목차 아두이노 개요 (참고자료) USB 아두이노 통합개발환경(IDE) 설치 Arduino UNO R3 사용 아두이노 하드웨어 아두이노 소프트웨어 아두이노 개발환경 (참고자료) USB 아두이노 통합개발환경(IDE) 설치 Arduino UNO R3 사용 Arduino UNO R3 – 회로도 Arduino UNO R3 – 전원공급 Arduino UNO R3 – USB 드라이버 설치
아두이노 하드웨어 아두이노 하드웨어 아두이노 Official board 아두이노 Compatible board AVR CPU 기반의 실제 타깃 보드 수십여 가지의 센서들, LCD, 모터, 네트워크 등 쉴드(shield)라고 부르는 모듈을 연결하여 확장이 가능 Arduino UNO R3(최대속도 16MHz)가 가장 인기 있음 UNO보다 많은 I/O 확장을 원한다면 Arduino Mega 2560 ARM 기반의 고성능 CPU를 기반으로 하는 Arduino DUE(최대 속도 84MHz) 아두이노 Official board http://www.arduino.cc/en/Main/Hardware 아두이노 Compatible board http://www.deviceshop.net http://www.toolparts.co.kr
아두이노 소프트웨어 소프트웨어 코드 작성 통합개발환경 Integrated Development Environment (IDE)에서 코드를 작성 아두이노 소프트웨어는 "Sketch"를 사용 스케치 코드는 C/C++ 문법을 이용해서 작성 아두이노 IDE 환경에서 소스코드(Sketch) 작성 IDE 환경에서 컴파일 아두이노 하드웨어(Arduino UNO R3, Leonardo 등) 에 바로 업로드(upload) 하고 실행
아두이노 개발환경 아두이노 개발환경 아두이노는 개발환경 S/W, 아두이노 H/W 모두 오픈소스로 진행 아두이노 통합개발환경(IDE) 다운로드 http://arduino.cc/en/Main/Software
아두이노 통합개발환경(IDE) 설치 아두이노 개발환경 다운로드 Windows 개발용 ZIP 파일 다운로드 C:/Arduino-1.0.5 에 압축 해제 하여 설치 ZIP 파일형태의 설치파일은 압축만 해제하여 사용 압축 해제 후 C:/Arduino-1.0.5/arduino.exe 실행 아두이노 설치 관련 Troubleshooting http://arduino.cc/en/Guide/Troubleshooting
아두이노 통합개발환경(IDE) 설치 아두이노(Arduino) 통합개발환경(IDE : Integrated Development Environment) 설치 □ Arduino Official Board (click ☞) http://www.arduino.cc/en/Main/Hardware Windows, Mac OS X, Linux 용 설치방식 Windows Installer 버전 : 직접 컴퓨터에 설치 압축 파일(zip) 형식 : 압축해제 후 바로 실행(arduino.exe) □ 대학 내 설치용 압축 파일 다운로드(Windows 버전) (click☞) http://cwkwon.dongyang.ac.kr/my_lecture/lec_arduino/arduino-1.6.5-r2-windows.zip
Arduino UNO R3로 시작하기 □ 아두이노(Arduino) UNO R3 하드웨어 사양 Microcontroller ATmega328 Operating Voltage 5V Input Voltage 7-12V Recommended Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA Flash Memory 32 KB SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz
Arduino UNO R3 □ 아두이노(Arduino UNO R3) (ATmega328)
Arduino UNO R3 □ 아두이노(Arduino UNO R3) - Arduino UNO R3 - Korduino UNO R3 * Arudino UNO R3 PDF 회로도 http://www.jkelec.co.kr/arduino/uno-r3/Arduino_Uno_Rev3-schematic[1].pdf http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
Arduino UNO R3-회로도
Arduino UNO R3 - 전원공급 USB 전원 이용 DC Adapter 이용 USB 케이블(A to B형)을 이용하여 PC와 Arduino UNO R3의 USB Socket에 연결 아두이노 IDE(개발환경) 에서 Arduino UNO R3 에 프로그램을 업로드 : 반드시 USB를 통해서 PC와 연결 DC Adapter 이용 Arduino UNO R3의 DC Socket에 7~12V DC Adapter (외경:5.5mm 내경2.1mm)를 연결 USB 2.0 USB (AM-AF) USB (AM-AM) USB LOCK (AM-MINI 5P) USB LOCK (AM-MICRO B) USB (AM-BM) USB 3.0
Arduino UNO R3 - 전원공급
USB(Universal Serial Bus) computer-전자장치(electronic device) 연결 : 통신, 전원 공급(5V) 기능 Plug-and-Play(장치 자동감지), Hot Swapping(전원 ON 상태 연결/제거) 지원 지원 –케이블, 커넥터, 통신프로토콜 등을 규정 최대 127개 주변장치 연결 가능 PC 연결 장치 예 : KBD, pointing device, camera, printer, portable media player, disk drive, network adapter 등 USB History 개발시작(1994) : Compaq, DEC, IBM, Intel, Microsoft, NEC, Nortel(7개사) USB 1.0 (1996.1) : 12Mbit/s (USB 1.1로 USB 사용 확대됨, 1998.9) USB 2.0 (2000.4) : 480 Mbit/s (USB 1.1 대비 40배), 전원 500mA USB 3.0 (2008.11) : 5Gbit/s(SuperSpeed), 전원 900mA, 파란색 포트 사용 USB 3.1 (2013.7) : 10Gbit/s(SuperSpeed+), 전원 1000mA
USB(Universal Serial Bus) USB 1.0 ~ USB 2.0, USB 3.0 지원 Type-A, Type-B Mini-A, Mini-B Micro-A, Micro-B USB 3.1 지원 Type-C USB 2.0 Type A, Type B USB 3.0 Type A, Type B Mini-A (left) Mini-B (right) plug Micro-A plug Micro-B plug(USB 2.0) Type-C USB LOCK (AM-Mini 5P) USB LOCK (AM-Micro-B) Micro-B SuperSpeed plug(USB 3.0)
USB(Universal Serial Bus) USB twisted pair (D+, D-) Standard USB connector(Type-A, Type- B) Example of a Negative Acknowledge packet transmitted by USB 1.1 full-speed device when there is no more data to read. It consists of the following fields: clock synchronization byte, type of packet and end of packet. Data packets would have more information between the type of packet and end of packet. Illustration of the USB signal on the electrical level. Pictured is a Negative Acknowledge packet from a full-speed USB 1.1 device. The NAK packet consists of the synchronization byte, packet ID field and end of packet marker. Data packets would have address field and payload between the packet ID and the end of packet.
USB(Universal Serial Bus) USB 커넥터 종류와 USB Card A USB 2.0 PCI expansion card male Micro USB B-Type, proprietary UC-E6, male Mini USB (5-pin) B-type female A-type, male A-type, male B-type.
USB(Universal Serial Bus) ※ receptacle에 USB logo 표시 USB 2.0 Type-A plug/receptacle USB Type-B plug/receptacle USB 3.0 Type-B(SuperSpeed) plug USB Mini-A/Mini-B connector USB Micro-A/Micro-B connector USB 3.0 Micro-B(SuperSpeed) connector USB Mini-A/Mini-B receptacle USB type-C plug
Certified Hi-Speed USB(USB 2.0) USB logo USB logo USB certified logo Certified Hi-Speed USB(USB 2.0) USB High Speed on-the-go logo USB on-the-go logo USB Wireless certified logo SuperSpeed USB (USB 3.0) SuperSpeed+ USB (USB 3.1) USB High Speed certified logo USB logo generic
Apple Lighting(8 Pin) Connector 휴대폰 커넥터 휴대폰 충전/데이터전송 커넥터 통합표준 24핀 커넥터(2001) 통합표준 20핀 커넥터(2007) Mini USB(20xx) Micro USB(2011) Apple 30 Pin Connector Apple Lighting(8 Pin) Connector USB Type-C
Arduino UNO R3 – USB 드라이버 설치 □ USB 케이블(A to B형)을 이용하여 PC와 Arduino UNO R3의 USB Socket에 연결 후 장치 관리자 확인 □ 장치 관리자 실행 방법 □ 실행메뉴(Windows+R)에서 devmgmt.msc 를 입력한후 Enter를 누르면 된다.
Arduino UNO R3 – USB 드라이버 설치
Arduino UNO R3 – USB 드라이버 설치
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – USB 드라이버 업데이트
Arduino UNO R3 – IDE 환경 설정 □ Arduino SW(스케치 sketch) 실행 - 아두이노 SW 설치 후 Arduino.exe 실행 (바탕화면에 바로가기 만들어 놓는 것이 좋다!!) □ Arduino UNO R3 – IDE 환경 설정
Arduino UNO R3 – 스케치 불러오기 □ Arduino UNO R3 첫번째 예제 스케치 불러오기
Arduino UNO R3 – 스케치 불러오기 □ Arduino UNO R3 첫번째 예제 스케치 불러오기 □ Blink 스케치 예제
Arduino UNO R3 – 스케치 저장하기 □ Arduino UNO R3 첫번째 예제 스케치 저장하기 □ Blink 스케치 저장 “파일/저장” 혹은 “Ctrl+S“ □ 아두이노에서 제공하는 기본 스케치 예제는 읽기 전용 이 므로 다른 경로에 저장을 해 야 한다. □ 저장 위치를 개인 폴더를 생성한 후 사용하는 것을 권장
Arduino UNO R3 – 스케치 컴파일 □ Arduino UNO R3 첫번째 예제 스케치 컴파일 하기 □ 왼쪽 그림의 “확인” 아이콘을 클릭해서 컴파일
Arduino UNO R3 – 스케치 업로드 □ Arduino UNO R3 첫번째 예제 스케치 업로드 하기 □ “업로드” 하기전에 시리얼포트 설정 □ 장치관리자에 연결된 Arduino UNO COM 포트 선택
Arduino UNO R3 – 스케치 업로드 □ Arduino UNO R3 첫번째 예제 스케치 업로드 하기 □ 왼쪽 그림 “업로드” 아이콘을 클릭해서 업로드 □ 실행에 문제가 없다면 Arduino UNO R3의 LED가 Blink(1초 주기로 LED가 On/Off 됨) (※ PIN 13 출력을 표시)
아두이노 프로그램 구조 □ 아두이노 프로그램 구조 /* 아두이노 Blink 프로그램 구조 */ int led = 13; (※ PIN 13 출력을 표시하는 LED) /* 아두이노 Blink 프로그램 구조 */ int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() digitalWrite(led, HIGH); // turn the LED on delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off
브레드보드에서 LED 깜박이기 □ 브레드보드의 구조
브레드보드에서 LED 깜박이기 □ 브레드보드의 구조 /* 아두이노 Blink 프로그램 구조 */ int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() digitalWrite(led, HIGH); // turn the LED on delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off
(과제) 1개 LED 깜빡이기 과제 내용 아두이노의 13번 핀을 통해 연결된 LED(RED) 동작이 다음과 같이 되도록 프로그래밍하라. a. 1초 간격으로 3회 깜박이게 한다. b. 0.25초 간격으로 으로 3회 깜박이게 한다. c. 2초 동안 LED를 끈다. d 위 a-b 단계를 무한 반복한다. ON OFF ON OFF ON OFF ON OFF 250msec 250msec LED (RED) 500msec
감사합니다. Thank You !