SlideShare a Scribd company logo
1 of 47
Download to read offline
2/47
CPU
(중앙 처리 장치)
<MPU>
Micro Processor Unit
<MCU>
Micro Controller Unit
CPU
ROM
RAM
I/O
Controller
3/47
4/47
* 우리가 무언가를 제어하고 싶다면 MCU를 공부해야 한다 !
5/47
6/47
7/47
- 프로세서, 프로그램 메모리, SRAM, EEPROM, I/O포트, 타이머, 워치독 타이머, ADC, DAC, UART, USART, Interrupts,
Programmable 등
8/47
*크리스탈(X-TAL)과 오실레이터
(OSC)는 수정편을 이용한 발진 소자.
크리스탈은 수정편 자체이고,
오실레이터는 발진 회로를 내장.
9/47
<I/O포트>
10/47
참고 링크
11/47
X-TAL과 OSC가 무엇인지 설명해보자.
Advanced Virtual RISC
1996년 Atmel사에서 개발한 RISC구조의 MCU.
XMEGA, megaAVR, tinyAVR 시리즈 등 6개 그룹으로 구성,
12/47
* CISC : Complex Instruction Set Computer, 복잡한 명령어를 지원하는 컴퓨터.
RISC : Reduced Instruction Set Computer, CISC구조의 CPU가 지니는 전체 명령어의 10% 정도를
지원하는 컴퓨터.
13/47
폰노이만 구조 : CPU가 프로그램을
실행하는데 주기억장치에 명령어와
데이터를 함께 저장한 후에 수행하는
방식
하버드 구조 : 프로그램 메모리와
데이터 메모리를 분리시켜서
명령어들은 프로그램 메모리에
저장하고 데이터들은 데이터 메모리에
저장한 후에 프로그램을
수행하는 방식
1. 명령어가 간단하고 동작 속도가 빠른 MCU
2. ISP(In System Programming)지원.
( ROM Writer 없이 PC에서 AVR내부의 flash(RAM)메모리로 프로그램 코드 바로 저장 )
3. Harvard Architecture으로 C언어에서 우수한 성능을 발휘 : 1 cycle에 1 instruction
( Harvard Architecture : 동시에 데이터와 명령어를 읽을 수 있는 구조방식. )
4. 막강한 각종 컴파일러가 무료로 제공. ADC, PWM, SPI 등의 고기능 손쉽게 구현 가능.
14/47
UART : 범용 비동기화 송수신기 Universal asynchronous receiver/transmitter)는 병렬 데이터의
형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종.
PIC16F688 : AVR ISP 기능 사용할 때 쓰임.
퓨즈비트 : clock 선택, 리셋 벡터 조정용.
* 크리스탈이 두 개인 이유는 다른 하나는 AVR ISP 구동용. 15/47
상세 : 링크 Datasheet 16/47
17/47
CPU에서 메모리나 입출력 기기에
데이터를 송출하거나 반대로 메모리나
입출력 기기에서 CPU에 데이터를
읽어들일 때 필요한 전송로.
이 버스는 CPU와 메모리 또는
입출력기간에 어떤 곳으로도
데이터를 전송할 수 있으므로
‘쌍방향 버스’라 한다.
AVR를 사용하기 위해
Atmel Studio라는 툴을 사용해야 함.
AVR-GCC : Linux용
WIN-AVR : Windows용 → Atmel Studio
• 디버깅 제공
• 강력한 호환성
18/47
19/47
20/47
21/47
22/47
23/47
24/47
자신이 사용하는 장비 선택
컴퓨터와 연결한 곳도 선택
25/47
ATmega128A ISP
26/47
27/47
28/47
29/47
30/47
31/47
32/47
33/47
34/47
디버깅이 왜 필요한지 말해보자.
오픈 소스 기반의 하드웨어 플랫폼 & 소프트웨어 개발환경
이탈리아 북부 전문대학교의 교수가 처음 개발.
현재는 인텔사와 협력하여 개발 중.
https://www.arduino.cc/en/Main/Products
35/47
1. 저비용 : 다른 마이크로컨트롤러 플랫폼에 비해 저렴. (35불)
2. 간단하고 명확한 프로그래밍 환경 :
-초보자 : 사용용이, 실력자 : 다양한 시도를 위한 유연성을 제공.
-소프트웨어 개발을 위한 통합개발환경(IDE) 제공.
-컴파일 된 펌웨어(특정 하드웨어 상에서 동작하는 소프트웨어)를 USB를 통해 손쉽게 업로드.
-가독성 있는 소스
3. 오픈 소스 :
-고급 프로그래머들에 의해 작성된 확장 소프트웨어 라이브러리들을 구하여 사용 가능.
-회로 설계자들이 손쉽게 자신만의 모듈을 만들고 개선 가능.
4. 확장 가능한 쉴드 : 원하는 기능을 추가가능.
5. Processing : 시각화하는 프로그램 활용 가능.
36/47
ARDUINO- Products
와이파이 탑재 쉴드
이더넷 쉴드
다양한 센서탑재 쉴드
블루투스
.
.
.
쉴드(I/O핀)을 이용하여 여러 층의 확장 기능 추가 가능
37/47
수정자
LED : 아두이노의
작동여부 알려줌
USB 커넥터
: 전원인가
콘덴서
CPU칩
:ATmega328P
쉴드 :
디지털 핀
아날로그 핀
DC잭 :
외부 전원부
RESET버튼
38/47
datasheet
39/47
아두이노를 사용하기 위해
아두이노 개발환경인 Arduino IDE를 사용해야 함.
(Windows, Mac OSX, Linux 환경에서 모두 사용 가능함.)
40/47
https://www.arduino.cc/
41/47
42/47
아두이노를 연결하면,
COMx(Arduino/Genuino Uno가 뜬다.
소스 컴파일
버튼
아두이노에
업로드 버튼
시리얼 모
니터
소스 작성하는 부분
43/47
AVR이나 Arduino를 이용하여 LED를 1초 간격으로 점멸해보자.
44/47
#include<avr/io.h> // 레지스터 이름과 레지스터 비트
이름 등이 포함된 헤더파일.
int main() //메인문 함수.
{
DDRA = 0x01;
//DDR은 입력과 출력을 결정하는 레지스터,
PA1출력으로 결정, 0b00000001과 같음.
While(1) // 반복문
{
PORTA = 0x01;
//PORT는 출력 레지스터, 1출력(HIGH)
_delay_ms(1000); //1초 딜레이 ( 실제로 딜레이 사용은
좋지 않음, 타이머/인터럽트 공부하기. )
PORTA = 0x00; //0출력
_delay_ms(1000);
}
Return 0; // int형 함수는 반환해줘야 함,
0은 함수를 종료하는 데 아무 이상 없다는 뜻.
}
//pinMode 출력으로 설정
// 반복 ( while과 같은 역할 )
// 한번만 설정하면 됨
// 3번핀 0V 출력
// 3번핀 5V 출력
// 1초 딜레이
45/47
AVR이나 ARDUINO중 관심 가는 MCU를 골라서 DATASHEET 찾아 읽어본 후,
궁금한 점 세 가지 이상 조사하기
(한글파일이나, 포스트 형식으로, 분량 자유 – 제대로 안 하면 분량 추가됨)
46/47
47/47

More Related Content

Similar to MCU(nanheekim)

김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)Ubuntu Korea Community
 
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스Seunghwa Song
 
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10Exynos4210 beginnerrev10
Exynos4210 beginnerrev10mimul
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1Jinkyoung Kim
 
윈도우 커널 익스플로잇
윈도우 커널 익스플로잇윈도우 커널 익스플로잇
윈도우 커널 익스플로잇Seungyong Lee
 
NodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYNodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYHakyong Kim
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoMario Cho
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은jieun kim
 
Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage jemin lee
 
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인Seunghwa Song
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driverjumiss
 
Hardware Virtualization
Hardware VirtualizationHardware Virtualization
Hardware VirtualizationJeSam Kim
 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part Isprdd
 
망고100 보드로 놀아보자 5
망고100 보드로 놀아보자 5망고100 보드로 놀아보자 5
망고100 보드로 놀아보자 5종인 전
 
Jetson agx xavier and nvdla introduction and usage
Jetson agx xavier and nvdla introduction and usageJetson agx xavier and nvdla introduction and usage
Jetson agx xavier and nvdla introduction and usagejemin lee
 
마이크로 서버 기술 동향
마이크로 서버 기술 동향마이크로 서버 기술 동향
마이크로 서버 기술 동향atelier t*h
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsJuseok Kim
 

Similar to MCU(nanheekim) (20)

김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
 
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
윈도우 커널 익스플로잇
윈도우 커널 익스플로잇윈도우 커널 익스플로잇
윈도우 커널 익스플로잇
 
Avr lecture1
Avr lecture1Avr lecture1
Avr lecture1
 
NodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYNodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIY
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은
 
Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage
 
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인
이기종 멀티코어 기반의 Open cv 응용 사례 및 효율적인 어플리케이션 디자인
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
 
Hardware Virtualization
Hardware VirtualizationHardware Virtualization
Hardware Virtualization
 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
 
망고100 보드로 놀아보자 5
망고100 보드로 놀아보자 5망고100 보드로 놀아보자 5
망고100 보드로 놀아보자 5
 
Jetson agx xavier and nvdla introduction and usage
Jetson agx xavier and nvdla introduction and usageJetson agx xavier and nvdla introduction and usage
Jetson agx xavier and nvdla introduction and usage
 
마이크로 서버 기술 동향
마이크로 서버 기술 동향마이크로 서버 기술 동향
마이크로 서버 기술 동향
 
Chapter2 ap group11
Chapter2 ap group11Chapter2 ap group11
Chapter2 ap group11
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOps
 

More from Nanhee Kim

Model compression
Model compressionModel compression
Model compressionNanhee Kim
 
Custom TTS using multi-speaker-tacotron(nanheekim)
Custom TTS using multi-speaker-tacotron(nanheekim)Custom TTS using multi-speaker-tacotron(nanheekim)
Custom TTS using multi-speaker-tacotron(nanheekim)Nanhee Kim
 
Kalman filter(nanheekim)
Kalman filter(nanheekim)Kalman filter(nanheekim)
Kalman filter(nanheekim)Nanhee Kim
 
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)Creating touch screen based loop station using rapsberry pi and qt(nanheekim)
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)Nanhee Kim
 
Book management system(nanheekim)
Book management system(nanheekim)Book management system(nanheekim)
Book management system(nanheekim)Nanhee Kim
 
ADC(nanheekim)
ADC(nanheekim)ADC(nanheekim)
ADC(nanheekim)Nanhee Kim
 
We can decide(Final)(nanheekim)
We can decide(Final)(nanheekim)We can decide(Final)(nanheekim)
We can decide(Final)(nanheekim)Nanhee Kim
 
My dream(ver2016)(nanheekim)
My dream(ver2016)(nanheekim)My dream(ver2016)(nanheekim)
My dream(ver2016)(nanheekim)Nanhee Kim
 
Control led using relay module and transistor(nanheekim)
Control led using relay module and transistor(nanheekim)Control led using relay module and transistor(nanheekim)
Control led using relay module and transistor(nanheekim)Nanhee Kim
 
Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Nanhee Kim
 
Searching algorithm(nanheekim)
Searching algorithm(nanheekim)Searching algorithm(nanheekim)
Searching algorithm(nanheekim)Nanhee Kim
 
Transfer learning of model alexnet for image classification to matlab(nanheekim)
Transfer learning of model alexnet for image classification to matlab(nanheekim)Transfer learning of model alexnet for image classification to matlab(nanheekim)
Transfer learning of model alexnet for image classification to matlab(nanheekim)Nanhee Kim
 
Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Nanhee Kim
 
Seminar 2legs robots(nanheekim)
Seminar 2legs robots(nanheekim)Seminar 2legs robots(nanheekim)
Seminar 2legs robots(nanheekim)Nanhee Kim
 
Imu sensor(nanhee_kim)
Imu sensor(nanhee_kim)Imu sensor(nanhee_kim)
Imu sensor(nanhee_kim)Nanhee Kim
 

More from Nanhee Kim (15)

Model compression
Model compressionModel compression
Model compression
 
Custom TTS using multi-speaker-tacotron(nanheekim)
Custom TTS using multi-speaker-tacotron(nanheekim)Custom TTS using multi-speaker-tacotron(nanheekim)
Custom TTS using multi-speaker-tacotron(nanheekim)
 
Kalman filter(nanheekim)
Kalman filter(nanheekim)Kalman filter(nanheekim)
Kalman filter(nanheekim)
 
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)Creating touch screen based loop station using rapsberry pi and qt(nanheekim)
Creating touch screen based loop station using rapsberry pi and qt(nanheekim)
 
Book management system(nanheekim)
Book management system(nanheekim)Book management system(nanheekim)
Book management system(nanheekim)
 
ADC(nanheekim)
ADC(nanheekim)ADC(nanheekim)
ADC(nanheekim)
 
We can decide(Final)(nanheekim)
We can decide(Final)(nanheekim)We can decide(Final)(nanheekim)
We can decide(Final)(nanheekim)
 
My dream(ver2016)(nanheekim)
My dream(ver2016)(nanheekim)My dream(ver2016)(nanheekim)
My dream(ver2016)(nanheekim)
 
Control led using relay module and transistor(nanheekim)
Control led using relay module and transistor(nanheekim)Control led using relay module and transistor(nanheekim)
Control led using relay module and transistor(nanheekim)
 
Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)
 
Searching algorithm(nanheekim)
Searching algorithm(nanheekim)Searching algorithm(nanheekim)
Searching algorithm(nanheekim)
 
Transfer learning of model alexnet for image classification to matlab(nanheekim)
Transfer learning of model alexnet for image classification to matlab(nanheekim)Transfer learning of model alexnet for image classification to matlab(nanheekim)
Transfer learning of model alexnet for image classification to matlab(nanheekim)
 
Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)
 
Seminar 2legs robots(nanheekim)
Seminar 2legs robots(nanheekim)Seminar 2legs robots(nanheekim)
Seminar 2legs robots(nanheekim)
 
Imu sensor(nanhee_kim)
Imu sensor(nanhee_kim)Imu sensor(nanhee_kim)
Imu sensor(nanhee_kim)
 

MCU(nanheekim)

  • 1.
  • 3. CPU (중앙 처리 장치) <MPU> Micro Processor Unit <MCU> Micro Controller Unit CPU ROM RAM I/O Controller 3/47
  • 5. * 우리가 무언가를 제어하고 싶다면 MCU를 공부해야 한다 ! 5/47
  • 7. 7/47 - 프로세서, 프로그램 메모리, SRAM, EEPROM, I/O포트, 타이머, 워치독 타이머, ADC, DAC, UART, USART, Interrupts, Programmable 등
  • 8. 8/47 *크리스탈(X-TAL)과 오실레이터 (OSC)는 수정편을 이용한 발진 소자. 크리스탈은 수정편 자체이고, 오실레이터는 발진 회로를 내장.
  • 12. Advanced Virtual RISC 1996년 Atmel사에서 개발한 RISC구조의 MCU. XMEGA, megaAVR, tinyAVR 시리즈 등 6개 그룹으로 구성, 12/47 * CISC : Complex Instruction Set Computer, 복잡한 명령어를 지원하는 컴퓨터. RISC : Reduced Instruction Set Computer, CISC구조의 CPU가 지니는 전체 명령어의 10% 정도를 지원하는 컴퓨터.
  • 13. 13/47 폰노이만 구조 : CPU가 프로그램을 실행하는데 주기억장치에 명령어와 데이터를 함께 저장한 후에 수행하는 방식 하버드 구조 : 프로그램 메모리와 데이터 메모리를 분리시켜서 명령어들은 프로그램 메모리에 저장하고 데이터들은 데이터 메모리에 저장한 후에 프로그램을 수행하는 방식
  • 14. 1. 명령어가 간단하고 동작 속도가 빠른 MCU 2. ISP(In System Programming)지원. ( ROM Writer 없이 PC에서 AVR내부의 flash(RAM)메모리로 프로그램 코드 바로 저장 ) 3. Harvard Architecture으로 C언어에서 우수한 성능을 발휘 : 1 cycle에 1 instruction ( Harvard Architecture : 동시에 데이터와 명령어를 읽을 수 있는 구조방식. ) 4. 막강한 각종 컴파일러가 무료로 제공. ADC, PWM, SPI 등의 고기능 손쉽게 구현 가능. 14/47
  • 15. UART : 범용 비동기화 송수신기 Universal asynchronous receiver/transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종. PIC16F688 : AVR ISP 기능 사용할 때 쓰임. 퓨즈비트 : clock 선택, 리셋 벡터 조정용. * 크리스탈이 두 개인 이유는 다른 하나는 AVR ISP 구동용. 15/47
  • 16. 상세 : 링크 Datasheet 16/47
  • 17. 17/47 CPU에서 메모리나 입출력 기기에 데이터를 송출하거나 반대로 메모리나 입출력 기기에서 CPU에 데이터를 읽어들일 때 필요한 전송로. 이 버스는 CPU와 메모리 또는 입출력기간에 어떤 곳으로도 데이터를 전송할 수 있으므로 ‘쌍방향 버스’라 한다.
  • 18. AVR를 사용하기 위해 Atmel Studio라는 툴을 사용해야 함. AVR-GCC : Linux용 WIN-AVR : Windows용 → Atmel Studio • 디버깅 제공 • 강력한 호환성 18/47
  • 19. 19/47
  • 20. 20/47
  • 21. 21/47
  • 22. 22/47
  • 23. 23/47
  • 24. 24/47 자신이 사용하는 장비 선택 컴퓨터와 연결한 곳도 선택
  • 26. 26/47
  • 27. 27/47
  • 28. 28/47
  • 29. 29/47
  • 30. 30/47
  • 31. 31/47
  • 32. 32/47
  • 33. 33/47
  • 35. 오픈 소스 기반의 하드웨어 플랫폼 & 소프트웨어 개발환경 이탈리아 북부 전문대학교의 교수가 처음 개발. 현재는 인텔사와 협력하여 개발 중. https://www.arduino.cc/en/Main/Products 35/47
  • 36. 1. 저비용 : 다른 마이크로컨트롤러 플랫폼에 비해 저렴. (35불) 2. 간단하고 명확한 프로그래밍 환경 : -초보자 : 사용용이, 실력자 : 다양한 시도를 위한 유연성을 제공. -소프트웨어 개발을 위한 통합개발환경(IDE) 제공. -컴파일 된 펌웨어(특정 하드웨어 상에서 동작하는 소프트웨어)를 USB를 통해 손쉽게 업로드. -가독성 있는 소스 3. 오픈 소스 : -고급 프로그래머들에 의해 작성된 확장 소프트웨어 라이브러리들을 구하여 사용 가능. -회로 설계자들이 손쉽게 자신만의 모듈을 만들고 개선 가능. 4. 확장 가능한 쉴드 : 원하는 기능을 추가가능. 5. Processing : 시각화하는 프로그램 활용 가능. 36/47
  • 37. ARDUINO- Products 와이파이 탑재 쉴드 이더넷 쉴드 다양한 센서탑재 쉴드 블루투스 . . . 쉴드(I/O핀)을 이용하여 여러 층의 확장 기능 추가 가능 37/47
  • 38. 수정자 LED : 아두이노의 작동여부 알려줌 USB 커넥터 : 전원인가 콘덴서 CPU칩 :ATmega328P 쉴드 : 디지털 핀 아날로그 핀 DC잭 : 외부 전원부 RESET버튼 38/47
  • 40. 아두이노를 사용하기 위해 아두이노 개발환경인 Arduino IDE를 사용해야 함. (Windows, Mac OSX, Linux 환경에서 모두 사용 가능함.) 40/47
  • 42. 42/47
  • 43. 아두이노를 연결하면, COMx(Arduino/Genuino Uno가 뜬다. 소스 컴파일 버튼 아두이노에 업로드 버튼 시리얼 모 니터 소스 작성하는 부분 43/47
  • 44. AVR이나 Arduino를 이용하여 LED를 1초 간격으로 점멸해보자. 44/47
  • 45. #include<avr/io.h> // 레지스터 이름과 레지스터 비트 이름 등이 포함된 헤더파일. int main() //메인문 함수. { DDRA = 0x01; //DDR은 입력과 출력을 결정하는 레지스터, PA1출력으로 결정, 0b00000001과 같음. While(1) // 반복문 { PORTA = 0x01; //PORT는 출력 레지스터, 1출력(HIGH) _delay_ms(1000); //1초 딜레이 ( 실제로 딜레이 사용은 좋지 않음, 타이머/인터럽트 공부하기. ) PORTA = 0x00; //0출력 _delay_ms(1000); } Return 0; // int형 함수는 반환해줘야 함, 0은 함수를 종료하는 데 아무 이상 없다는 뜻. } //pinMode 출력으로 설정 // 반복 ( while과 같은 역할 ) // 한번만 설정하면 됨 // 3번핀 0V 출력 // 3번핀 5V 출력 // 1초 딜레이 45/47
  • 46. AVR이나 ARDUINO중 관심 가는 MCU를 골라서 DATASHEET 찾아 읽어본 후, 궁금한 점 세 가지 이상 조사하기 (한글파일이나, 포스트 형식으로, 분량 자유 – 제대로 안 하면 분량 추가됨) 46/47
  • 47. 47/47