Scratch for Arduino 리아텍대표김성필 1
강사소개 김성필 이력 리아텍대표 (2014.11 ~ 현재 ) 시소드림기술고문 ICT폴리텍대학 ( 구, 한국정보통신기능대학 ) 교수 학력 박사 한국외국어대학교 - 컴퓨터및정보통신공학과정보통신전공 석사 한국외국어대학교 - 전자 제어공학과제어계측전공 학사 한국외국어대학교 - 디지털정보공학과 산업학사 인덕대학, 전자과 저서 네이버 아두이노배우기 카페운영자 http://cafe.naver.com/stduyonarduino 2015 년도강의경력 따라하다보면알게되는아두이노배우기 복두출판사 아두이노를위한스크래치배우기, 복두출판사 2
학습목차 1. 스크래치와아두이노소개 2. Scratch for Arduino와아두이노연동 3. 디지털신호 4. 아날로그신호를디지털숫자로변경 5. 센서활용조도센서 현관등만들기거리센서 - 주차안내시스템만들기 6. 모터서보모터 자동개폐시스템만들기 학습목표 7. LED 밝기조절 8. 스프라이트움직이기 9. 블루투스 이동로봇제어 3
원시시대의교육 윈시시대의교육 원시시대의학교교육 의 가죽으로옷만들기 식 수렵, 채집, 사냥 주 풀이나흙으로집만들기 미래를위한오늘의교육 다양한분야에걸친교육 IT 분야 소프트웨어 (coding) 교육 4
프로그래밍 vs. 프로그램 프로그래밍또는코딩 (Coding) 컴퓨터프로그램을작성하는일 ( 컴퓨터 ) 프로그램 컴퓨터에게시킬일을적어놓은목록 컴퓨터언어 일종의언어 생각이나감정을주고받기위한도구 ( 기호 ) 컴퓨터가알아들을수있는언어 ( 기호 ) 5
과거프로그래밍교육 ( 컴퓨터 ) 프로그램 컴퓨터에게시킬일을적어놓은목록 컴퓨터언어 컴퓨터가알아들을수있는언어 ( 기호 ) 예 ) BASIC, C,. Java 과거프로그래밍교육 문법위주 예 ) C 언어프로그램교육 자료형 ( 변수 ) 연산자 입출력문 (printf) 제어문 (for, while) 조건문 (if, if~else) 배열 포인터 구조체 6
과거프로그래밍교육의문제점 영어학습의목표및목표달성방법 목표 - 외국인과의사소통 어법 ( 문법 ) 이다소틀려도대화가능 목표달성방법 회화 ( 대화 ) 연습 컴퓨터언어학습의목표및목표달성방법 목표 - 업무지시서인프로그램작성 문법이하나로도틀리면대화불가능 목표달성방법 문법공부? 어린이의언어학습과정 문법위주? 바디랭귀지 말을배우고 어법에상관없이지속적인대화시도 대화가가능해진이후에 올바른표현 ( 어법, 문법 ) 습득 컴퓨터언어학습인프로그래작성교육단계는? 7
프로그램작성교육방법 흥미유발및동기부여 스크래치를이용해서소리, 동작등을제어하는프로그램작성을통해흥미부여 아두이노를이용하여실세계와상호작용하는프로그램작성을통해흥미증진 주변밝기, 온도, 소리, 움직임등을감지하고물리적인반응을보이는결과물기대 쉽고직관적인프로그래밍 스크래치 를이용하여문법에대한부담없이직관적인프로그래밍가능 아두이노 를이용하여쉽게전자회로를활용한프로그램작성가능 프로그램완성후의성취감 직관적인프로그래밍으로인해쉽게프로그램완성 성취감 8
Scratch For Arduino(S4A) 소개 Scratch( 스크래치 ) 프로그래밍에입문하는 10 대를교육하기위해 MIT 에서만든툴 ( 소프트웨어 ) 문자로프로그램을작성하는것이아니라블록조합형태로프로그램작성 void loop() { int sensorvalue = analogread(a0); if (sensorvalue <400 ) { digitalwrite(10, HIGH); } else { digitalwirte(10, LOW); } } Scratch for Arduino(S4A) 기존 Scratch에아두이노관련블록추가 Scratch 2.0 기존 Scratch에아두이노관련블록추가 Scratch for Arduino vs. Scratch 2.0 아두이노보드에대한이해요구도차이. 9
아두이노소개 마이크로컨트롤러 (microcontroller unit, MCU) 마이크로프로세서 (microprocessor, CPU) 와주변여러장치를하나의칩으로구성 microprocessor(cpu) 주변여러장치 - memory - 직렬통신장치 (UART) - 아날로그신호를디지털부호로변경하는장치 (ADC) - 시간을측정할수있는장치 (Timer) - 통신을지원하는장치 (SPI, I2C) - 등 10
아두이노소개 아두이노란? 소형컴퓨터 : 마이크로컨트롤러 (MCU) 보드 키보드, 모니터를연결하지않은컴퓨터 운영체제 ( 예, 윈도우 ) 가없는컴퓨터 아두이노보드 & 통합개발환경 아두이노보드하드웨어공개 - 하드웨어를다양한형태로자유롭게변형이가능함 - 클론보드 ( 복제보드 ) 를제작해도문제가되지않음 통합개발환경코드공개 다양한성능의아두이노보드제공 개발 ( 사용 ) 이편리함 저렴한가격 다양한 OS 지원 : Windows, Mac OS, Linux < 출처 5> 11
아두이노소개 아두이노란? 아두이노의조상 보드 : Wiring(http://wiring.org.co) 통합개발환경 : Processing(http://www.processing.org) [Wiring] [Processing] 12
아두이노소개 아두이노 ( 보드 ) 개발목적 쉬운개발환경을제공하여전문교육을받지않은일반인도쉽게프로그래밍이가능하도록하기위함 < 출처 8> 13
아두이노소개 아두이노 ( 보드 ) 개발목적 쉬운개발환경을제공하여전문교육을받지않은일반인도쉽게프로그래밍이가능하도록하기위함 [ 네이버 소프트웨어야놀자 ] < 출처 9> 14
아두이노소개 아두이노 ( 보드 ) 개발목적 아두이노 vs. 라즈베리파이 아두이노 개발목적 - 일반인도쉽게사용 라즈베리파이 개발목적 - 컴퓨터교육을시키기위해 15
아두이노소개 아두이노보드외형비교 공간을차지하는정도 외부충격에대한내구성정도 [Arduino UNO dip] [Arduino UNO smd] 16
아두이노소개 아두이노제품 [Arduino UNO] Atmega328 MCU - CPU - Memory For Program For Data - ADC - UART - Timer - Etc USB Controller Regulator < 출처 13> 17
아두이노소개 아두이노프로그래밍툴 LabVIEW : 그래픽기반프로그래밍언어 18
아두이노소개 아두이노프로그래밍툴 Scratch for Arduino(S4A) : 그래픽기반프로그래밍언어 19
아두이노소개 하드웨어 다양한여러종류 ( 기능 ) 의아두이노보드가존재함 1 Atmel 의 MCU 가탑재된보드 아두이노우노, 아두이노미니, 아두이노메가등 20
아두이노소개 하드웨어 다양한여러종류 ( 기능 ) 의아두이노보드가존재함 2 ARM Cortex M3 가탑재된보드 아두이노듀에 < 출처 17> 21
아두이노소개 하드웨어 다양한여러종류 ( 기능 ) 의아두이노보드가존재함 3 아두이노호환보드 Microchip Intel < 출처 18> < 출처 19> 22
정품보드 vs. 클론보드 클론보드 정품과동일한회로 ( 하드웨어 ) 형태 정품 출시당시의최신펌웨어내장 클론 구형펌웨어가내장된경우가있음 - 일반적인상황에서는문제가되지않으나특수한상황에서정품이가지고있는기능을지원하지않음 정품과일부회로 ( 하드웨어 ) 가다른형태 USB-to-Serial 변환하드웨어가다름 컴퓨터에연결했을때 Arduino 라고인식되지않음 클론보드를인식하기위해특정프로그램을설치해야함 23
Scratch for Arduino 설치 Scratch for Arduino 공식홈페이지 (http://s4a.cat) 접속 Downloads 클릭 ( 선택 ) Install S4A into your Computer 사용하고계신운영체제가윈도우일경우 - Windows 클릭 24
Scratch for Arduino 실행화면 S4A 실행화면구성 블록팔레트, 스프라이트영역, 무대, 스프라이트목록 1 블록팔레트 2 스프라이트영역 3 무대 4 스프라이트목록 25
스프라이트 스프라이트 무대에나타남 제어대상 세가지로구성됨 1 모양 스크립트 스프라이트의행동을지시하는표현 2 소리 3 스크립트 26
스크래치맛보기 소리관련블록동작 1 스프라이트목록에서 Arduino1 스프라이트클릭 ( 선택 ) 2 마우스우클릭 삭제선택 3 블록팔레트상단에보이는소리버튼클릭 4 클릭 5 클릭 6 위두블록을스크립트영역으로옮김 7 (4), (5) 번실행 27
스크래치맛보기 소리관련블록동작 1 블록과 블록을붙입니다. 2 두블록이결합되어있는블록결합체를클릭합니다. 28
스크래치맛보기 제어관련동작 반복 n회, 무한반복 1 블록팔레트상단에보이는소리버튼클릭 2 을스크립트영역으로옮김 3 블록팔레트상단에보이는제어버튼을클릭 4 반복 10회 블록을스크립트영역으로옮겨서그림과같이만듬 주어진횟수만큼반복 5 위블록을클릭 6 무한반복 블록을이용하여아래와같이스크립트를만듬 7 위블록을클릭 블록을무한히반복한다. 8 다시블록을클릭 종료 29
스크래치맛보기 제어관련동작 반복 n 회 10 회반복하는지세보세요. 주어진횟수만큼반복 30
스크래치맛보기 형태관련동작 1 스프라이트목록의메뉴버튼에서 2 Animals 폴더에서 parrot1-a 더블클릭 3 스프라이트의모양탭클릭 4 가져오기버튼클릭 5 Animals 폴더에서 parrot1-b 더블클릭 클릭 31
스크래치맛보기 형태관련동작 1 스프라이트의스크립트탭클릭 2 스크립트작성 1 블록팔레트상단의형태버튼클릭 2 블록 2개를스크립트영역으로옮김 3 블록팔레트상단의제어버튼클릭 4 무한반복 블록 1개와 1초기다리기 블록을스크립트영역으로 5 아래와같이스크립트작성 32
S4A 와 Arduino 보드연동 Scratch for Arduino 스크래치로작성한스크립트프로그램은컴퓨터에서실행 스크립트 컴퓨터가할일을적어놓은목록 스크립트로아두이노에게일을시킨다? 스크립트를아두이노에게전달할방법이없음. 따라서컴퓨터를통해서전달 아두이노에게이런저런일을하라고전해줘 스크립트 컴퓨터가할일을적어놓은목록 Program for Arduino 컴퓨터로부터전달받은지시사항을수행 지시사항수행결과및기타정보를컴퓨터에게보고 S4AFirmware16.ino S4AFirmware 33
S4A 와 Arduino 보드연동 컴퓨터 { Scratch for Arduino(S4A) } Arduino { S4AFirmware } 유선 : USB 케이블 무선 : 예 ) Bluetooth S4Airmware 34
S4A 와 Arduino 보드연동 아두이노통합개발환경설치 아두이노홈페이지 (arduino.cc) 접속 : download 선택 35
S4A 와 Arduino 보드연동 통합개발환경 1.6.x 설치 download the arduino software : windows installer 선택 windows ZIP file for non admin install은클릭금지 클릭 O 클릭 X 36
S4A 와 Arduino 보드연동 통합개발환경 1.0.x 설치 PREVIOUS RELEASES previous version of the current release 클릭 37
S4A 와 Arduino 보드연동 통합개발환경 1.0.x 설치 download the arduino software : windows installer 선택 windows ZIP file for non admin install은클릭금지 클릭 O 클릭 X 설치과정에서옵션을변경하지말고진행해야함 38
S4A 와 Arduino 보드연동 1 아두이노보드를 USB 케이블을이용해서컴퓨터에연결 컴퓨터에는이미아두이노통합개발환경이설치되었다고가정함 2 장치관리자에서아두이노보드확인 자동인식되지않은경우수동으로드라이브를설치해야함 - 아두이노통합개발환경실행파일이있는폴더아래에 drivers 라는폴더에있음 39
S4A 와 Arduino 보드연동 3 아두이노통합개발환경 (IDE) 실행 보드설정 : 아두이노보드선택 포트설정 : 보드가연결된포트선택 ( 장치관리자참고 ) 40
S4A 와 Arduino 보드연동 아두이노통합개발환경메뉴설명 1 2 3 4 5 6 1 컴파일 4 열기 2 업로드 5 저장 - 작성된코드에대한에러검사 6 시리얼모니터실행 3 - 에러가없을경우보드로업로드새파일 - 직렬포트로데이터를송 수신하는프로그램을실행함 41
S4A 와 Arduino 보드연동 개발환경설치확인 Blink 예제 ( 열기 )/01.Basic/Blink 아이콘그림 ( 업로드 ) - 아두이노보드의 13번핀에연결된황색 LED가깜빡임 42
S4A 와 Arduino 보드연동 S4A와연동을위한프로그램을아두이노에설치 S4AFirmware.ino 파일다운로드 S4A 공식홈페이지 (http://s4a.cat) 접속 Downloads 클릭 43
S4A 와 Arduino 보드연동 S4A와연동을위한프로그램을아두이노에설치 Installing the Firmware into your Arduion 1 here 클릭 S4AFirmware16.ino 파일다운로드 2 S4A 프로그램종료후아두이노통합개발환경실행 3 S4AFirmware16.ino 파일을아두이노보드에업로드 44
S4A 와 Arduino 보드연동 S4A 와연동을위한프로그램을아두이노에설치 1 here 클릭 S4AFirmware16.ino 파일다운로드 2 S4A 프로그램종료후아두이노통합개발환경실행 3 S4AFirmware16.ino 파일을아두이노보드에업로드 4 아두이노통합개발환경종료 5 S4A 실행후기다림 1 S4A 와아두이노보드의 S4AFirmware 프로그램이통신을시작하는데컴퓨터기종에따라수초에서 10 여초소요 무대에서 보드검색중 사라짐. 45
Snowboard basic kit 소개 아두이노보드를활용하기위한실습회로구성 전자부품에대한이해 전자회로에대한이해 브레드보드활용 46
Snowboard basic kit 소개 스노우보드기초키트 1 아두이노우노 ( 정품 ) + 스노우보드 (Snowboard) 아두이노보드와주변모듈의결선을쉽게할수있도록설계된 I/O 보드블루투스통신을이용하여무선으로아두이노보드를제어할수있음. 2 슬라이드가변저항 (Slide potentiometer) 3 저항측정기모듈 (Clip) 4 조도센서모듈 (CdS) 5 온도센서모듈 (Temp.) 6 기울어짐센서모듈 (Tilt SW) 7 번튼스위치 (Button Sw) x 2 8 부저모듈 (buzzer) 9 조이스틱모듈 (Joystick) 10 거리측정센서모듈 (Distance) 11 소리감지센서모듈 (MIC) 12 고휘도 LED Red, Green, Blue, Yellow, White 13 가변저항 (Potentiometer) 14 서보모터 (servo motor) 15 기타 ( 악어클립, 3 핀케이블, 4 핀케이블, USB 케이블 ) 47
Snowboard basic kit 소개 스노우보드기초키트 학습용이성 회로구성및전자회로에대한이해를요구하지않음. 관리용이성 부품관리용이 저항, LED, 부저, 버튼, 센서류등분실방지 전자부품극성을잘못연결해서파손되는경우방지 안전관리용이성 전자부품중회로를잘못구성했을때발열하는소자가있으나본키는안전하게설계되어있음 교육내용확장성 모듈형태로제작되어있음. 모듈을추가구비함으로써쉽게교육내용확장가능 제품의신뢰성 아두이노정품보드사용 국내리아텍사에서설계제조. 추가모듈 예 ) DC 모터모듈, 가속도센서모듈등 48
S4A LED 깜박이기 스노우보드구성 스노우보드뒷면에있는슬라이드스위치 U, O, D 중하나를선택할수있음. 현단계에서는받듯이 O 위치에둘것 스노우보드를아두이노보드와결합, 적층 USB 케이블로아두이노보드와컴퓨터연결 49
S4A LED 깜박이기 스노우보드구성 스노우보드 D13 번핀에 LED 모듈연결 스노우보드구성 스노우보드 D13 번핀에 LED 모듈연결 스노우보드 D12 번핀에 LED 모듈연결 스크립트작성후실행 스크립트작성후실행 50
S4A 부저로소리내기 스노우보드구성 스노우보드 D13 번핀에 LED 모듈연결 스노우보드 D12 번핀에부저모듈변경 스노우보드구성 스노우보드 D13~D10 번핀에 LED 모듈연결 스크립트작성후실행 스크립트작성후실행 51
S4A 스위치입력받기 동작개요 스위치를누르면 LED On 아니면 ( 스위치를누르지않으면 ) LED Off 스노우보드구성 스노우보드 D13번핀에 LED 모듈연결 스노우보드 D2번핀에스위치모듈연결 스크립트작성후실행 스크립트수정후실행 스크립트작성후실행 52
S4A 스위치입력받기 스노우보드구성 스노우보드 D2 번핀에스위치모듈연결 스노우보드 D3 번핀에스위치모듈연결 스크립트작성후실행 만약 < 조건 > 이만족한다면 { } 스크립트수정후실행 스크립트의모양변경 Animals 폴더에있는 dog2-b Animals 폴더에있는 dog2-c 53
Quiz 요구동작 스노우보드 D10 번핀에연결한 LED 는 2 초동안 On 그리고 2 초동안 Off 를반복수행하면서 스노우보드 D11 번핀에연결한 LED 는 D2 번핀에연결한스위치를누르면 On 누르지않으면 Off 동작을지속적으로수행 스노우보드구성 54
S4A 스위치입력받기 D10 번핀에연결한 LED 4 초주기로깜박이기 스크립트작성후실행 원하는동작을합니까? 의도한데로동작합니까? 동작이이상하다면 - 회로가잘못되었을까요? - 스크립트가잘못되었을까요? D2 번핀에연결한스위치를누르면 D11 에연결한 LED On 그리고누르지않으면 Off 55
S4A 스위치입력받기 스크립트수정후각각실행 원하는동작을합니까? 의도한데로동작합니까? 스크립트수정후 무대위에보이는녹색깃발을클릭하세요 아두이노는시킨데로합니다. 56
전류, 전압, 저항의이해 전류 흘러가는전기 전압 전기가흘러가도록밀어주는힘 전류 ( 전기의흐름 ) 를발생시키는압력 저항 전류의흐름을방해하는소자전류, 전압, 저항의관계 I R = V R / R 오옴의법칙 57
오옴의법칙 V R = I R x R I R = V R / R 저항값은일정하게유지하고전압을증가시킴 case A 배터리전압 : 3[V] 저항값 : 10[Ω] 흐르는전류는? - I R = 3[v] / 10[Ω] = 0.3[A] case B 배터리전압 : 6[V] 저항값 : 10[Ω] 흐르는전류는? - I R = 6[v] / 10[Ω] = 0.6[A] 58
오옴의법칙 V R = I R x R I R = V R / R 전압은일정하게유지하고저항값을증가시킴 case A 배터리전압 : 3[V] 저항값 : 10[Ω] 회로에흐르는전류는? - I R = V R / R = 3 / 10 = 0.3[A] case B 배터리전압 : 3[V] 저항값 : 100[Ω] 회로에흐르는전류는? - I R = V R / R = 3 / 100 = 0.03[A] 59
전압분배 V R = I R x R I R = V R / R case 1 배터리전압 : 3[V] 저항값 - R1 = 1[ohm] - R2 = 2[ohm] 회로에흐르는전류는? - I = V/R = 1[A] - I = I R1 = I R2 = 1[A] - V R1 = I R1 x R1 = 1[V] 3[v] 1[Ω] 3[v] 1[v] - V R2 = I R2 x R2 = 2[V] 2[Ω] 2[v] 60
전압분배 V R = I R x R I R = V R / R case 2 배터리전압 : 3[V] 저항값 - R1 = 2[ohm] - R2 = 1[ohm] 회로에흐르는전류는? - I = V/R = 1[A] - I = I R1 = I R2 = 1[A] - V R1 = I R1 x R1 = 2[V] 3[v] 2[Ω] 3[v] 2[v] - V R2 = I R2 x R2 = 1[V] 1[Ω] 1[v] 61
전압분배 V R = I R x R I R = V R / R case 3 배터리전압 : 3[V] 저항값 - R1 = 1.5[ohm] - R2 = 1.5[ohm] 회로에흐르는전류는? - I = V/R = 1[A] - I = I R1 = I R2 = 1[A] - V R1 = I R1 x R1 = 1.5[V] - V R2 = I R2 x R2 = 1.5[V] 3[v] 1.5[Ω] 1.5[Ω] 3[v] 1.5 [v] 1.5 [v] 62
아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 5 개의구간으로나눔 전압 4 3 2 1 0 시간 10 개구간으로나눔 전압 9 8 7 6 5 4 3 2 1 0 시간 63
아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 아날로그신호입 출력 일정전압구간을 N개로나누어서각구간별로코드를부여함 1024개구간으로구분한경우 10비트부호가필요함 아날로그신호입력전압구간을 0~5[V] 라가정했을때, 1024개의구간으로구분한경우 - 구간별전압차 : 약 0.0048828[V] = 4.9[mV] 아날로그신호범위 숫자 10비트부호표현 0 x 5 / 1024[v] 이상 ~1 x 5 / 1024[v] 미만 0 00 0000 0000 1 x 5 / 1024[v] 이상 ~2 x 5 / 1024[v] 미만 1 00 0000 0001 2 x 5 / 1024[v] 이상 ~3 x 5 / 1024[v] 미만 2 00 0000 0010 3 x 5 / 1024[v] 이상 ~4 x 5 / 1024[v] 미만 3 00 0000 0011 4 x 5 / 1024[v] 이상 ~5 x 5 / 1024[v] 미만 4 00 0000 0100 1023 x 5 / 1024[v] 이상 ~1024 x 5 / 1024[v] 미만 1023 11 1111 1111 64
아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 아날로그신호입 출력 아두이노우노의 ADC(Analog-to-Digital Converter) 아날로그신호 - 디지털부호변환 별도의설정을하지않는경우 - 0[V] 부터아두이노보드구동전압사이의전압구간을 1024개로나누어 10비트로부호화» 아두이노우노보드의구동전압은 5[V] 일때 0~5[V] 사이를 1024개로나누어 10비트로부호화함» 다른아두이노보드의구동전압이 3.3[V] 일때 0~3.3[V] 사이를 1024개로나누어 10비트로부호화함» 최대샘플링주파수 : 10,000[Hz] 65
아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 아날로그신호입 출력 아두이노우노보드핀들 Digital IO - Digital I/O & SPI - PWM Power Analog In - A0~A5 - A4, A5(TWI) 66
아날로그신호입력 스노우보드를이용한회로구성 원형가변저항을스노우보드 A0 핀에연결 브레드보드를이용한회로구성 가변저항의손잡이를돌려봅니다. 무대의 Analog0 옆의숫자변화를관찰 67
변수만들기 변수 숫자나문자등을저장하는공간 수학시간에사용하는변수와같은개념 변수만들기 블록팔레트에서 변수 버튼클릭 변수만들기 버튼클릭 변수이름입력 확인 68
아날로그신호입력 목표 - 전압값계산하기 회로구성 원형가변저항을스노우보드 A0 핀에연결 전압값측정 가변저항의손잡이를돌려봅니다. 무대의 Analog0 옆의숫자변화를관찰 변수 전압 의값을관찰 스크리크립트작성 69
4. 아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 아날로그신호입 출력 가변저항의내부구조 회로심볼 ( 기호 ) WIPER RESISTANCE RESISTIVE MATERIAL WIPER A W B < 출처 1> 70
아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 아날로그신호입 출력실습 아날로그신호를디지털숫자로변경 디지털숫자로아날로그신호값추정방법비교 71
4. 아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 디지털부호로전압값추정 y=2x, y=x/2 y=2x 1 y= x 2 72
4. 아날로그신호를디지털부호 ( 숫자 ) 로변환하는과정 디지털부호로전압값추정 * 5/1023 1 y= x 1023 5 y= x 1023 73
학습내용요약 스크래치와아두이노소개 Scratch for Arduino와아두이노연동 프로그래밍기법 무한반복, n회반복, 만약 ~ 라면, 만약 ~ 라면아니면 디지털신호 스위치, 버튼, 부저 아날로그신호를디지털숫자로변경 참고문헌 김성필 (2015). 따라하다보면알게되는스크래치배우기. 복두출판사 74
아날로그신호입력 스노우보드구성 A0핀에 ( 원형 ) 가변저항연결 모양추가 Animals 폴더에있는 Bat1-a, bat1-b 추가 스크리크립트작성 이블록이갖을수있는수의범위는? 75
가로등만들기 가로등 어두워지면등이켜지고밝아지면등이꺼짐. 스노우보드구성 스노우보드의 A0핀에조도센서 (CdS) 모듈연결 스노우보드의 D13번핀에 LED 모듈연결 브래드보드를이용한회로구성 스크립트작성 만약어둡다면 { LED On } 아니면 { LED Off } 76
현관등만들기 현관등 밤이고움직임이있다면등이켜짐. 스노우보드구성 스노우보드의 A0핀에조도센서 (CdS) 모듈연결 스노우보드의 D13번핀에 LED 모듈연결 77
현관등만들기 스크립트작성 밤이고 움직임있는경우 움직임없는경우 낮이고 움직임이있는경우 움직임이없는경우 78
현관등만들기 스크립트작성 밤이고 움직임있는경우 움직임없는경우 낮이고 움직임이있는경우 움직임이없는경우 79
현관등만들기 스크립트작성 밤이고 움직임있는경우 움직임없는경우 낮이고 움직임이있는경우 움직임이없는경우 80
현관등만들기 스크립트작성 밤이고 움직임있는경우 움직임없는경우 낮이고 움직임이있는경우 움직임이없는경우 81
현관등만들기 현관등 밤이고움직임이있다면등이켜짐. 스크립트작성 만약밤이고움직임이있다면 { LED On } 아니면 { LED Off } 82
온도측정 온도센서 (TMP36) 50도씨일때온도센서 (TMP36) 의출력전압은 1[v] 50도씨를기준으로 온도가 1도씨올라갈때마다출력전압은 10[mV] 증가 온도가 1도씨내려갈때마다출력전압은 10[mV] 감소 83
온도센서 온도로값으로환산하는식 출력전압 v = 0.01 1 t 50 + 1 = 1 50 t + 100 100 전압을온도로환산 1 100 t = v 50 100 t = 100v 50 84
온도센서 온도센서를이용하여온도값계산하기 센서의출력전압읽기 선서의출력전압을온도로환산 t = 100v 50 85
온도센서 온도에따른상태표시 요구동작 만약온도값이적정범위에있다면녹색 LED On 아니면 Off 만약온도값이적정범위에있지있지않다면빨간 LED On 아니면 Off - 만약온도값이적정범위에있는것이아니다면빨간 LED On 아니면 Off 요구동작다시기술 만약온도값이적정범위에있다면녹색 LED On 그리고빨간 LED Off 아니면녹색 LED Off 그리고빨간 LED On 86
온도센서 요구동작에따른스크립트 요구동작 만약온도값이적정범위에있다면녹색 LED On 아니면 Off 만약온도값이적정범위에있는것이아니다면빨간 LED On 아니면 Off 87
온도센서 요구동작에따른스크립트 요구동작다시기술 만약온도값이적정범위에있다면녹색 LED On 그리고빨간 LED Off 아니면녹색 LED Off 그리고빨간 LED On 88
거리측정센서 거리측정센서 센서와물체사이의거리에따른출력전압변화 센서의출력전압값을거리로환산 89
거리측정센서 거리측정센서 센서의출력전압값을거리로환산하는식 변환식 (1) - 위에서 n 은 아날로그 x 센서의값 d = 6787 n 3 4 변환식 (2) - 위에서 v 는전압 d = 27 v 90
거리측정센서 거리측정센서 센서의출력전압값을거리로환산하는식 변환식 (1) - 위에서 n 은 아날로그 x 센서의값 d = 6787 n 3 4 변환식 (2) - 위에서 v 는전압 d = 27 v 91
주차안내시스템 주차안내시스템동작개요 주차장천장에거리측정센서부착 바닥까지의거리측정 주차되어있을때 차지붕까지거리측정 < 바닥까지거리 비어있을때 바닥까지거리 > 차지붕까지거리 주차되어있을 R LED On, G LED Off 비어있을때 R LED Off, G LED On 스노우보드구성 (R) LED 13번 (G) LED 12번 거리측정센서 A0핀 92
주차안내시스템 주차안내시스템을위한스크립트 거리측정 주차유무판단 LED 출력 93
서보모터 서보모터내부구조및조작방법 서보모터내부구조 조작방법 94
서보모터 서보모터스노우보드에연결 95
서보모터 서보모터취급주의 주의 모터혼을손으로잡아돌리지마세요. 모터를지속적으로오랜시간가동하면무리가갈수있습니다. 서보모터제어블록 96
스마트쓰레기통만들기 스마트쓰레기통동작개요 사람이다가오면 뚜껑을연다 아니면 ( 사람이사라지면 ) 뚜껑을닫는다 감기센서및모터구동 사람이왔는지갔는지 거리측정센서 뚜껑을열거나닫는동작 서보모터 97
LED 밝기조절 LED 밝기조절 LED가밝아졌다가어두워졌가를반복 스노우보드구성 스노우보드 6번에 LED 연결 스크립트 위에블록클릭 아래블록클릭 98
LED 밝기조절 LED 밝기조절 LED가서서히밝아지도록만들기 스노우보드구성 스노우보드 6번에 LED 연결 스크립트 변수의 밝기 의값은? 99
LED 밝기조절 LED 밝기조절 LED 가서서히밝아졌다가어두워졌다가를반복 스트립트를작성해보세요 100
학습내용요약 스트래치 (Scratch for Arduino, S4A) 소개및아두이노와연동구조 LED, 부저, 기울어짐센서, 스위치등을활용한디지털신호입출력 조도센서, 온도, 거리측정센서등을이용한아날로그신호입력 LED의밝기변화를이용한 PWM 신호출력 서보모터활용 가로등, 현광등만들기, 주차안내시스템, 스마트쓰레기통만들기등 참고문헌 김성필 (2016). 따라하다보면알게되는아두이노를위한스트래치배우기. 복두출판사. 101