28
임베디드시스템개론 : Arduino 활용 Lecture #1 : 아두이노 플랫폼 개요 2012. 3. 2 by 김영주

임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

Embed Size (px)

Citation preview

Page 1: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템개론: Arduino 활용

Lecture #1 : 아두이노 플랫폼 개요

2012. 3. 2 by 김 영 주

Page 2: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 목차

강의 개요임베디드시스템 개요아두이노 플랫폼실습 환경

2

Page 3: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 개요 (1)강의 목표

아두이노 시스템 활용임베디드 시스템의 구성 및 제어 방법 학습

모바일 컴퓨팅 및 유비쿼터스 컴퓨팅 환경의 대중화주변의 거의 모든 사물들이 컴퓨팅 능력을 내재 사물의 컴퓨팅 능력을 활용할 수 있는 프로그래밍 능력의 필요성 증대

DIY(Do It Yourself) 자신감 배양

3

Page 4: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 개요 (2)강의 개요

아두이노 시스템의 다양한 활용 학습임베디드시스템의 하드웨어 구성 이해하드웨어 제어 프로그래밍 능력 배양

초중급의 실용적인 내용 학습임베디드 시스템 제작을 위한 기초적인 지식에서부터 제어 프로그램 작성 등의 내용을 쉽게 이해하고 활용할 수 있도록 수업을 진행

수업 방식임베디드시스템 제어에 대한 이론 학습과 실습을 병행실습은 리눅스 환경에서 C/C++ 언어 프로그래밍으로 수행

본인 스스로 MP3 Player와 같은 주변의 장치를 제작해보고 싶다면 도전해보길 바라며, 주위에서 흔히 볼 수 있는 장치를 스스로구현해봄으로써 전공에 대한 또 다른 즐거움과 자신감을 찾을수 있을 것이다.

4

Page 5: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 개요 (3)강의 개요

“재미삼아 아두이노” / 심재창 외 3인 저/ 한티미디어

Arduino Tutorial Siteshttp://arduino.cc/hu/Tutorial/HomePagehttp://hacknmod.com/hack/arduino-tutorial-how-to-introduction-guide/http://robotecture.com/shenyang/wip.htmlhttp://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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 개요 (4)강의 개요

Arduino Tutorial Sites (계속)

http://www.ecs.umass.edu/ece/m5/tutorials/tutorials.htmlhttp://tokage.cafe24.com/ww/http://itp.nyu.edu/physcomp/Tutorials/Tutorialshttp://www.roguescience.org/wordpress/http://www.amarino-toolkit.net/index.php/tutorials.htmlhttp://sheepdogguides.com/arduino/FA1main.htmhttp://transformativedesign.pbworks.com/w/page/22424429/Arduino%20Tutorial%20Setuphttp://www.planetarduino.org/?cat=37

6

Page 7: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

강의 개요 (5)강의 진행

아두이노 실습키트를 활용한 실습 위주 강의임베디드 시스템의 구성을 이해하기 위해 초급 수준의 하드웨어구성 방법 이해 및 실습하드웨어 제어 프로그래밍 실습주요 실습에 대해 실습 보고서 작성

다양한 아두이노 프로젝트 리뷰 및 토의

아두이노 시스템과 안드로이드 스마트폰 연동

중간 및 기말 시험 : 실기 시험

7

Page 9: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (2)“임베디드시스템”?

“a computer system designed for specific control functions within 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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (3)“임베디드시스템”?

모바일 컴퓨팅 및 유비쿼터스 컴퓨팅 환경 구축을 위한 근간기술

10

Page 11: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (4)임베디드시스템 응용

정보 가전 – 디지털TV, 인터넷 냉장고, 세탁기, 가정용 오디오 시스템정보 단말기 – 휴대폰, PDA, 영산 전화기통신 장비 – 전화 교환기, 라우터(router), 공유기, 홈 게이트웨어(home gateway)게임 기기 – 소형 게임기, 지능형 장난감항공 우주 – 비행기, 우주선, 미사일물류, 금융, 사무기기 – POS 단말기, ATM, 프린터차량, 교통 – 자동차, 지능형 교통 제어 시스템

11

Page 12: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (5)임베디드시스템 응용

휴대폰 휴대용 게임기

디지털 TV 인터넷 냉장고 세탁기

전자사전 애완용 강아지 로봇

MP3 player

12

Page 13: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (5)임베디드시스템 응용

13

Page 14: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

임베디드시스템 개요 (6)임베디드시스템 분류

시스템 규모 및 OS 탑재 여부 등에 의한 분류시스템 구성 및 개발방법론이 달라짐.

고수준 임베디드 시스템지능형 임베디드 시스템비교적 높은 성능의 CPU와 많은 용량의 메모리를 탑재임베디드 리눅스 등의 임베디드 운영체제를 탑재하고 다양한 응용프로그램을 실행예: 스마트폰, 스마트TV, 의료장비 등

단순 임베디드 시스템저성능의 CPU와 저용량의 메모리를 탑재별도의 운영체제가 없이 제어 프로그램이 탑재예: mp3 player, 도어록, 가전장비 제어장치 등

14

Page 15: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 플랫폼 (1)“아두이노(Arduino)” 란?

오픈소스 하드웨어 프로토타입핑(prototyping) 플랫폼3 가지 의미를 내포

A physical pieceof hardware

A programmingenvironment

A community& philosophy

15

Page 16: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

Arduino Philosophy & CommunitOpen Source Physical Computing Platform

“open source hardware”open source: free to inspect & modifyphysical computing. what?

ubiquitous computing, pervasive computing, ambient intelligence, calm computing, everyware, spimes, blogjects, smart objects...

Community-builtExamples wiki (the “playground”) editable by anyoneForums with lots of helpful people

16

Page 17: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 하드웨어 (1)아두이노 플랫폼 기본 구성

17

Page 18: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 하드웨어 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 하드웨어 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 하드웨어 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 하드웨어 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 개발툴 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 개발툴 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 개발툴 (3)Host PC와 아두이노 보드 연결

24

lsusb명령어를이용하여 연결여부 확인 가능

Page 25: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 프로그램 개발 (1)아두이노 프로그램 개발 사이클

Make as many changes as you wantNot like most web programming: edit ➝ runEdit ➝ compile ➝ upload ➝ run

25

Page 26: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 프로그램 개발 (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/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 프로그램 개발 (3)예제 프로그램을 이용한 테스트

LED Blink ExampleStep #1 : Arduino Board 연결Step #2 : Arduino 프로그램 실행Step #3 : Arduino 프로그램에서의 타겟 설정

사용하는 arduino 보드 타입과 연결 포트 설정

27

Page 28: 임베디드시스템개론 - mclab.silla.ac.krmclab.silla.ac.kr/lecture/201201/es/es-arduino-lecture-01.pdf · ` ... AVR Atmega 8-bit microcontroller chip ... • 8 kByte of RAM

아두이노 프로그램 개발 (4)예제 프로그램을 이용한 테스트

Step #4 : LED Blink 예제 스케치 로딩메뉴: File Examples 1.Basics Blick

Step #5 : Compile 버튼으로 스케치 컴파일링Step #6 : Unoload 버튼으로 스케치 업로드Step #7 : 실행 결과 확인

보드 내의 led 13이 깜박이지를 확인

28