아두이노? 2005년 이탈리아 이브레아에서 예술가와 디자이너를 위한 마이크로컨트롤러 프로젝트로 시작 아두이노는

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved. 제 10 강.
Youn-Hee Han, In-Seok Kang {yhhan, Laboratory of Intelligent Networks Advanced Technology Research Center Korea University of Technology.
KAIST 공학스쿨. KAIST 공학스쿨 스펀지 조이스틱 아이패드용 아날로그 조이스틱 KAIST 공학스쿨 관련동영상 시청.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
Progress Report YoonMo Yeon
7. 스마트 폰으로 아두이노 제어하기 기능을 확장하기 위한 다양한 종류의 쉴드 보드 적층형 구조 블루투스나 WiFi 쉴드
컴퓨터와 인터넷.
                                  9장 컴퓨터 기반 데이터 수집의 기초.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
Image & Video processing
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
아두이노 센서의 연결 디지털 및 아날로그 센서값의 특징 디지털 센서 핀 구조 및 연결하기 아날로그 센서 핀 구조 및 연결하기
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
아두이노 기반 펌웨어 개발 FUTURE INNOVATOR 강사: 김 영 준 ㈜헬로앱스
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
장 비 사 양 서 제품특징 제품사양 제조국 브랜드 AVID 모 델 E3 품 명 DIGITAL AUDIO MIXER
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
갤럭시 S를 이용한 자동차 원격 제어 시스템 담당교수 : 진현욱 교수님
ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 개발환경 구축
Windows 8 Ksystem G&I 설치.
Pincom Study team ARDUINO of IOT Members : 이학성, 김도건.
독립형 모션제어기 사양 - Catalog (optional) XMC-PO04-MOD
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
2. 아두이노의 개발환경 만들기 - 스마트 폰으로 제어하는 아두이노 -.
아두이노 프로그래밍 1일차 – Part1 소개 및 준비 강사: 김영준 목원대학교 겸임교수.
DK-128 ADC 실습 아이티즌 기술연구소
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
ARM Development Suite v1.2
타이머카운터 사용법 휴먼네트웍스 기술연구소
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
마이크로컨트롤러, 마이크로컨트롤러 보드 마이크로컨트롤러 보드 = 마이크로컨트롤러 +  마이크로컨트롤러 마이크로컨트롤러 보드.
보광병원 마취통증의학과장 양재영 아두이노를 이용한 . 나만의 온습도계 만들기 보광병원 마취통증의학과장 양재영
Arduino 101 using NodeJS Korea University of Technology and Education
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
NodeMCU를 이용한 SmartPot 제작
아두이노 개발 준비하기 목차 아두이노 소개 개발툴 다운로드 및 USB 드라이버 설치하기 브레드 보드 기본 활용.
Method & library.
5. 아두이노로 LED와 스위치 제어하기 - 스마트 폰으로 제어하는 아두이노 -.
아두이노 프로그래밍 5일차 – Part2 아두이노 보드간 통신 강사: 김영준 목원대학교 겸임교수.
제품명 제품설명 제품규격 CPU: STM32F103VCT6-LQFP 100 Pin 256KB FLASH 48KB RAM
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
PSD센서 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 PSD센서 명령어 이해 및 실습 응용 작품 만들기.
클라우드 서버로 사용자 데이터 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
아두이노 연결하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
ATmega128의 특징 아이티즌 기술연구소
빌드 성공.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
창의 설계 가이드 (모터 프로그래밍 및 테스트)
농구 로봇 따라해 보기.
9 브라우저 객체 모델.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
제품명 제품설명 제품규격 CPU: STM32F103VCT6-LQFP 100 Pin 256KB FLASH 48KB RAM
인하공업전문대학 (2018-2학기) ATmega128 마이크로 프로세서 정보통신과 박기식 교수.
Presentation transcript:

아두이노? 2005년 이탈리아 이브레아에서 예술가와 디자이너를 위한 마이크로컨트롤러 프로젝트로 시작 아두이노는 2005년 이탈리아 이브레아에서 예술가와 디자이너를 위한 마이크로컨트롤러 프로젝트로 시작 아두이노는 하드웨어(아트멜의 AVR 시리즈 마이크로컨트롤러)와 소프트웨어(프로그램 개발을 위한 전용 라이브러리를 포함하는 개발 환경)를 함께 지칭 아두이노 하드웨어는 마이크로컨트롤러 보드의 일종임 아두이노 보드라고도 함 마이크로컨트롤러(AVR uC) + 커넥터 +  아두이노의 하드웨어와 소프트웨어는 모두 오픈 소스 정책에 따라 공개되어 있음

아두이노 우노

아두이노 보드의 종류 – 핀 헤더 유무 핀 헤더 있음 : 교육&개발 핀 헤더 없음 : 제품 적용 ATmega328 ATmega32u4 나노 마이크로

특수 목적용 아두이노 보드 릴리패드 : 웨어러블 제작 에스플로라 : 센서 및 입력 장치 포함 메가ADK : 안드로이드 액세서리 개발 로봇 : 주행장치 개발

동일한 핀 배열 : 공통 확장 보드인 ‘쉴드’ 제작 가능 아두이노 우노와 아두이노 메가2560 메가2560의 확장 핀 배열 : 우노에 비해 추가 기능 제공 동일한 핀 배열 : 공통 확장 보드인 ‘쉴드’ 제작 가능

쉴드 (Shield) 아두이노 보드의 기능 확장을 위한 하드웨어 다양한 아두이노의 공식 쉴드 및 써드 파티 업체의 호환 쉴드 존재 호환 쉴드는 아두이노의 오픈 하드웨어 정책에 따라 가능 와이파이 쉴드 USB 호스트 쉴드

아두이노 보드의 종류 – uC의 종류 아두이노 마이크로컨트롤러 아키텍처 CPU 비트 수 우노 ATmega328 AVR 8 레오나르도 ATmega32u4 메가2560 ATmega2560 제로 ATSAMD21G18 ARM Cortex M0+ 32 듀에 AT91SAM3X8E ARM Cortex M3

AVR 기반 아두이노 보드 항목 우노 레오나르도 메가2560 uC ATmega328 ATmega32u4 ATmega2560 클록 16MHz 핀 수 28 44 100 디지털 입출력 핀 수 14 18(12) 54 아날로그 입력 핀 수 6 6(12) 16 입출력 핀 수 20 24 70 PWM 채널 수 7 15 플래시 메모리 32KByte 256KByte SRAM 2KByte 2.5KByte 8KByte EEPROM 1KByte 4KByte

아두이노 우노 아두이노 보드 중 가장 기본이 되는 보드 8비트 CPU 포함 20개의 디지털 입출력 핀 사용 가능 0번에서 19번까지 핀 단위의 번호 지정 6개의 핀으로 PWM 신호 출력 가능 3, 5, 6, 9, 10, 11번 핀 6개의 아날로그 입력 핀 사용 가능 14번에서 19번까지의 디지털 입력 핀과 동일 10비트 ADC 사용 (0~1023의 양자화된 값) DAC는 포함되어 있지 않으므로 아날로그 값 출력은 불가능 아두이노 메가2560은 디지털/아날로그 핀의 수만 다르고 기본적인 기능은 아두이노 우노와 동일

아두이노 우노 사양 항목 내용 비고 마이크로컨트롤러 ATmega328 ATmega328P-PU 동작 전압 5V - 입력 전압 추천 입력 범위 디지털 입출력 핀 14개 6개 PWM 출력 핀 (3, 5, 6, 9, 10, 11번 핀) 아날로그 입력 핀 6개 14번에서 19번까지의 디지털 핀 플래시 메모리 32KB ATmega328, 부트로더 0.5KB SRAM 2KB EEPROM 1KB 클록 주파수 16MHz

(1) IDE 다운로드 : www.arduino.cc (2) 인스톨러 실행 (1) IDE 다운로드 : www.arduino.cc

아두이노 IDE 설치 – 2 (3) 설치 디렉터리 지정 (5) 아두이노 보드 연결 : 가상 COM 포트 자동 설정 (4) 아두이노 보드 드라이버 자동 설치

아두이노 IDE 작고 간단한 통합개발환경 초보자를 위해 꼭 필요한 기능들만으로 구성 초보자를 위해 꼭 필요한 기능들만으로 구성 한 번의 클릭으로 컴파일에서 업로드까지 진행 Java로 구현되어 OS 간 이식성이 뛰어남 디버깅 기능은 제공하지 않음

아두이노 스타일 : 모든 아두이노 보드에서 동일함 아두이노 SW 장점 – 추상화된 함수 서로 다른 uC를 사용한 아두이노 보드를 동일한 코드로 동일한 동작을 구현할 수 있도록 해줌 ATmega2560의 Blink DDRB |= 0x80; PORTB |= 0x80; 아두이노 메가2560과 아두이노 우노의 Blink pinMode(13, OUTPUT); digitalWrite(13, HIGH); ATmega328의 Blink DDRB |= 0x20; PORTB |= 0x20; AVR 스타일 : 컨트롤러에 따라 약간씩 차이가 있음 아두이노 스타일 : 모든 아두이노 보드에서 동일함

아두이노 SW 장점 – 라이브러리 주변장치 또는 uC의 특정 기능을 위한 전용의 C++ 스타일 라이브러리 대부분의 아두이노 보드에서 사용 가능 AVR 시리즈 uC를 사용한 보드에 비해 ARM Cortex-M 시리즈 uC를 사용한 보드는 호환성이 떨어짐 라이브러리별로 디렉터리 관리 라이브러리 디렉터리에는 소스(*.cpp) 및 헤더(*.h) 파일을 포함하는 디렉터리와 예제 디렉터리가 포함 라이브러리의 종류 기본 라이브러리 : 아두이노 IDE와 함께 기본적으로 설치 확장 라이브러리 : 개별적으로 설치

라이브러리 설치 디렉터리 기본 라이브러리 확장 라이브러리 아두이노 설치 디렉터리 아래 ‘libraries’ 디렉터리에 설치 라이브러리 설치 디렉터리 기본 라이브러리 확장 라이브러리 아두이노 설치 디렉터리 아래 ‘libraries’ 디렉터리에 설치 설치 디렉터리가 ‘C:\Arduiuno’인 경우 ‘C:\Arduino\libraries’ 스케치북 디렉터리 아래 ‘libraries’ 디렉터리에 설치 스케치북 디렉터리는 ‘파일 → 환경 설정’에서 확인 스케치북 디렉터리가 ‘D:\Arduino’인 경우 ‘D:\Arduino\libraries’

첫 번째 아두이노 프로그램 아두이노에서 프로그램은 그림을 그리듯 쉽게 작성할 수 있다는 의미에서 ‘스케치(sketch)’라 불림 블링크 (Blink) 스케치 13번 핀의 LED를 1초 간격으로 점멸하는 스케치 C 언어에서의 ‘Hello World’에 해당 ‘파일 → 예제 → 01.Basics → Blink’ 선택

프로그램 업로드를 위한 설정 1 아두이노 보드 선택 사용하고자 하는 보드를 선택 ‘도구 → 보드’ 메뉴에서 ‘Arduino/Genuino Mega or Mega 2560’ 선택

프로그램 업로드를 위한 설정 2 프로세서 선택 선택한 보드가 서로 다른 uC로 만들어진 버전이 존재하는 경우 해당 uC 선택 ‘도구 → 프로세서’ 메뉴에서 ‘ATmega2560’ 선택

프로그램 업로드를 위한 설정 3 포트 선택 아두이노 보드에 할당된 가상 COM 포트 선택 ‘도구 → 포트’ 메뉴에서 해당 포트 선택 아두이노 보드에 할당된 포트는 장치관리자에서 확인

프로그램 업로드 툴바 사용 확인 : 스케치 컴파일 업로드 : 스케치 컴파일 및 생성된 기계어 파일을 uC로 업로드 → 한 번의 클릭으로 업로드까지 진행 시리얼 모니터 : 컴퓨터와의 데이터 송수신을 위한 프로그램 실행

시리얼 모니터 가상 COM 포트 시리얼 모니터 사용 예 프로그램 업로드를 위한 통로로 사용 컴퓨터와의 UART 시리얼 통신을 위한 통로로 사용 → ‘시리얼 모니터’를 통해 확인 가능 시리얼 모니터 사용 예 ‘파일 → 예제 → 04.Communication → ASCIITable’ 선택 ‘업로드’ 버튼으로 스케치 컴파일 및 업로드 툴바의 ‘시리얼 모니터’ 버튼으로 시리얼 모니터 실행 및 결과 확인

스케치의 구조 스케치는 C/C++을 기반으로 함 main 함수는 존재하지 않음 2개의 기본 함수로 구성 setup 함수 초기화 함수 스케치 실행이 시작될 때 한 번만 실행 loop 함수 반복 실행 함수 uC를 위한 프로그램에서 메인/이벤트 루프에 해당

스케치의 구조 비교 uC를 위한 프로그램의 구조 아두이노를 위한 스케치의 구조

맺는말 아두이노는 비전공자들을 위한 마이크로컨트롤러 플랫폼 표준화되고 공개된 하드웨어와 소프트웨어 간단한 사용을 위한 최소한의 기능 제공 지속적인 개선과 기능 추가 확장 라이브러리를 통한 소프트웨어 확장 쉴드를 통한 하드웨어 확장 C/C++ 언어 기반의 스케치