![Page 1: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/1.jpg)
임베디드시스템개론: Arduino 활용
Lecture #1 : 아두이노 플랫폼 개요
2014. 3. 12 by 김 영 주
![Page 2: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/2.jpg)
강의 목차
강의 개요 임베디드시스템 개요 아두이노 플랫폼 실습 환경 구축 및 실습
2
![Page 3: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/3.jpg)
강의 개요 (1) 강의 목표 아두이노 시스템 활용임베디드 시스템의 구성 및 제어 방법 학습 모바일 컴퓨팅 및 유비쿼터스 컴퓨팅 환경의 대중화 주변의 거의 모든 사물들이 컴퓨팅 능력을 내재사물의 컴퓨팅 능력을 활용할 수 있는 프로그래밍 능력의 필요성 증대
새로운 IT 기술에 대한 이해력 증진 DIY(Do It Yourself) 자신감 배양
3
![Page 4: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/4.jpg)
강의 개요 (2) 강의 개요 아두이노 시스템의 다양한 활용 학습
임베디드시스템의 하드웨어 구성 이해 하드웨어 제어 프로그래밍 능력 배양
초중급의 실용적인 내용 학습 임베디드 시스템 제작을 위한 기초적인 지식에서부터 제어 프로그
램 작성 등의 내용을 쉽게 이해하고 활용할 수 있도록 수업을 진행
수업 방식 임베디드시스템 제어에 대한 이론 학습과 실습을 병행 실습은 리눅스 환경에서 C/C++ 언어 프로그래밍으로 수행
본인 스스로 MP3 Player와 같은 주변의 장치를 제작해보고 싶다면 도전해보길 바라며, 주위에서 흔히 볼 수 있는 장치를 스스로구현해봄으로써 전공에 대한 또 다른 즐거움과 자신감을 찾을수 있을 것이다.
4
![Page 5: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/5.jpg)
강의 개요 (3) 강의 개요 “마이크로컨트롤러 AVR Atmega-128” / 이상설 / 한빛미디어 “재미삼아 아두이노” / 심재창 외 3인 저/ 한티미디어
Arduino Tutorial Sites http://arduino.cc/hu/Tutorial/HomePage http://hacknmod.com/hack/arduino-tutorial-how-to-introduction-guide/ http://robotecture.com/shenyang/wip.html http://www.ladyada.net/learn/arduino/ http://www.jeremyblum.com/ http://tronixstuff.wordpress.com/tutorials/ http://fritzing.org
5
![Page 6: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/6.jpg)
강의 개요 (4) 강의 개요 Arduino Tutorial Sites (계속)
http://www.ecs.umass.edu/ece/m5/tutorials/tutorials.html http://tokage.cafe24.com/ww/ http://itp.nyu.edu/physcomp/Tutorials/Tutorials http://www.roguescience.org/wordpress/ http://www.amarino-toolkit.net/index.php/tutorials.html http://sheepdogguides.com/arduino/FA1main.htm http://transformativedesign.pbworks.com/w/page/22424429/Arduino%2
0Tutorial%20Setup http://www.planetarduino.org/?cat=37
6
![Page 7: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/7.jpg)
강의 개요 (5) 강의 진행 아두이노 실습키트를 활용한 실습 위주 강의
초급 수준의 하드웨어 구성 방법 이해 및 실습임베디드 시스템의 일반적인 구조 이해
하드웨어 제어 프로그래밍 실습 주요 실습에 대해 실습 보고서 작성
다양한 아두이노 프로젝트 리뷰 및 토의
아두이노 시스템과 안드로이드 스마트폰 연동
중간 및 기말 시험 : 실기 시험
7
![Page 8: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/8.jpg)
임베디드시스템 개요 (1) “임베디드시스템”?
VS.
8
![Page 9: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/9.jpg)
임베디드시스템 개요 (2) “임베디드시스템”? “a computer system designed for specific control functions withi
n a larger system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts.”
“시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여특수한 기능만을 수행하게 되는 컴퓨터 시스템” (by Wikipedia)
상반 개념: 범용 컴퓨터시스템(General-Purpose Computer System)
9
![Page 10: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/10.jpg)
임베디드시스템 개요 (3) “임베디드시스템”? 모바일 컴퓨팅 및 유비쿼터스 컴퓨팅 환경 구축을 위한 근간
기술
10
![Page 11: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/11.jpg)
임베디드시스템 개요 (4) 임베디드시스템 응용 정보 가전 – 디지털TV, 인터넷 냉장고, 세탁기, 가정용 오디
오 시스템 정보 단말기 – 휴대폰, PDA, 영산 전화기 통신 장비 – 전화 교환기, 라우터(router), 공유기, 홈 게이트
웨어(home gateway) 게임 기기 – 소형 게임기, 지능형 장난감 항공 우주 – 비행기, 우주선, 미사일 물류, 금융, 사무기기 – POS 단말기, ATM, 프린터 차량, 교통 – 자동차, 지능형 교통 제어 시스템
11
![Page 12: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/12.jpg)
임베디드시스템 개요 (5) 임베디드시스템 응용
휴대폰 휴대용 게임기
디지털 TV 인터넷 냉장고 세탁기
전자사전 애완용 강아지 로봇
MP3 player
12
![Page 13: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/13.jpg)
임베디드시스템 개요 (5) 임베디드시스템 응용
13
![Page 14: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/14.jpg)
임베디드시스템 개요 (6) 임베디드시스템 분류 시스템 규모 및 OS 탑재 여부 등에 의한 분류
시스템 구성 및 개발방법론이 달라짐.
고수준 임베디드 시스템 지능형 임베디드 시스템 비교적 높은 성능의 CPU와 많은 용량의 메모리를 탑재 임베디드 리눅스 등의 임베디드 운영체제를 탑재하고 다양한 응용
프로그램을 실행 예: 스마트폰, 스마트TV, 의료장비 등
단순 임베디드 시스템 저성능의 CPU와 저용량의 메모리를 탑재 별도의 운영체제가 없이 제어 프로그램이 탑재 예: mp3 player, 도어록, 가전장비 제어장치 등
14
![Page 15: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/15.jpg)
아두이노 플랫폼 (1) “아두이노(Arduino)” 란? 오픈소스 하드웨어 프로토타입핑(prototyping) 플랫폼 3 가지 의미를 내포
A physical pieceof hardware
A programmingenvironment
A community& philosophy
15
![Page 16: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/16.jpg)
Arduino Philosophy & Communit Open Source Physical Computing Platform “open source hardware” open source: free to inspect & modify physical computing. what?
ubiquitous computing, pervasive computing, ambient intelligence, calm computing, everyware, spimes, blogjects, smart objects...
Community-built Examples wiki (the “playground”) editable by anyone Forums with lots of helpful people
16
![Page 17: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/17.jpg)
아두이노 하드웨어 (1) 아두이노 플랫폼 기본 구성
17
![Page 18: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/18.jpg)
아두이노 하드웨어 (2) AVR Atmega 8-bit microcontroller chip 사용 chip was designed to be used with C language
Arduino Mega-ADK
18
![Page 19: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/19.jpg)
아두이노 하드웨어 (3) Arduino Diecimila Board
• 16 kBytes of Flash program memory• 1 kByte of RAM• 16 MHz (Apple II: 1 MHz)• Inputs and Outputs• 13 digital input/output pins• 5 analog input pins• 6 analog output(PWM) pins• Completely stand-alone: doesn’t need a computer once programmed
19
![Page 20: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/20.jpg)
아두이노 하드웨어 (4) Arduino Mega-ADK Board
• 256 kBytes of Flash program memory• 4 kByte of EEPROM• 8 kByte of RAM• 16 MHz (Apple II: 1 MHz)• Inputs and Outputs: - 40 digital input/output pins- 16 analog input pins- 14 analog output(PWM) pins• 4’s UART(serial) port• USB Host channel
ATmega2560USB Host Channel
20
![Page 21: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/21.jpg)
아두이노 하드웨어 (5) 아두이노 하드웨어 변형
Lilypad Arduino Breadboard Arduino Arduino Mini
Arduino Nano
Arduino Bluetooth Arduino Ethernet Arduino Notebook
Arduino DIY
21
![Page 22: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/22.jpg)
아두이노 개발툴 (1) Arduino IDE
22
1. 프로젝트 생성 및 프로그램 소스 편집
2. 프로그램 컴파일
3. 프로그램 다운로드(ISP)
4. 콘솔 모니터
Function Buttons
Program Coding Area
System Message Area
![Page 23: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/23.jpg)
아두이노 개발툴 (2) Arduino IDE 설치
1) 아두이노 웹사이트(www.arduino.cc)에서 설치 패키지 다운로드
2) 설치 패키지의 압축을 풀어 적절한 위치에 설치
3) 환경변수 설정 및 실행 : 환경설정 파일 /root/.bashrc
23
#> pwd/root/다운로드#> mv arduino-1.0-linux.tgz /opt#> cd /opt#> tar xvfz arduino-1.0-linux.tgz
#> gedit ~/.bashrc:
PATH=/opt/arduin-1.0:$PATH:
#> source ~/.bashrc#> arduino
![Page 24: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/24.jpg)
아두이노 개발툴 (3) Host PC와 아두이노 보드 연결
24
lsusb명령어를이용하여 연결여부 확인 가능
![Page 25: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/25.jpg)
아두이노 프로그램 개발 (1) 아두이노 프로그램 개발 사이클 Make as many changes as you want Not like most web programming: edit ➝ run Edit ➝ compile ➝ upload ➝ run
25
![Page 26: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/26.jpg)
아두이노 프로그램 개발 (2) 아두이노 프로그램 작성 및 실행
1. Write your sketch Sketch : Arduino 보드에서 실행되는
프로그램
2. Press Compile button(to check for errors)
3. Press Upload button to program Arduino board with your sketch
26
![Page 27: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/27.jpg)
아두이노 프로그램 개발 (3) 예제 프로그램을 이용한 테스트 LED Blink Example Step #1 : Arduino Board 연결 Step #2 : Arduino 프로그램 실행 Step #3 : Arduino 프로그램에서의 타겟 설정
사용하는 arduino 보드 타입과 연결 포트 설정
27
![Page 28: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201401/es/es-arduino-lecture-01.pdf · 강의개요(1) 강의목표 아두이노시스템활용 임베디드시스템의구성및제어방법학습](https://reader035.vdocuments.mx/reader035/viewer/2022070701/5e58ac74cfc9df780e1c30c3/html5/thumbnails/28.jpg)
아두이노 프로그램 개발 (4) 예제 프로그램을 이용한 테스트 Step #4 : LED Blink 예제 스케치 로딩
메뉴: File Examples 1.Basics Blick
Step #5 : Compile 버튼으로 스케치 컴파일링 Step #6 : Unoload 버튼으로 스케치 업로드 Step #7 : 실행 결과 확인
보드 내의 led 13이 깜박이지를 확인
28