목차 Chapter I HBE-ADK HBE-ADK-2560 개발환경 /3 1-2 Driver 설치 /7 1-3 Arduino 처음실행 / Arduino 소프트웨어사용을위한설정 / HBE-ADK-2560 Program 다운로

Size: px
Start display at page:

Download "목차 Chapter I HBE-ADK HBE-ADK-2560 개발환경 /3 1-2 Driver 설치 /7 1-3 Arduino 처음실행 / Arduino 소프트웨어사용을위한설정 / HBE-ADK-2560 Program 다운로"

Transcription

1 목차 Chapter I HBE-ADK HBE-ADK-2560 개발환경 /3 1-2 Driver 설치 /7 1-3 Arduino 처음실행 / Arduino 소프트웨어사용을위한설정 / HBE-ADK-2560 Program 다운로드 /13 Chapter II 프로그램실습 2-1 실습 1 : LED 제어 / ADK-Accessory-Base 의장착 / LED PORT 구성표 / LED 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 2 : 스위치를이용한 LED 제어 / SW PORT 구성표 / SW 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 3 : BUZZER 제어 / BUZZER 연결 / BUZZER PORT 구성표 / BUZZER 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 4 : DC Motor Driver 제어 / DC Motor Driver 연결 / DC Motor Driver PORT 구성표 /36 목차 a

2 2-4-3 DC Motor Driver 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 5 : Electronic Switch 제어 / Electronic Switch 연결 / Electronic Switch PORT 구성표 / Electronic Switch 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 6 : Open Detect Sensor / Open Detect Sensor 연결 / Open Detect Sensor PORT 구성표 / Open Detect Sensor 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 7 : Motion Detection Sensor / Motion Detection Sensor 연결 / Motion Detection Sensor PORT 구성표 / Motion Detection Sensor 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 8 : Light Sensor / Light Sensor PORT 연결 / Light Sensor PORT 구성표 / Light Sensor 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 / 실습 9 : Temperature Sensor / Temperature Sensor 연결 / Temperature Sensor PORT 구성표 / Temperature Sensor 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 /62 b 목차

3 2-10 실습 10 : Sound Sensor / Sound Sensor PORT 구성표 / Sound Sensor 회로도 / 프로그램소스 / 프로그램설명 / 프로그램동작및확인 /57 목차 c

4 d 목차

5 Chapter I HBE-ADK-2560

6

7 1-1 HBE - ADK-2560 개발환경 HBE-ADK-2560 의개발환경을구축하기위해, 개발툴을인터넷에서내려받고, 설치하는과정을설명한다. 그림 Arduino Program 1-1 HBE-ADK-2560 개발환경 3

8 아두이노 (Arduino) 는무료소프트웨어이며, 아두이노홈페이지 ( 에서다운로드받을수 있다. 아래링크를클릭하면바로다운받을수있다. 만약인터넷익스플로러에서홈페이지가올바르게표시되지 않으면크롬웹브라우저를이용하기바란다. 그림 Arduino 다운로드 (Arduino 홈페이지 ) 그림 Arduino 다운로드 (Arduino 홈페이지 ) 위의과정에서다운로드한 arduino windows.zip 파일을압축을푼다. 여기서는다음화면과같이 D:\tools\ 경로아래에압축을푸는것으로가정하고진행한다 HBE-ADK-2560

9 그림 Arduino 압축풀기 위의과정들은홈페이지에서다운받는과정을설명한것이며 CD 에 Arduino IDE 폴더에있는 arduino zip 파일을압축을풀어하도록한다. 이유는 ADK 관련된내용이추가되어있기때문이며본교재에서도 버전을 사용할것이다. 실습을편하게진행하기위해서실행파일인 arduino.exe 파일에마우스오른쪽버튼을눌러 " 바로가기 " 를만든다 음바탕화면에끌어다놓는다. 그림 Arduino 압축풀기 그다음으로아두블록개발환경을구축하도록한다. 다음의사이트를방문해그림과같이아두블록개발툴을설 치한다. 아두블럭다운로드경로 (source forge) HBE-ADK-2560 개발환경 5

10 그림 ardublock-beta workshop-insectbot.zip 파일다운로드 위의화면과같이 ArduBlock 프로그램은지속적으로업데이트되고있으며여기서는현재최신버전인 2013년 12 월 9일자버전을사용한다. 본사이트에서는안정화버전인 2013년 7월 12일자를사용하도록권장하고있지만본교재에서다룰 array 와 subrutine 등을사용하려면최신버전을이용해야한다. 이파일의이름은 ardublock-beta workshop-insectbot.zip 이며, 다운로드후압축을해제하면다음과같은파일이존재한다. 그림 ardublock-beta workshop-insectbot.zip 파일압축해제 6 1. HBE-ADK-2560

11 libraries 폴더는다음그림과같이아두이노프로그램설치경로아래에있는 libraries 폴더에덮어쓰기를해준다. 그림 아두이노의 libraries 폴더에덮어쓰기복사 그리고나머지 ardublock-all.jar 파일은아래그림과같이아두이노프로그램이설치된경로아래에있는 tools 폴더아래에 ArduBlockTool\tool 이라는두개의폴더를만들어서그안에복사한다. 그림 아두이노의 tools 폴더아래에 ArduBlockTool\tool\ardublock-all.jar 복사 그리고아두이노를재시작한다음도구메뉴를클릭해보면기존에보이지않던 ArduBlock 이라는메뉴를아래 그림과같이확인할수있다. 1-1 HBE-ADK-2560 개발환경 7

12 그림 아두이노의도구에새로추가된 ArduBlock 메뉴 새로추가된 ArduBlock 메뉴를선택하면아래와같이 Block 을이용해펌웨어를개발할수있는기능을사용할 수있다. 그림 ArduBlock 의실행화면 8 1. HBE-ADK-2560

13 1-2 Driver 설치 여기서는 HBE-ADK-2560 의드라이버설치하는과정을설명한다. 다음그림과같이 HBE-ADK-2560 과케이블을준비한다. 그림 HBE-ADK-2560( 좌 ) 과 AM to Micro USB B cable( 우 ) 다음그림과같이 HBE-ADK-2560 과 PC 를 AM to Micro USB B 케이블로연결한다. 그림 PC USB Port( 좌 ) 와 HBE-ADK-2560( 우 ) 을케이블로연결 1-2 Driver 설치 7

14 연결후다음그림과같이선택하고다음을클릭한다. 그림 HBE-ADK-2560 driver 설치 1 찾아보기클릭후 arduino 프로그램이복사된폴더에 drivers 폴더를찾아선택하고다음을클릭한다. 그림 HBE-ADK-2560 driver 설치 HBE-ADK-2560

15 그림 HBE-ADK-2560 driver 설치 3 그림 HBE-ADK-2560 driver 설치 4 Driver 설치가다음그림처럼완료되면마침을클릭한다. 그러면 HBE-ADK-2560 driver 설치는완료된다. 1-2 Driver 설치 9

16 10 1. HBE-ADK-2560 그림 HBE-ADK-2560 driver 설치 5

17 1-3 Arduino 처음실행 Arduino 소프트웨어사용을위한설정 Arduino 소프트웨어사용을위해설정하는과정을설명한다. 먼저 Arduino 폴더에 arduino.exe 파일을실행한다. 그림 Arduino 실행화면 내컴퓨터에서오른쪽버튼을눌러속성을클릭한후하드웨어탭을선택후장치관리자를클릭하여포트를확 인한다. 포트는다음그림과같이 Arduino Mega ADK R3(COM12) 처럼되어있다. 1-3 Arduino 처음실행 11

18 그림 포트확인 포트를확인하여후 Arduino Program 에서도구 -> 보드에서그림과같이 Arduino Mega 2560 or Mega ADK 를 선택한다. 그림 보드설정 HBE-ADK-2560

19 Arduino Program 에서도구 -> 시리얼포트를그림과같이 COM12 로선택한다. 그림 포트설정 이과정이완료되면 Arduino Program 설정은완료된다. 1-3 Arduino 처음실행 13

20 1-3-2 HBE-ADK-2560 Program 다운로드 여기서는프로그램예제작성, 컴파일및다운로드방법에대해설명한다. 다음그림과같이예제를작성한다. 그림 LED 제어예제소스 HBE-ADK-2560

21 파일 저장을클릭하고다음그림과같이 LED_TEST 라고저장한다. 그림 프로그램소스저장 저장이완료되면스케치 - 확인 / 컴파일을클릭한다. 컴파일이완료되면다음그림과같이 컴파일완료 라고나타 난다. 그림 확인 / 컴파일 1-3 Arduino 처음실행 15

22 컴파일이완료되면파일 - 업로드를클릭한다. 업로드가완료되면다음그림과같이 업로드완료 라고나타난다. 그림 프로그램다운로드 다. 업로드가완료되면 HBE-ADK-2560 에 LED(LD2) 가 1 초마다한번씩 ON/OFF 되는것을볼수있을것이 그림 LED OFF/ON HBE-ADK-2560

23 위의 C언어로구현된소스코드를아두블럭에서다시동일한동작을하도록구현해보자. 도구메뉴의 ArduBlock 을실행한다음다음과같이블럭을조립하면동일한동작을하는프로그램을작성할수있다. 필요한블럭은왼쪽의블럭메뉴에서끌어다놓을수있으며, 실수로블럭을잘못배치한경우에는왼쪽창으로다시끌어다놓으면제거할수있다. 그림 아두블럭으로구현한 LED OFF/ON 위의그림에서반복블럭은 C 언어에서 loop() 함수와같은역할을한다. setup() 함수는찾아볼수없는데이는 upload 하면자동으로생성해주기때문이다. 위와같이작성후 Save 버튼을누른다음 Upload 버튼을누르면자동 으로 C 언어로변환된다. 그다음동일하게확인 / 컴파일명령을통해 ADK-2560 보드에서실행시켜볼수있다. 1-3 Arduino 처음실행 17

24 18 1. HBE-ADK-2560

25 Chapter II 프로그램실습

26

27 2-1 실습 1 : LED 제어 학습목표 1. LED 의동작원리와아두이노를이용한제어방법을익힌다. 2. 아두이노프로그램구현을위한기본함수들에대한종류와사용법을익힌다 HBE-Accessory-Base 의장착 LED(Light Emitting Diode) 는우리말로발광다이오드라고하며, 순방향으로전압을가했을때발광하는반도체소자이다. 발광원리는전계발광효과를이용하고있다. 또한수명도백열등보다매우길다. 발광색은사용되는재료에따라서다르며자외선영역에서가시광선, 적외선영역까지발광하는것을제조할수있다. 일리노이대학의닉호로니악이 1962년에최초로개발되어오늘날까지여러가지용도로사용고있으며향후백열등을대체할광원으로기대되고있다. 다음그림은 HBE-Accessory-Base 이다. 그림 HBE-Accessory-Base 2-1 LED 제어 19

28 다음그림은 HBE-ADK-2560 에 HBE-Accessory-Base 를장착한그림이다. 그림 HBE-Accessory-Base 장착 LED PORT 구성표 다음표는 LED 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성 명칭 Port / Number 비고 LED1 PA0 / 22 LED2 PA2 / 24 LED3 PA4 / 26 LED LED4 PA6 / 28 LED5 PC7 / 30 LED6 PC5 / 32 LED7 PC3 / 34 LED8 PC1 / 36 LED_EN LED_EN_PIN PH3 / 6 표 LED Port 구성표 프로그램실습

29 2-1-3 LED 회로도 다음그림은 LED 회로도이며 HBE-Accessory-Base 에장착되어있어따로연결할필요는없다. 동작방법은 회로도와같이 LED_EN_PIN 에연결된 PORT 에 LOW 를출력한후 LED 와연결되어있는 PORT 에 HIGH(1) 을출 력하면 ON, LOW(0) 을출력하면 OFF 된다. 그림 LED 회로도 2-1 LED 제어 21

30 2-1-4 프로그램소스 순서도 다음은 LED를구동하는예제프로그램의순서도이다. 프로그램이시작되면 LED 출력핀을사용할수있도록초기화한다. 그리고반복적으로 2진전가산기와같이 1씩증가시키며 LED에현재값을표시하게된다. 최대값인 255에도달하면다시 0 에서부터이작업을반복한다. 그림 LED 프로그램순서도 프로그램실습

31 LED.ino 다음은 LED를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int LED[8] = {22,24,26,28,30,32,34,36}; 003: 004: #define LED_EN 1 005: 006: void setup() 007: { 008: int z; 009: LED_SW_EN(); 010: for( i=0; i<8; i++) 011: pinmode( LED[i], OUTPUT ); 012: } 013: void LED_control(int data) 014: { 015: int i; 016: for(i=0 ; i<8; i++) 017: { 018: if(data & 0x01) 019: digitalwrite(led[i], HIGH); 020: else 021: digitalwrite(led[i], LOW); 022: data /= 2; 023: } 024: } 025: 026: void loop() { 027: int i; 028: for(i=0;i<256;i++) 029: { 030: LED_control(i); 031: delay(200); 032: } 033: } 034: 035: void LED_SW_EN(void) 2-1 LED 제어 23

32 036: { 037: pinmode(led_en_pin,output); 038: pinmode(sw_en_pin,output); 039: #ifdef LED_EN 040: digitalwrite(led_en_pin,low); 041: #else 042: digitalwrite(led_en_pin,high); 043: #endif 044: #ifdef SW_EN 045: digitalwrite(sw_en_pin,low); 046: #else 047: digitalwrite(sw_en_pin,high); 048: #endif 049: } 프로그램설명 1 setup() 아두이노프로그램은 setup() 와 loop() 로구분된다. 여기서 setup() 는말그대로포트등을설정하는부분이다. 따라서 pinmode(pin, mode) 함수는 pin에대한포트를 INPUT, OUTPUT, INPUT_PULLUP 으로설정한다. 여기서는 LED를출력으로설정한다. 그리고 LED_SW_EN() 함수는 LED와 SW의동작하도록설정하는함수이다. 009: LED_SW_EN(); 010: for(i=0; i<8; i++) 011: pinmode(led[i], OUTPUT); 2 loop() loop() 는프로그램을실행하는부분이다. 따라서 LED_control(i) 함수를이용하여 LED에 0~255까지데이터를출력한다. delay(200); 는 200ms의시간을지연한다. 028: for(i=0;i<256;i++) 029: { 030: LED_control(i); 031: delay(200); 032: } 3 LED_control() 함수 이함수는 8 개의 LED 에각각의데이터비트값을출력하는함수이다. digitalwrite(pin,value) 함수는 pin 에해당 프로그램실습

33 하는포트에 value 값을출력한다. Value 값은 HIGH(1) or LOW(0) 이다. 016: for(i=0 ; i <8; i++) 017: { 018: if(data & 0x01) 019: digitalwrite(led[i], HIGH); 020: else 021: digitalwrite(led[i], LOW); 022: data /= 2; 023: } 4 LED_SW_EN() 함수아래의프로그램에서 LED_EN을 1로선언한것은 LED를사용하기위해서이다. 이함수는 LED와 SW의동작에대한 ON/OFF 를설정하는함수이다. 먼저 LED_EN_PIN, SW_EN_PIN 을출력으로설정하고, LED를사용하면 LOW로출력해주어야동작을하고, 사용하지않으면 HIGH 로출력한다. Switch도 LED와마찬가지도출력하여동작여부를설정할수있다. 004: #define LED_EN 1 035: void LED_SW_EN(void) 036: { 037: pinmode(led_en_pin,output); 038: pinmode(sw_en_pin,output); 039: #ifdef LED_EN 040: digitalwrite(led_en_pin,low); 041: #else 042: digitalwrite(led_en_pin,high); 043: #endif 044: #ifdef SW_EN 045: digitalwrite(sw_en_pin,low); 046: #else 047: digitalwrite(sw_en_pin,high); 048: #endif 049: } 2-1 LED 제어 25

34 2-1-6 프로그램동작및확인 컴파일을한후다운로드를하면 200ms 마다 1 씩증가되면서 LED 가 ON / OFF 를반복하고모든 LED 가켜지 면다시처음상태부터시작한다. 이것을계속반복한다. 데이터값 LED 그림 데이터값에따른 LED 표시 프로그램실습

35 2-1-7 아두블럭으로구현하기 아두블럭조립하기 다음은 LED를구동하는예제프로그램을아두블럭으로구현한예제이다. C언어로구현한예제와는약간다른데, setup() 함수에서초기화해주어야하단 pinmode() 등의기능은자동으로구현된다. 따라서아래와같이간단하게구현해볼수있다. 그러나 C언어와같이상세한프로그램이어렵다. 예를들면비트연산이없으며, 지역변수할당을할수없다는단점이있다. 그러나 C언어에서구현된기능을아래와같이완벽히구현할수있다. C언어로구현된예제와비교하여프로그램의흐름을이해하도록한다. 그림 setup() 함수와 loop() 함수가함께붙어있는블록의구현 아두블럭의좌측에서블록들을가져와추가할수있으며, 만약삭제하고싶다면다시왼쪽편으로끌어다버리면 된다. 2-1 LED 제어 27

36 그림 사용자블록 LED_control 의구현 위와같이구현이되면저장버튼을누른다음실행을시켜보자. C 언어예제와동일하게동작하는지관찰해보고 더개선할방법이없는지생각해보자 요점정리 1. LED 는발광다이오드 ( 發光 diode) 라고도하며, 전압가하면빛을내는반도체소자이다. 최근친환경적이며 수명이길다는점에서각광을받고있다. 2. pinmode() 를이용하여특정핀을입출력방향을설정할수있다. 3. digitalwrite() 함수를이용하여특정핀에 HIGH 또는 LOW 값을출력할수있다. 4. 아두이노프로그램은크게초기화를위한 setup() 함수와반복적으로무한히호출되는 loop() 함수로이루어 진다 프로그램실습

37 2-1-9 학습문제 1. 다음의보기중에서 LED에관한설명이아닌것은? 1 발광다이오드 ( 發光 diode) 라고도한다. 2 순방향으로전압을가했을때발광하는반도체소자이다. 3 발광원리는전계발광효과를이용한다. 4 수명이백열등보다짧은단점이있다. 2. LED 의장점을간단히기술하시오 다음에서설명하는함수의이름을기입하시오 사용하고자하는핀을입력모드로사용할지, 출력모드로사용할지설정하는함수 - 특정핀에 HIGH(1) 또는 LOW(0) 를디지털형식으로출력하는함수 - 밀리초단위로지연시간을발생시키는함수 - 4 프로그램을본격적으로시작하기전에포트입출력설정, 메모리할당등초기화시점에시스템에 의해호출되는함수 - 5 프로그램초기화가끝나면본격적인작업을무한히반복적으로수행하는함수 LED 제어 29

38 과제 1. 제일왼쪽의 LED 하나를점등한다음 1 초마다우측으로한칸씩이동하는프로그램을구현하시오 프로그램실습

39 2-10 실습 10 : Sound Sensor 학습목표 1. Sound Sensor 의음향인식원리에대해이해한다. 2. ADC 의변환과정을이해하고, 센싱된값을정량적단위로변환할수있다 Sound Sensor 연결 Sound Sensor는우리말로음향센서라고하며, 전기음향변환기의원리를이용한마이크로폰을사용한다. 대개마이크로폰은직류바이어스방식의정전형을사용하며, 일부초저주파음이나초고음압을계측하는데세라믹소자를이용한압전형을사용하기도한다. 물질에외력을가하여변형이생기면그변형에비례한전하가생겨서전압을발생시키는데이러한현상을압전효과라고한다. 다음그림은 ADK Accessory kit 의 Sound Sensor 이다. 그림 Sound Sensor 다음그림은 ADK Accessory kit 의 Sound Sensor 를 HBE-Accessory-Base 에연결한것이다 Sound Sensor 63

40 Sound Sensor Port 구성표 그림 Sound Sensor 연결 다음표는 Sound Sensor 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Sound AMP_OUT ADC0 / A0 표 Sound Sensor Port 구성표 Sound Sensor 회로도 다음그림은 Sound Sensor 회로도이다. Sound Sensor 는 MIC 및 LINE 입력에따라출력되는전압이변화하여이 것을측정한다. 그림 Sound Sensor 회로도 프로그램실습

41 프로그램소스 순서도 다음은 Sound Sensor 프로그램의순서도이다. 초기화시점에 Sound Sensor 의핀을입력모드로설정해서음량값을읽어올수있도록한다. 인식된값은 0~1023 사이의값을가지므로 8개의 LED로충분히표현할수없으니 Serial 포트로데이터를전송한다. Adc_data 변수에는센싱된값이저장되고이값을이용해역으로전압값을계산해낸다. 그리고연결된 Serial 포트로센싱된값을주기적으로전송하는기능을수행한다. 그림 Sound Sensor 프로그램순서도 2-10 Sound Sensor 65

42 Sound_sensor.ino 다음은 Sound Sensor 로입력된신호를측정하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int Sound = A0; 003: int adc_data=0; 004: float Sensor_data=0; 005: 006: void setup() 007: { 008: LED_SW_EN(); 009: Serial.begin(9600); 010: while (!Serial); 011: } 012: 013: void loop() { 014: adc_data = analogread(sound); 015: Sensor_data = adc_data / 204.6; 016: Serial.print("adc_data : "); 017: Serial.print(adc_data); 018: Serial.print(", Voltage : "); 019: Serial.print(Sensor_data); 020: Serial.print(" [v]\n\r"); 021: delay(100); 022: } 023: 024: void LED_SW_EN(void) 025: { 026: pinmode(led_en_pin,output); 027: pinmode(sw_en_pin,output); 028: #ifdef LED_EN 029: digitalwrite(led_en_pin,low); 030: #else 031: digitalwrite(led_en_pin,high); 032: #endif 033: #ifdef SW_EN 034: digitalwrite(sw_en_pin,low); 035: #else 프로그램실습

43 036: digitalwrite(sw_en_pin,high); 037: #endif 038: } 프로그램설명 1 setup() Serial port를 9600의속도로설정한다. 009: Serial.begin(9600); 010: while (!Serial); 2 loop() Sound Sensor에해당하는 port의아날로그값을디지털값으로변환하여 adc_data에저장하고, 이값을전압으로변환하여 Sensor_data에저장하여이값들을 PC로출력한다. 014: adc_data = analogread(sound); 015: Sensor_data = adc_data / 204.6; 016: Serial.print("adc_data : "); 017: Serial.print(adc_data); 018: Serial.print(", Voltage : "); 019: Serial.print(Sensor_data); 020: Serial.print(" [v]\n\r"); 021: delay(100); 2-10 Sound Sensor 67

44 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면먼저아두이 노프로그램의도구 - 시리얼모니터를실행시킨다. 그러면다음과같이출력된다. 전송주기를 0.1 초로설정했기때 문에상당히빠른속도로데이터가수신됨을알수있다. 그림 프로그램동작 프로그램실습

45 아두블럭으로구현하기 아두블럭조립하기 다음은 Sound Sensor 의값을읽어서주기적으로 Serial 포트로전송하는예제를아두블럭에서구현한예제이다. Sound Sensor 는왼쪽블록모음에서아날로그사운드센서라는이름으로찾을수있다. 핀번호는 0번으로지정을해야첫번째핀에연결한 Sound Sensor에접근할수있다. 인식된값은 0~1023 사이의갑으로수신되는데 ADC 분해능이 10bit 이기때문이다. 그림 아두블럭으로구현한 Sound Sensor 프로그램 2-10 Sound Sensor 69

46 요점정리 1. Sound Sensor 는원리에따라동전형, 정전형, 압전형, 접촉저항형등이있다. 2. 물질에외력을가하여변형이생기면그변형에비례한전하가생겨서전압을발생시키는데이러한현상을 압전효과라고한다. 3. Sound Sensor 는압전효과의원리를이용하여음향입력의세기에따라전압이변화하는것을측정한다. 4. ADC(Analog-to-Digital Converter) 란아날로그센서에서측정된전압또는전류량을디지털값으로변환해 주는장치이다 학습문제 1. 다음중 Sound Sensor 에대한설명과거리가먼것은? 1 전기음향변환원리에따라동전형, 정전형, 압전형, 접촉저항형등이있다. 2 MIC 및 LINE 의음향입력에따라전압이변화하는것을측정한다. 3 초정밀음향계측시세라믹소자를이용한압전형을주로사용한다. 4 센싱된결과값은분해능이 10 bit 일경우 0~255의값을반환한다. 2. 다음의설명을읽고적절한용어를 ( ) 안에기입하시오. 물질에외력을가하여변형이생기면그변형에비례한전하가생겨서전압을발생시키는데이러한 현상을 ( 소자를사용한다. ) 라고한다. 이원리가적용된마이크로폰은지르콘지탄산연등의자기에의한 4. ADC 와 DAC 의차이점을비교하시오 과제 1. Sound Sensor 를이용해소리를감지한후소리가크면 LED 를많이켜고, 모터를빨리회전시키며, 소리가 작으면 LED 를적게켜고모터를천천히회전시키는프로그램을구현하시오 프로그램실습

47 2-2 실습 2 : 스위치를이용한 LED 제어 학습목표 1. 스위치의사용법과목적에대해이해한다. 2. digitalwrite() 함수와 digitalread() 함수의사용법을익힌다. 3. if-else 문을이용해프로그램의흐름을분기할수있다 SW PORT 구성표 스위치 (switch) 는우리말로개폐기라고도하며전류의흐름을막거나계속흐르게하는용도로쓰인다. 본실습에서는입력장치로이용하여 LED를끄거나켜는명령의목적으로사용하게된다. 스위치의응용된형태인패턴스위치는패턴 (pattern) 과스위치 (switch) 의합성어로, 다수의전등 On/Off 조합으로패턴기능을사용할수있는스위치를가리킨다. 다음표는 SWITCH 연결에대한 Port 구성표이며, 표와같이연결되어있다. 그리고 LED 연결 PORT 는 2-1 의 실습 1 과같다. 구성 명칭 Port / Number 비고 SW1 PA1 / 23 SW2 PA3 / 25 SW3 PA5 / 27 SWITCH SW4 PA7 / 29 SW5 PC6 / 31 SW6 PC4 / 33 SW7 PC2 / 35 SW8 PC0 / 37 SW_EN SW_EN_PIN PH4 / 7 표 SWITCH Port 구성표 2-2 스위치를이용한 LED 제어 25

48 2-2-2 SW 회로도 다음그림은 SW 회로도이며 HBE-Accessory-Base 에장착되어있어따로연결할필요는없다. 동작방법은 회로도와같이 SW_EN_PIN 에연결된 PORT 에 LOW 를출력한후스위치를누르면 PORT 에서 HIGH(1) 로인식하 며누르지않은상태에서는 LOW(0) 로인식된다. 그림 SWITCH 회로도 프로그램실습

49 2-2-3 프로그램소스 순서도 다음은스위치를구동하는예제프로그램의순서도이다. 이프로그램이시작되면 LED와스위치를함께사용할수있도록핀의입출력방향을설정한다. 그리고스위치의입력값을읽어서같은비트의 LED를켜도록동작한다. 그림 SWITCH 프로그램순서도 2-2 스위치를이용한 LED 제어 27

50 SW_LED.ino 다음은 LED를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int LED[8] = {22,24,26,28,30,32,34,36}; 003: int SWITCH[8] = {23,25,27,29,31,33,35,37}; 004: 005: 006: #define LED_EN 1 007: #define SW_EN 1 008: 009: void setup() 010: { 011: LED_SW_EN(); 012: for(int i=0; i<8; i++) 013: { 014: pinmode(switch[z],input); 015: pinmode(led[z],output); 016: } 017: } 018: 019: void loop() 020: { 021: for(int i=0; i<8; i++) 022: { 023: if(digitalread( SWITCH[i] ) ) 024: digitalwrite(led[i], HIGH); 025: else 026: digitalwrite(led[i], LOW); 027: } 028: delay(100); 029: } 030: 031: void LED_SW_EN(void) 032: { 033: pinmode(led_en_pin,output); 034: pinmode(sw_en_pin,output); 035: #ifdef LED_EN 프로그램실습

51 036: digitalwrite(led_en_pin,low); 037: #else 038: digitalwrite(led_en_pin,high); 039: #endif 040: #ifdef SW_EN 041: digitalwrite(sw_en_pin,low); 042: #else 043: digitalwrite(sw_en_pin,high); 044: #endif 045: } 프로그램설명 1 setup() LED_SW_EN(); 는스위치와 LED를사용하도록설정하는함수이고, 스위치는입력, LED 출력으로설정한다. 011: LED_SW_EN(); 012: for(int i=0; i<8; i++) 013: { 014: pinmode(switch[i], INPUT); 015: pinmode(led[i], OUTPUT); 016: } 2 loop() value = digitalread(pin) 함수는 pin에해당하는포트의값을읽어 value의저장하는함수이다. 여기서는스위치의값을읽어해당되는 LED에출력한다. 따라서스위치를누르면해당되는 LED는켜진다. 021: for(int i=0; i<8; i++) 022: { 023: if(digitalread(switch[i])) 024: digitalwrite(led[i],high); 025: else 026: digitalwrite(led[i],low); 027: } 028: delay(100); 2-2 스위치를이용한 LED 제어 29

52 2-2-5 프로그램동작및확인 컴파일을한후다운로드를하면스위치를누르는것에따라 LED 가 ON / OFF 가된다. 스위치 LED 스위치 LED 그림 스위치에따른 LED 동작 프로그램실습

53 2-2-6 아두블럭으로구현하기 아두블럭조립하기 다음은앞서 C 언어로구현한스위치의입력값을읽어서 LED 를켜는프로그램을아두블럭으로구현한예제이다. 아두블럭을실행하고다음과같이구현한다음 C 언어로구현한예제와동일하게동작하는지확인해보자. 그림 아두블럭으로구현한 program 블록 그림 LED 핀배열을초기화하는 initled 블록 2-2 스위치를이용한 LED 제어 31

54 그림 스위치핀들을배열로초기화하는 initswitch 블록 요점정리 1. 스위치는다른말로개폐기라고하며, 전류의흐름을제어하는용도로사용한다. 2. digitalwrite() 함수는디지털출력, digitalread() 함수는디지털입력함수이다. 3. if - else 문은분기문이라고부르며, 이것을이용하여특정조건에따라다른동작을하게할수있다 bit 컴퓨터에서 int 형의크기는 32bit 크기를가진다. 1byte 는 8bit 이다 프로그램실습

55 2-2-8 학습문제 1. 다음의설명중스위치에대한설명이아닌것은? 1 프로그램의처리결과를출력하는소자이다. 2 개폐기 ( 開閉器 ) 라고도한다. 3 전류의흐름을막거나계속흐르게하는용도로쓰인다. 4 패턴스위치는다수의전등을조합하여제어할수있다. 2. 다음의함수중특정핀에서 HIGH 또는 LOW 의값을읽어오는함수는? digitalwrite() digitalread() analogwrite() analogread() 3. 만약 23 번핀에스위치를연결하고입력모드로설정해두었다면, A 와 B 에적절한값을기입하여스위치 입력값을읽어오는 C 언어코드를완성하시오. int pin = ( A ) ; int input = digitalread( B ); 4. 아래의코드를구현했을때 N 번핀의스위치를누르면 LED 는어떻게변하겠는가? int result = digitalread( N ); if(result) control = LOW; else control = HIGH; digitalwrite(led, control); 2-2 스위치를이용한 LED 제어 33

56 5. 다음은배열을할당한소스코드이다. 32 비트컴퓨터에서다음의배열의총바이트크기는얼마인가? int SWITCH[8] = {23,25,27,29,31,33,35,37}; 과제 1. 제일좌측의 LED 를하나켠다음, 스위치를한번누를때마다 LED 가우측으로한칸씩이동하도록 프로그램을구현하시오 프로그램실습

57 2-3 실습 3 : BUZZER 제어 학습목표 1. Buzzer 의사용법을익히고 delay() 함수를이용해음향출력시간을조절할수있다. 2. 비트단위 & 연산의사용법을익히고 10 진수, 16 진수, 2 진수의변환을할수있다 BUZZER 연결 버저 (buzzer) 또는비퍼 (beeper) 는소리신호알림장치이며, 기계, 전자기계, 압전방식으로되어있다. 버저의 종류에는알람기기, 타이머, 또마우스클릭이나키입력과같은사용자입력의확인등을포함한다. 다음그림은 ADK Accessory kit 의 BUZZER 이다. 그림 BUZZER 다음그림은 ADK Accessory kit 의 BUZZER 를 HBE-Accessory-Base 에연결한것이다. 그림 BUZZER 연결 2-3 BUZZER 제어 31

58 2-3-2 BUZZER PORT 구성표 다음표는 BUZZER 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 BUZZER BUZZER PG1 / 40 표 BUZZER Port 구성표 BUZZER 회로도 다음그림은 BUZZER 회로도이다. 동작방법은회로도와같이 PORT 에서 HIGH(1) 를출력하면 ON, LOW(0) 을 출력하면 OFF 한다. 그림 BUZZER 회로도 프로그램실습

59 2-3-4 프로그램소스 순서도 다음은 Buzzer를구동하는예제프로그램의순서도이다. 프로그램이시작되면 Buzzer 를사용할수있도록핀을초기화한다. 그리고 1초가경과될때마다 Buzzer 에서소리가나도록동작한다. 그림 BUZZER 프로그램순서도 2-3 BUZZER 제어 33

60 buzzer.ino 다음은 Buzzer를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int buzzer = 40; 003: 004: void setup() 005: { 006: LED_SW_EN(); 007: pinmode(buzzer, OUTPUT); 008: } 009: 010: void BUZZER_control(int data) 011: { 012: if(data & 0x01) 013: digitalwrite(buzzer,high); 014: else 015: digitalwrite(buzzer,low); 016: } 017: 018: void loop() 019: { 020: BUZZER_control(1); 021: delay(1000); 022: BUZZER_control(0); 023: delay(1000); 024: } 025: 026: void LED_SW_EN(void) 027: { 028: pinmode(led_en_pin,output); 029: pinmode(sw_en_pin,output); 030: #ifdef LED_EN 031: digitalwrite(led_en_pin,low); 032: #else 033: digitalwrite(led_en_pin,high); 034: #endif 035: #ifdef SW_EN 프로그램실습

61 036: digitalwrite(sw_en_pin,low); 037: #else 038: digitalwrite(sw_en_pin,high); 039: #endif 040: } 프로그램설명 1 setup() buzzer Port 를출력으로설정한다. 007: pinmode(buzzer, OUTPUT); 2 loop() buzzer를 1초에마다 ON / OFF 하는프로그램이다. 020: BUZZER_control(1); 021: delay(1000); 022: BUZZER_control(0); 023: delay(1000); 3 BUZZER_control() 함수함수에서 data의값에따라서 1이면 ON, 0이면 OFF 하도록출력하는함수이다. 따라서이함수는 buzzer의동작을위한함수이다. 012: if(data & 0x01) 013: digitalwrite(buzzer,high); 014: else 015: digitalwrite(buzzer,low); 2-3 BUZZER 제어 35

62 2-3-6 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면 1 초간격으로 buzzer 는 ON / OFF 를반복한다.( 삐 ~ 소리가남 ) 아두블럭으로구현하기 아두블럭조립하기 다음은아두블럭을이용해주기적으로 Buzzer 를울리는예제를구현한것이다. 먼저 setup() 과 loop() 흐름을가 지는 program 블럭을먼저구현하고, Buzzer 를제어하는블록인 BuzzerControl 을구현해준다. 그림 아두블럭을이용한 BUZZER 의 program 블럭구현 프로그램실습

63 그림 BUZZER 를제어하는 BuzzerControl 블럭구현 요점정리 1. Buzzer 는비퍼 (beeper) 라고도하며소리신호알림장치로써기계, 전자기계, 압전방식등으로구현된다. 2. 비트단위연산 (bitwise operator) 의종류에는 &(AND), I(OR), << (LEFT SHIFT), >> (RIGHT SHIFT), ~(NOT), ^(XOR) 등이있다. 3. 디지털값은 HIGH/LOW, INPUT/OUTPUT 등의 2 가지로표현할수있는값이다. 2-3 BUZZER 제어 37

64 2-3-9 학습문제 1. 다음의설명중에서 Buzzer에대한내용과거리가먼것은? 1 비퍼 (beeper) 라고도하며소리신호알림장치이다. 2 스위치와함께사용자입력을수신하는용도로사용된다. 3 기계, 전자기계, 압전방식등으로구현된다. 4 알람기기, 타이머, 사용자입력의확인등에사용된다. 2. 다음중비트연산 & 의결과가가장큰것은? x00 & 0x00 0x00 & 0x01 0x01 & 0x00 0x10 & 0x01 0x01 & 0x01 3. 다음의소스코드를실행했을때 Buzzer는울리지않는다. Buzzer가울릴수있도록최소한으로수정하시오. pinmode(pinbuzzer, OUTPUT); int a = 4; int b = 8; if( a & b == 1 ) digitalwrite(pinbuzzer, HIGH); else digitalwrite(pinbuzzer, LOW); delay(1000); 과제 1. 스위치를누를때마다 Buzzer 가울리는프로그램을구현하시오 프로그램실습

65 2-4 실습 4 : DC Motor Driver 제어 학습목표 1. DC Mortor 와 DC Motor Driver 의개념에대해이해한다. 2. for() 문을이용해배열의반복적인처리를프로그램으로구현할수있다 DC Motor Driver 연결 Motor 는우리말로전동기라고부르며전력을이용하여회전운동의힘을얻는장치이다. 전동기의축에기계적부하를연결하여운전하며, 전동기의일률은보통킬로와트 (kw) 또는마력 (HP=0.75 kw) 으로표시한다. 이 Motor 를회전을제어하는장치를 Motor Driver라고한다. Motor 는특성에따라 DC Motor, Step Motor 등으로나뉜다. 다음그림은 ADK Accessory kit 의 DC Motor Driver이다. 그림 DC Motor Driver 다음그림은 ADK Accessory kit 의 DC Motor Driver 를 HBE-Accessory-Base 에연결한것이다. 그림 DC Motor Driver 연결 2-4 DC Motor Driver 제어 35

66 2-4-2 DC Motor Driver PORT 구성표 다음표는 DC Motor Driver 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성 명칭 Port / Number 비고 A PL7 / 42 AN PL5 / 44 DC_MOTOR ENA PG5 / 4 PWM B PL3 / 46 BN PL1 / 48 ENB PE3 / 5 PWM 표 DC Motor Driver Port 구성표 DC Motor Driver 회로도 다음그림은 DC Motor driver 회로도이다. 그림 DC Motor Driver 회로도 프로그램실습

67 2-4-4 프로그램소스 순서도 다음은 DC Motor Driver 제어프로그램의순서도이다. DC Motor Driver가연결된핀 6개를제어할수있도록 OUTPUT 으로설정해준다. 그리고초기화가끝나면오른쪽방향으로점점빠르게회전시킨다. 255 까지속도가올라가면 Motor 를정지시킨다음방향을반대로바꾼다. 마찬가지로속도가 255가될때까지가속회전을시킨후정지한다. 이러한동작을계속해서반복하는프로그램이다. 그림 DC Motor Driver 프로그램순서도 2-4 DC Motor Driver 제어 37

68 DC_Motor_Driver.ino 다음은 DC Motor Driver를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int DC_MOTOR[6] = {42,44,46,48,4,5}; 003: int i=0; 004: 005: void setup() 006: { 007: LED_SW_EN(); 008: for(i=0;i<6;i++) 009: pinmode(dc_motor[i],output); 010: } 011: 012: void loop() 013: { 014: PWM_control(0); 015: MOTOR_control(5); 016: for(i=0;i<256;i++) 017: { 018: PWM_control(i); 019: delay(40); 020: } 021: PWM_control(0); 022: MOTOR_control(10); 023: for(i=0;i<256;i++) 024: { 025: PWM_control(i); 026: delay(40); 027: } 028: } 029: 030: void MOTOR_control(unsigned char data) 031: { 032: for(i=0;i<4;i++){ 033: if(data & 0x08) 034: digitalwrite(dc_motor[i],high); 035: else 프로그램실습

69 036: digitalwrite(dc_motor[i],low); 037: data *=2; 038: } 039: } 040: 041: void PWM_control(unsigned char speed) 042: { 043: analogwrite(dc_motor[4], speed); 044: analogwrite(dc_motor[5], speed); 045: } 046: 047: void LED_SW_EN(void) 048: { 049: pinmode(led_en_pin,output); 050: pinmode(sw_en_pin,output); 051: #ifdef LED_EN 052: digitalwrite(led_en_pin,low); 053: #else 054: digitalwrite(led_en_pin,high); 055: #endif 056: #ifdef SW_EN 057: digitalwrite(sw_en_pin,low); 058: #else 059: digitalwrite(sw_en_pin,high); 060: #endif 061: } 프로그램설명 1 setup() DC Motor Driver Port를출력으로설정한다. 008: for(i=0;i<6;i++) 009: pinmode(dc_motor[i],output); 2 loop() DC Motor driver 제어하는프로그램으로먼저정회전으로설정후속도를 0~255 까지증가시키고다시역회전 2-4 DC Motor Driver 제어 39

70 으로설정후속도를 0~255까지증가한다. 이것을계속반복한다. 014: PWM_control(0); 015: MOTOR_control(5); 016: for(i=0;i<256;i++) 017: { 018: PWM_control(i); 019: delay(40); 020: } 021: PWM_control(0); 022: MOTOR_control(10); 023: for(i=0;i<256;i++) 024: { 025: PWM_control(i); 026: delay(40); 027: } 3 MOTOR_control() 함수함수에서 da의값에따라서 1이면 HIGH, 0이면 LOW 하도록출력하는함수로모터의정, 역회전동작을위한함수이다. 032: for(i=0;i<4;i++){ 033: if(data & 0x08) 034: digitalwrite(dc_motor[i],high); 035: else 036: digitalwrite(dc_motor[i],low); 037: data *=2; 038: } 다음표는정, 역회전동작에관한것이다. 동작 A / B AN / BN 비고 정지 x0F 정회전 1 0 0x0A 역회전 0 1 0x05 표 정, 역회전동작에대한데이터값 4 PWM_control() 함수 여기서 alalogwrite(pin, value) 함수는 pin에해당하는포트에 value에대한 PWM 신호를출력하도록한다. 함수 프로그램실습

71 에서 spe의값에따라서 0~255 까지출력이변화한다. 이값은주기가 1이라고가정하였을때 HIGH 값을출력되는시간은 speed/255의시간의비만큼출력되며, 만약 speed 값이 0이면 LOW 와같은출력을한다. 043: analogwrite(dc_motor[4], speed); 044: analogwrite(dc_motor[5], speed); 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면모터가정회 전으로회전하며점점속도가빨라지고최대속도에도달한다. 그러면다시역회전으로회전하며정회전하였을때 와같이점점속도가빨라지고최대속도에도달한다. 이러한동작을반복한다 아두블럭으로구현하기 아두블럭조립하기 다음은 DC Motor Deiver 프로그램을아두블럭으로구현한것이다. C언어에존재하는비트단위연산은현재버전에서지원하지않기때문에회전방향의판단은디지털변수인 rotatereverse 를사용하고있다. 이값은사실 (TRUE) 와거짓 (FALSE) 의두가지값을지정할수있다. 별도의생성과정은필요없으며사용하면할당된다. 그림 DC Motor Driver 의 program 블럭 본프로그램은 Motor 의회전속도를지속적으로증가시키며주기적으로방향을바꾸도록되어있기때문에 다른예제보다블록이많이필요하게된다. 실수로잘못조립하지않도록주의해서실습하기바란다. 2-4 DC Motor Driver 제어 41

72 그림 Motor 를회전시키는 RotateMotor 블럭 그림 Motor 제어핀을설정하는 MOTOR_control 블럭 프로그램실습

73 그림 Motor 의회전속도를지정하는 PWM_control 블럭 그림 DC Motor Driver 의포트를초기화하는 InitDcMotorDriver 블럭 2-4 DC Motor Driver 제어 43

74 2-4-8 요점정리 1. DC Mortor 는 DC Motor Driver 를이용해회전을제어할수있다. 2. Motor 는전동기라고도하며, 전기를이용해축을회전시킨다. 3. 반복문의종류에는 for() 문, while() 문, do-while() 문등이있다. 4. a,b 를변수라고할때, a = a * b 를줄여서 a *= b 로줄여서나타낼수있다. 5. PWM 은 Pulse Width Modulation 의약자로써, 펄스의폭을이용해외부로신호를보내는변조방식이다 학습문제 1. 다음의보기중에서 Motor 에대한설명과거리가먼것은? 1 Motor Driver를이용해회전을제어할수있다. 2 전동기라고도하며, 전력을이용하여회전운동의힘을얻는장치이다. 3 Motor 의축에기계적부하를연결하여운전한다. 4 Motor 의일률은보통 Voltage 또는 V로표시한다. 2. 다음의소스코드에서 DC_MOTOR[6] 배열에는 Motor 제어를위한핀번호가저장되어있다. 모든핀을 출력으로사용할수있도록 ( A ) 에적절한코드를기입하시오. for( i = 5 ; i >= 0 ; A ) { pinmode(dc_motor[i],output); } 프로그램실습

75 3. 변수 N = 2 일때, 다음연산결과중에서가장큰것은? 1 N *= 3 2 N = 4 3 N /= 6 4 N += 3 5 N -= 8 4. 다음에서설명하는함수를기입하시오. 특정핀을지정해서 256 단계의 PWM 신호를출력할수있다 DC Motor Driver 제어 45

76 과제 1. 스위치를누르면모터가회전하고, 떼면멈추는프로그램을구현하시오 프로그램실습

77 2-5 실습 5 : Electronic Switch 제어 학습목표 1. Electronic Switch 를이용해자동제어에대한개념을이해한다. 2. 비트단위 << 연산을이해하고, 프로그램으로구현할수있다 Electronic Switch 연결 Electronic Switch 는우리말로전기스위치라고부르며, 다른말로릴레이 (Relay) 라고도한다. 이는전기, 전자제품을작동시키고, 신호를전달하는기능을하는전자부품이다. 이것은사람의손으로동작하는스위치와달리전자석에의해동작하는데, 전자석의원리에따라코일에전류가흐르면, 떨어져있던 Contacts 가연결되게된다. 고압전류등을직접손으로다루지않아도되기때문에안전하다는장점이있다. 다음그림은 ADK Accessory kit 의 Electronic Switch 이다. 그림 Electronic Switch 2-5 Electronic Switch 제어 41

78 다음그림은 ADK Accessory kit 의 Electronic Switch 를 HBE-Accessory-Base 에연결한것이다. 그림 Electronic Switch 연결 Electronic Switch PORT 구성표 다음표는 Electronic Switch 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Electronic Switch RELAY PD7 / 38 표 Electronic Switch Port 구성표 Electronic Switch 회로도 다음그림은 Electronic Switch 회로도이다. 동작방법은회로도와같이 PORT 에서 HIGH(1) 를출력하면 ON, LOW(0) 을출력하면 OFF 한다. 그리고 S1 스위치는 Electronic Switch 가프로그램에관계없이동작여부를확인 할수있다. 그림 Electronic Switch 회로도 프로그램실습

79 2-5-4 프로그램소스 순서도 다음은 Electronic Switch 를제어하기위한프로그램의순서도이다. 보는바와같이다소단순한구조로되어있는데초기화시점에 Electronic Switch 를사용할수있도록핀을초기화한다. 준비가끝나면 Electronic Switch 를켜서전류를흐르도록하고 1초를대기한다. 그리고다시 Electronic Switch 를끄고 1초대기한다. 이렇게한사이클을지속적으로반복하여 1초마다전류를끊었다흘렸다반복하는프로그램이다. 그림 Electronic Switch 회로도 2-5 Electronic Switch 제어 43

80 Electronic_Switch.ino 다음은 Electronic Switch 를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int Electronic_Switch = 38; 003: 004: void setup() 005: { 006: LED_SW_EN(); 007: pinmode(electronic_switch, OUTPUT); 008: } 009: 010: void Electronic_Switch_control(int data) 011: { 012: if(data & 0x01) 013: digitalwrite(electronic_switch,high); 014: else 015: digitalwrite(electronic_switch,low); 016: } 017: 018: void loop() 019: { 020: Electronic_Switch_control(1); 021: delay(1000); 022: Electronic_Switch_control(0); 023: delay(1000); 024: } 025: 026: void LED_SW_EN(void) 027: { 028: pinmode(led_en_pin,output); 029: pinmode(sw_en_pin,output); 030: #ifdef LED_EN 031: digitalwrite(led_en_pin,low); 032: #else 033: digitalwrite(led_en_pin,high); 034: #endif 035: #ifdef SW_EN 프로그램실습

81 036: digitalwrite(sw_en_pin,low); 037: #else 038: digitalwrite(sw_en_pin,high); 039: #endif 040: } 프로그램설명 1 setup() Electronic Switch Port 를출력으로설정한다. 007: pinmode(electronic_switch, OUTPUT); 2 loop() Electronic Switch 를 1초에마다 ON / OFF 하는프로그램이다. 020: Electronic_Switch_control(1); 021: delay(1000); 022: Electronic_Switch_control(0); 023: delay(1000); 3 Electronic_Switch_control() 함수함수에서 da의값에따라서 1이면 ON, 0이면 OFF 하도록출력하는함수이다. 따라서이함수는 Electronic Switch의동작을위한함수이다. 012: if(data & 0x01) 013: digitalwrite(electronic_switch,high); 014: else 015: digitalwrite(electronic_switch,low); 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면 1 초간 격으로 Electronic Switch 는 ON / OFF 를반복한다. Electronic Switch 가 ON/OFF 될때 딸깍 거리는소리를들을 수있을것이다. 2-5 Electronic Switch 제어 45

82 2-5-7 아두블럭으로구현하기 아두블럭조립하기 다음은앞서 C언어로구현한 Electronic Switch 제어프로그램을아두블럭으로구현한예제이다. 아두블럭에서는 C언어에서사용한비트단위 AND ( & ) 연산자가아직지원되지않는다. 따라서디지털변수에해당하는 pinelectronicswitch 변수를할당하고사용하였다. 이변수는사실 (TRUE) 과거짓 (FALSE) 의두가지값을가질수있다. 이값을보고 Electronic_Switch_control 블럭에서전류를흘릴것인지판단하게된다. 그림 Electronic Switch 의 program 블럭 그림 Electronic Switch 를켜거나끄는 Electronic_Switch_control 블럭 프로그램실습

83 2-5-8 요점정리 1. Electronic Switch 는릴레이 (Relay) 라고도부르며, 고압의전력을안전하게통제하기위한목적으로사용된다. 2. Electronic Switch 는일반스위치와같이출력모드로사용한다. 3. 비트단위 << 연산을 1 회하면 2 를곱하는효과가있고, >> 연산을하면 2 를나누는효과가있다 학습문제 1. 다음의보기중에서 Electronic Switch 에대한설명과거리가먼것은? 1 전기스위치, 릴레이 (Relay) 라고도부른다. 2 고전압을직접적으로다루어야하기때문에감전의위험이수반된다. 3 전기, 전자제품을작동시키고, 신호를전달하는기능을하는전자부품이다. 4 사람의손으로동작하는스위치와달리전자석에의해동작한다. 2. Electronic Switch 가사용되는분야를한가지이상기입하시오 다음의코드는 Electronic Switch 를이용해전력을일정시간켰다가끄는예제이다. 이소스코드에서 ( N ) 에 적절한숫자를기입하여전력을 1 초간켰다가꺼지도록구현하시오. pinmode(electronic_switch, OUTPUT); digitalwrite(electronic_switch,high); int count = 1 << ( N ) ; for( int i=0; i< count ; i++) { delay( 125 ); } digitalwrite(electronic_switch,low); 2-5 Electronic Switch 제어 47

84 과제 1. 스위치를누를때마다 LED 가토글되고, Electronic SWitch 를 On/Off 시키는프로그램을구현하시오 프로그램실습

85 2-6 실습 6 : Open Detect Sensor 학습목표 1. Open Detect Sensor 의동작원리를이해한다. 2. 논리연산의종류와사용법을익힌다 Open Detect Sensor 연결 Open Detect Sensor 는렌쯔의법칙을이용한전자석원리를이용한장치로써, 문의개폐여부를감지하는센서이다. 도체에전선을감은다음전류를흘리면일정방향으로도체가움직이는데이를렌쯔의법칙이라고한다. 전선을통해흐르는전류주변에서자기장이발생하게되고이힘에따라도체가일정방향으로움직이는원리를이용한다. 다음그림은 ADK Accessory kit 의 Open Detect Sensor 이다. 그림 Open Detect Sensor 다음그림은 ADK Accessory kit 의 Open Detect Sensor 를 HBE-Accessory-Base 에연결한것이다. 2-6 Open Detect Sensor 45

86 그림 Open Detect Sensor 연결 Open Detect Sensor Port 구성표 다음표는 Open Detect Sensor 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Open Detect Sensor REED PE5 / 3 표 Open Detect Sensor Port 구성표 Open Detect Sensor 회로도 다음그림은 Open Detect Sensor 회로도이다. Open Detect Sensor 는자석이근접하며 HIGH(1) 출력되는동작을 한다 프로그램실습

87 그림 Open Detect Sensor 회로도 2-6 Open Detect Sensor 47

88 2-6-4 프로그램소스 순서도 다음은 Open Detect Sensor 의상태를인식해서자기를인식하면그결과를 LED로출력하도록구현할프로그램의순서도이다. 먼저 LED 핀을사용할수있도록초기화한다음, Open Detect Sonsor 를입력모드로설정한다. 주기적으로 Open Detect Sensor 의상태를파악한다음 HIGH 신호가오면 LED를켜도록한다. 그림 Open Detect Sensor 프로그램순서도 프로그램실습

89 Open_Detect_Sensor.ino 다음은 Open Detect Sensor 를이용하여 LED를구동하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int LED[8] = {22,24,26,28,30,32,34,36}; 003: int Open_Detect = 3; 004: 005: #define LED_EN 1 006: 007: void setup() 008: { 009: LED_SW_EN(); 010: pinmode(led[0], OUTPUT); 011: pinmode(open_detect, INPUT); 012: } 013: 014: void loop() 015: { 016: digitalwrite(led[0], digitalread(open_detect)); 017: delay(100); 018: } 019: 020: void LED_SW_EN(void) 021: { 022: pinmode(led_en_pin,output); 023: pinmode(sw_en_pin,output); 024: #ifdef LED_EN 025: digitalwrite(led_en_pin,low); 026: #else 027: digitalwrite(led_en_pin,high); 028: #endif 029: #ifdef SW_EN 030: digitalwrite(sw_en_pin,low); 031: #else 032: digitalwrite(sw_en_pin,high); 033: #endif 034: } 2-6 Open Detect Sensor 49

90 2-6-5 프로그램설명 1 setup() Open Detect Sensor Port는입력, LED Port 는출력으로설정한다.. 010: pinmode(led[0], OUTPUT); 011: pinmode(open_detect, INPUT); 2 loop() Open Detect Sensor Port에입력된값을 LED Port로출력한다. 016: digitalwrite(led[0], digitalread(open_detect)); 017: delay(100); 프로그램동작및확인 컴파일을한후다운로드후 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하고 Open Detect Sensor 에자석을가까이다가가면 LED 는켜진다. 기본상태 자석근접시 그림 프로그램동작 아두블럭으로구현하기 아두블럭조립하기 위에서 C언어로구현한 Open Detect Sensor 프로그램을아두블럭으로구현하면아래와같다. Program 블럭의 setup 단계에서 InitLED 블록을호출해서 LED 핀모드를초기화한다. 이블럭의구현방식은첫번째예제와완전히동일하다. 프로젝트간에 Copy & Paste 기능이아직은지원되지않으므로, 첫번째 LED 예제를불러와서고치는방법을사용하는것도좋다. 현재아두블럭툴은계속해서업데이트되고있다. 따라서조만간에이러한기능들이추가될것이다. 새로운버전의툴이나오면꼭사용해보기바란다 프로그램실습

91 그림 Open Detect Sensor 의 program 블럭 위블록에서 LED 의제어는별도의사용자블럭을정의하지않고 디지털핀설정 블럭을이용해제어하도록 한다. 그림 프로그램동작 요점정리 1. Open Detect Sensor 는마그네틱센서의일종이며, 전자석의원리를이용해문의개폐여부를감지한다. 2. Open Detect Sensor 는응답속도가빠르고, 신뢰성이높아전자제어장치, 기계제어장치등에널리쓰인다. 3. Open Detect Sensor 는렌쯔의법칙을이용한전자석의원리가적용되었다. 4. 논리연산의종류는 == (Logical And), (Logical Or),! (Logical Not), <, >, <=, >= 등이있다. 2-6 Open Detect Sensor 51

92 2-6-9 학습문제 1. 다음의설명중마그네틱센서에대한설명과거리가먼것은? 1 센서의가격이비싼편이라고급가전제품에만제한적으로사용되고있다. 2 응답속도가빠르고, 유리관에봉입되어접촉신뢰성이높다. 3 전자제어장치, 기계제어장치등자동기기의스위칭소자이다. 4 리드센서, 오토센서등으로도불리며, 자석의자력선에의해동작한다. 2. 다음에서설명하는 Open Detect Sensor 에적용된과학법칙은? 도체에전선을감아서전류를흘리면일정방향으로도체가움직이게되는데, 전자석은이법칙을 이용해만들어졌다. 전선을통해흐르는전류주변에서자속이발생하고, 이에따른힘이발생되어 도체는일정방향으로움직이게된다 Open Detect Sensor 를적용하여우리생활에편의를제공할수있는방안을한가지이상제시하시오 다음의예제에서 Open Detect Sensor 에자석을근접시킬경우 LED 가켜지도록최소한으로수정하시오. pinmode(led, OUTPUT); pinmode(open_detect, INPUT); int value = digitalread(open_detect); if(!value == 1 ) digitalwrite(led, HIGH); else digitalwrite(led, LOW); delay(1000); 프로그램실습

93 과제 1. Open Detect Sensor 에자석을가까이대면, LED 가켜지면서 Buzzer 가울리는프로그램을구현하시오. 2-6 Open Detect Sensor 53

94 2-7 실습 7: Motion Detection Sensor 학습목표 1. Motion Detection Sensor 의움직임감지원리와적외선의특징을이해한다. 2. 인터럽트와인터럽트서비스루틴을이해하고프로그램으로구현한다 Motion Detection Sensor 연결 Motion Detection Sensor 는적외선의움직임을포착하는방식을기본원리로한다. 적외선은전자스펙트럼에서가시광선보다더긴파장을가지고있으며육안으로는확인이불가하다. 가시광선에이어지는파장범위가 0.75마이크로미터에서 1미리미터정도인전자기파를적외선이라고하며, 빛의스펙트럼에서적색부분의바깥쪽에해당됨으로써적외선이란이름이붙여졌다. 다음그림은 ADK Accessory kit 의 Motion Detection Sensor 이다. 그림 Motion Detection Sensor 다음그림은 ADK Accessory kit 의 Motion Detection Sensor 및 Buzzer를 HBE-Accessory-Base 에연결한것이다. 2-7 Motion Detection Sensor 49

95 2-7-2 Motion Detection Sensor Port 구성표 그림 Motion Detection Sensor 연결 다음표는 Motion Detection Sensor 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Motion Detection Sensor DETECT PE4 / 2 표 Motion Detection Sensor Port 구성표 Motion Detection Sensor 회로도 다음그림은 Motion Detection Sensor 회로도이다. Motion Detection Sensor 는주위에움직임을감지하면 HIGH(1) 로출력되는동작을한다 프로그램실습 그림 Motion Detection Sensor 회로도

96 2-7-4 프로그램소스 순서도 다음은 Motion Detection Sensor를이용해주기적으로움직임을감지해서 Buzzer를울리는프로그램의순서도이다. Buzzer는출력장치이므로핀의 OUTPUT 으로설정하고, Motion Detection Sensor 는입력장치이므로핀을입력모드로설정한다. 처음엔부저를끈상태에서시작하고 0.5초주기로움직임을감지하고 Buzzer 를울리도록한다. 그림 Motion Detection Sensor 프로그램순서도 2-7 Motion Detection Sensor 51

97 Motion_Detection_Sensor.ino 다음은 Motion Detection Sensor 를이용하여움직임을감지하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int BUZZER = 40; 003: int Motion = 0; 004: int count = 0; 005: volatile int state = LOW; 006: 007: void setup() 008: { 009: LED_SW_EN(); 010: pinmode(buzzer, OUTPUT); 011: attachinterrupt(motion, Motion_isr, FALLING); 012: digitalwrite(buzzer, LOW); 013: } 014: 015: void loop() 016: { 017: if(state == HIGH){ 018: delay(10); 019: count++; 020: if(count==50){ 021: digitalwrite(buzzer, LOW); 022: state = LOW; 023: } 024: } 025: else 026: count = 0; 027: } 028: 029: void Motion_isr() 030: { 031: digitalwrite(buzzer, HIGH); 032: state = HIGH; 033: } 프로그램실습

98 034: 035: void LED_SW_EN(void) 036: { 037: pinmode(led_en_pin,output); 038: pinmode(sw_en_pin,output); 039: #ifdef LED_EN 040: digitalwrite(led_en_pin,low); 041: #else 042: digitalwrite(led_en_pin,high); 043: #endif 044: #ifdef SW_EN 045: digitalwrite(sw_en_pin,low); 046: #else 047: digitalwrite(sw_en_pin,high); 048: #endif 049: } 프로그램설명 1 setup() attachinterrupt(interrupt, function, mode) 는외부인터럽트설정함수로 interrupt는 0~5의인터럽트포트의넘버를의미하며, function은말그대로함수, 즉인터럽트가발생하면실행될함수이고, mode는인터럽트가발생하는시점으로 LOW, CHANGE( 상승및하강에지 ), RISING( 상승에지 ), FALLING( 하강에지 ) 이있다. Motion Detection Sensor Port는외부인터럽트, Buzzer Port는출력으로설정하고 Buzzer 를 OFF 한다. 010: pinmode(buzzer, OUTPUT); 011: attachinterrupt(motion, Motion_isr, FALLING); 012: digitalwrite(buzzer, LOW); 2 loop() 여기서는 Buzzer가켜지면다시일정시간기다리고 Buzzer를 OFF 한다. 따라서 state가 HIGH 이면 Buzzer는켜져있는상태이므로일정시간이지나면 Buzzer를 OFF 하고, state를 LOW 로변경한다. count 값은시간지연을위한변수이다. 2-7 Motion Detection Sensor 53

99 017: if(state == HIGH){ 018: delay(10); 019: count++; 020: if(count==50){ 021: digitalwrite(buzzer, LOW); 022: state = LOW; 023: } 024: } 025: else 026: count = 0; 3 Motion_isr() Motion Detection Sensor 에인터럽트가발생하면이함수가실행되어 Buzzer가울리고 state를 HIGH 로설정한다. 031: digitalwrite(buzzer, HIGH); 032: state = HIGH; 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하고 Motion Detection Sensor 근처에서움직이면 Buzzer 가일정시간켜졌다가꺼지게된다 프로그램실습

100 2-7-7 아두블럭으로구현하기 아두블럭조립하기 아두블럭은아래의그림과같이디지털적외선모션센서블럭을기본적으로제공하고있다. 왼쪽블럭모음창에서해당블럭을찾아보자. 그외에도다양한호환가능한블럭들이존재함을알수있다. 일반블럭을조립하듯이사용하면되는데인자로핀번호를지정할수있다. 기본적으로아두블럭의배열은인덱스가 1부터시작하지만핀번호는 0번부터시작함을주의해야한다. 여기서핀번호를 1을사용하고있는데이것은두번째핀임을의미한다. 그림 Motion Detection Sensor 의아두블럭구현소스 요점정리 1. Motion Detection Sensor 는적외선의원리를이용해움직임을감지한다. 2. 적외선은전자스펙트럼에서가시광선보다더긴파장을가지고있으며, 빛의스펙트럼에서적색부분의바깥쪽 에해당한다. 3. attachinterrupt() 함수를이용하면인터럽트를이용해, 필요할때마다마이크로컨트롤러에게서비스처리를 요청할수있다. 4. 인터럽트를발생시키는방식은 LOW, CHANGE, RISING, FALLING 이있다. 2-7 Motion Detection Sensor 55

101 2-7-9 학습문제 1. Motion Detection Sensor 의감지원리인적외선의특징으로적절하지않은것은? 1 전자스펙트럼에서가시광선보다더긴파장을가지고있다. 2 자세히보면육안으로확인가능하며붉은색을띈다. 3 파장범위가 0.75 마이크로미터에서 1미리미터정도인전자기파이다. 4 빛의스펙트럼에서적색부분의바깥쪽에해당한다. 2. 다음에서설명하는용어를기입하시오. 방해한다는의미를가지며어떤일을하고있는장치에게하던일을잠시중단시키고필요한서비스를요 청하는것 - 3. 다음의함수중에서외부인터럽트설정함수는? pinmode() attachinterrupt() analogread() digitalwrite() 4. 다음중인터럽트트리거의형태에해당하지않는것은? 1 TRUE CHANGE RISING FALLING 과제 1. Motion Detection Sensor 가움직임을감지하면, LED 가켜지면서 Buzzer 에서소리를내도록프로그램을구현하 시오 프로그램실습

102 2-8 실습 8 : Light Sensor 학습목표 1. Light Sensor 의 ADC 변환원리에대해이해한다. 2. Serial 통신의연결방법및입출력함수의사용법을익힌다 Light Sensor 연결 Light Sensor 는우리말로조도센서라고하며, 사람의눈에해당하는장비로물체의모양이나상태, 움직임등을감지한다. 빛자체또는빛에포함되는정보를전기신호로변환하여검지하는소자이다. 검지가비접촉, 비파괴, 고속도, 주변에잡음의영향을주지않고할수있는특징이있다. 다음그림은 ADK Accessory kit 의 Light Sensor 이다. 그림 Light Sensor 다음그림은 ADK Accessory kit 의 Light Sensor 를 HBE-Accessory-Base 에연결한것이다. 2-8 Light Sensor 55

103 그림 Light Sensor 연결 Light Sensor Port 구성표 다음표는 Light Sensor 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Light Sensor CDS ADC1 / A1 표 Light Sensor Port 구성표 Light Sensor 회로도 다음그림은 Light Sensor 회로도이다. Light Sensor 는빛의밝기에따라 CDS 로출력되는전압이변화하여이것 을측정한다. 그림 CDS 센서회로도 프로그램실습

104 2-8-4 프로그램소스 순서도 다음은 Light Sensor 프로그램을구현하기위한순서도이다. 본예제는 Light Sensor 를입력모드로초기화한다음주기적으로빛의밝기를읽어낸다. 읽은값을이용해전압값을산출해내고수치를알수있도록 Host Computer 쪽으로데이터를전송하는기능을수행한다. 그림 CDS 센서프로그램순서도 2-8 Light Sensor 57

105 Light_Sensor.ino 다음은 Light Sensor로빛의밝기를측정하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int Light = A1; 003: int adc_data=0; 004: float Sensor_data=0; 005: 006: void setup() 007: { 008: LED_SW_EN(); 009: Serial.begin(9600); 010: while (!Serial); 011: } 012: 013: void loop() 014: { 015: adc_data = analogread(light); 016: Sensor_data = adc_data / 204.6; 017: Serial.print("adc_data : "); 018: Serial.print(adc_data); 019: Serial.print(", Voltage : "); 020: Serial.print(Sensor_data); 021: Serial.print(" [v]\n\r"); 022: delay(500); 023: } 024: 025: void LED_SW_EN(void) 026: { 027: pinmode(led_en_pin,output); 028: pinmode(sw_en_pin,output); 029: #ifdef LED_EN 030: digitalwrite(led_en_pin,low); 031: #else 032: digitalwrite(led_en_pin,high); 033: #endif 034: #ifdef SW_EN 035: digitalwrite(sw_en_pin,low); 프로그램실습

106 036: #else 037: digitalwrite(sw_en_pin,high); 038: #endif 039: } 프로그램설명 1 setup() Serial.begin(baud) 는속도 baud, 데이터비트 8, 패리티없음, 정지비트 1, 흐름제어없음으로설정하는초기화함수이다. while(!serial); 은통신포트에연결이될때까지여기서대기한다. Serial.write() 는한문자를송신하고, Serial.print() 는문자열등을송신하는함수이며, Serial.println() 는문자열등을송신후 줄바꿈 하는함수이다. 여기서 Serial port를 9600의속도로설정한다. 009: Serial.begin(9600); 010: while (!Serial); 2 loop() value = analogread(pin) 는 pin에대한 port를아날로그값을디지털값으로변환하여 value 에저장하며값의크기는 0~1023으로 10bit 로표현한다. 여기서 Light Sensor 에해당하는 port의아날로그값을디지털값으로변환하여 adc_data에저장하고, 이값을전압으로변환하여 Sensor_data에저장하여이값들을 PC로출력한다. 015: adc_data = analogread(light); 016: Sensor_data = adc_data / 204.6; 017: Serial.print("adc_data : "); 018: Serial.print(adc_data); 019: Serial.print(", Voltage : "); 020: Serial.print(Sensor_data); 021: Serial.print(" [v]\n\r"); 022: delay(500); 2-8 Light Sensor 59

107 2-8-6 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면먼저아두이 노프로그램의도구 - 시리얼모니터를실행시킨다. 그러면다음과같이출력된다. 그림 프로그램동작 프로그램실습

108 2-8-7 아두블럭으로구현하기 아두블럭조립하기 다음은 Light Sensor 의값을읽어서 Serial 포트로센싱데이터를주기적으로전송하는프로그램을구현한것이다. 아날로그광센서블럭역시기본적으로제공되고있으며왼쪽블럭모음에서가져다쓸수있다. 인자로핀번호를 1 번으로지정했으면이것은두번째핀을의미한다. 여기서는처음으로문자열을사용하게되는데아래와같이 glue 블럭을이용해정수형타입의변수를문자열로변환해연결할수있다. 예제를완성하고나면자신의이름도함께붙여보기바란다. 그림 빛을감지해서 Serial 포트로전송하는프로그램소스 2-8 Light Sensor 61

109 2-8-8 요점정리 1. Light Sensor 는조도센서라고하며아날로그신호를디지털신호로변환해주는전자부품이다. 2. Serial 통신연결시 Baudrate, stop bit, parity bit, flow control 등의값을설정해야한다. 3. 아두이노에서직렬통신시 Serial.begin() 를이용해연결하고, read()/write() 를통해양방향통신을할수 있다. 4. analogread() 함수는아날로그값을읽어서 0~1023 의값으로반환해준다 학습문제 1. 다음의보기중에서 Light Sensor 에대한설명과거리가먼것은? 1 조도센서라고하며디지털신호를아날로그신호로변환해주는전자부품이다. 2 사람의눈에해당하는장치이며주위의밝기를감지한다. 3 빛자체또는빛에포함되는정보를전기신호로변환하여주는소자이다. 4 비접촉, 비파괴로주변에영향을주지않고센싱할수있다. 2. 다음중반복문이아닌것은? while() do while() for() if() 2. 다음의보기중에서 Serial 통신의설정값이아닌것은? baud rate ip stop bit flow control 프로그램실습

110 3. 다음의함수들중에서직렬포트를초기화하고통신연결을하는함수는? Serial.write() Serial.begin() Serial.read() Serial.println() 4. analogread() 함수에대한설명으로올바른것은? 1 특정핀에서입력되는디지털값을아날로그값으로변환한다. 2 값의크기는 0~1023으로 10bit 로표현한다. 3 직렬통신시데이터를읽어오는기능을한다. 4 수신된결과값은 HIGH 또는 LOW 의형태를가진다. 2-8 Light Sensor 63

111 과제 1. Light Sensor 를이용해빛이밝으면모터를회전하도록프로그램을구현하시오 프로그램실습

112 2-9 실습 9 : Temperature Sensor 학습목표 1. Temperature Sensor 의온도감지원리에대해이해한다. 2. Serial 통신의장단점을파악하고, UART 와 RS232 의개념에대해이해한다 Temperature Sensor 연결 Temperature Sensor 는우리말로온도센서라고하며, 온도를감지하여전압이나저항의변화와같이전기신호로변환해주는센서이다. 온도센서는설치장소, 프로세서, 특정대상의물리적특성등에따라매우다양하다. 동작원리는금속산화물을얇게입혀서온도에따라저항치가변화하는특성을이용한다. 트랜지스터회로의온도보상, 온도측정, 제어, 통신기기등의자동제어에널리사용된다. 다음그림은 ADK Accessory kit 의 Temperature Sensor 이다. 그림 Temperature Sensor 다음그림은 ADK Accessory kit 의 Temperature Sensor 를 HBE-Accessory-Base 에연결한것이다. 2-9 Temperature Sensor 59

113 그림 Temperature Sensor 연결 Temperature Sensor Port 구성표 다음표는 Temperature Sensor 연결에대한 Port 구성표이며, 표와같이연결되어있다. 구성명칭 Port / Number 비고 Temperature Sensor TEMP ADC2 / A2 표 Temperature Sensor Port 구성표 Temp 센서회로도및연결 다음그림은 Temperature Sensor 회로도이다. Temperature Sensor 는 TEMP 로출력되는전압이변화하여온도 를측정한다. 그림 Temperature Sensor 회로도 프로그램실습

114 2-9-4 프로그램소스 순서도 다음은 Temperature Sensor 를이용해주변의온도를측정하고그값을 Serial 포트로주기적으로전송하는프로그램의순서도이다. 프로그램이시작되면온도를읽어오기위해 Temperature Sensor 의핀을입력모드로설정한다. 그리고 Serial 포트를연결한다음주기적으로온도를감지하고 0.5초마다 Serial 포트로전송하는기능을수행한다. 그림 Temperature Sensor 프로그램순서도 2-9 Temperature Sensor 61

115 Temp_sensor.ino 다음은온도센서를이용하여온도를측정하는예제프로그램소스이다. 001: int LED_EN_PIN = 6, SW_EN_PIN = 7; 002: int temp = A2; 003: int adc_data; 004: float temp_value; 005: 006: void setup() 007: { 008: LED_SW_EN(); 009: Serial.begin(9600); 010: while (!Serial); 011: } 012: 013: void loop() { 014: adc_data = analogread(temp); 015: temp_value = adc_data/2.046; //Vout = (temp*0.01) 016: temp_value -= 50; // temp = (Vout - 0.5) / : Serial.print("TEMP : "); 018: Serial.println(temp_value); 019: delay(500); 020: } 021: 022: void LED_SW_EN(void) 023: { 024: pinmode(led_en_pin,output); 025: pinmode(sw_en_pin,output); 026: #ifdef LED_EN 027: digitalwrite(led_en_pin,low); 028: #else 029: digitalwrite(led_en_pin,high); 030: #endif 031: #ifdef SW_EN 032: digitalwrite(sw_en_pin,low); 033: #else 034: digitalwrite(sw_en_pin,high); 035: #endif 프로그램실습

116 036: } 프로그램설명 1 setup() Serial port를 9600의속도로설정한다. 009: Serial.begin(9600); 010: while (!Serial); 2 loop() temp에해당하는 port의아날로그값을디지털값으로변환하여 adc_data 에저장하고, 이값을온도값으로변환하여 temp_value에저장하여이값을 PC로출력한다. 014: adc_data = analogread(temp); 015: temp_value = adc_data/2.046; //Vout = (temp*0.01) 016: temp_value -= 50; // temp = (Vout - 0.5) / : Serial.print("TEMP : "); 018: Serial.println(temp_value); 019: delay(500); 2-9 Temperature Sensor 63

117 2-9-6 프로그램동작및확인 컴파일을한후다운로드를하고 HBE-Accessory-Base 에 Module Power 전원스위치를 ON 하면먼저아두이 노프로그램의도구 - 시리얼모니터를실행시킨다. 그러면다음과같이출력된다. 그림 프로그램동작 프로그램실습

118 2-9-7 아두블럭으로구현하기 아두블럭조립하기 다음은 Temperature Sensor 프로그램을아두블럭으로구현한예제이다. 초기화를수행하는 setup 부분은비어있는데아두블럭이핀의모드는자동으로초기화를해주기때문이다. 아두이노보드에서실행을시킬때 C언으로자동변환시켜주는것을볼수있는데 setup() 함수가자동으로만들어지고내부적으로 pinmode() 를호출하는것을볼수있다. 그림 아두블럭으로구현한 Temperature Sensor 프로그램 요점정리 1. Temperature Sensor 는온도를감지하여전압이나저항의변화와같이전기신호로변환해준다. 2. Temperature Sensor 는트랜지스터회로의온도보상, 온도측정, 제어, 통신기기등의자동제어에널리 사용된다. 2-9 Temperature Sensor 65

119 3. 직렬통신은데이터비트를 1 개의비트단위로외부로송수신하는방식으로써구현하기가쉽고, 멀리갈수가 있고, 기존의통신선로 ( 전화선등 ) 를쉽게활용할수가있어비용의절감이크다는장점이있다. 4. RS232 는비동기식통신콘트롤러에서출력되는디지털신호를외부와연동시켜주는전기적신호방식이다. 5. UART 에서나오는신호는보통 TTL 신호레벨을갖기때문에노이즈에약하고통신거리에제약이있다 학습문제 1. 다음의설명중 Temperature Sensor 에대한설명과거리가먼것은? 1 온도를감지하여전압이나저항의변화와같이전기신호로변환해준다. 2 설치장소, 프로세서, 물리적특성등에따라매우다양한신호출력장치이다. 3 금속산화물을얇게입혀서제작하여온도에따라저항치가변화하는특성을이용한다. 4 트랜지스터회로의온도보상, 온도측정, 제어, 통신기기등의자동제어에널리사용된다. 2. 다음중온도를나타내는단위가아닌것은? 1 란씨 ( R ) 2 섭씨 ( C ) 3 화씨 ( F ) 4 볍씨 ( P ) 3. 병렬통신에비해직렬통신이가지는장점을한가지이상기입하시오 UART 와 RS232 의차이점을비교하시오 과제 1. Temperature Sensor 를이용해온도가높으면모터를회전하고 LED 를켜도록프로그램을구현하시오 프로그램실습

120 집필진 HBE-ADK-2560 Accessory Firmware 교재 저자 : 한백전자기술연구소발행처 : 한백전자발행일 : 2014 년 2 월 6 일 주소 : 대전광역시유성구궁동 전화 : (042) / 팩스 : (042) Web Site : 가격 : 12,000 원 ISBN : 이책의저작권은저자에게있으며, 저자의동의없이복사 인용 복제 전제를금합니다.

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

실험 5

실험 5 실험. OP Amp 의기초회로 Inverting Amplifier OP amp 를이용한아래와같은 inverting amplifier 회로를고려해본다. ( 그림 ) Inverting amplifier 위의회로에서 OP amp의 입력단자는 + 입력단자와동일한그라운드전압, 즉 0V를유지한다. 또한 OP amp 입력단자로흘러들어가는전류는 0 이므로, 저항에흐르는전류는다음과같다.

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

RVC Robot Vaccum Cleaner

RVC Robot Vaccum Cleaner RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. D/A 변환기 2. 병렬 D/A 변환기로 LED 밝기제어하기 3. 직렬 D/A 변환기로 LED 밝기제어하기 D/A 변환기 D/A 변환기 (Digital to Analog Converter) 디지털데이터를아날로그전압으로변환하는소자 A/D변환기와함께마이크로프로세서응용회로에서널리사용됨.

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

2주차: 입출력 제어 복습

2주차: 입출력 제어 복습 마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

ü ü ü #include #include #include #include Servo servoleft; Servo servoright; int sensorvalue1, sensorvalue2; // 각각앞쪽과뒤쪽의조도센서 int voltage, voltage2;

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

Example: LED flashlight

Example: LED flashlight Example: LED flashlight current flow 500 wiring diagram schematic wiring it up Electricity flows in a loop. Can stop flow by breaking the loop Hello, World! in Arduino 실습목표 LED 켜기프로그램실습 젂자부품 LED 및저항사용법이해

More information

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63> SAM4S Printer Driver Installer 달리명시하지않은한, 인쇄또는복사된문서는통제하지않는문서임 목 차 1. 1. WINDOWS DRIVER INSTALLER 설치 설치...... 2 2. 프린터추가...... 5 3. 프린터제거...... 19 4. 프린터추가 / 제거선택...... 21 5. 프로그램추가 / 제거...... 21 SHC- 11-01-

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

슬라이드 1

슬라이드 1 첨부 4 리모콘별 TV 셋팅방법 2011. 1 전략서비스본부서비스지원팀 1 경제형 2002년개발쌍방향단순-2007년개발경제형 /PVR-2007년개발 2002 년 02 월 ~ 2003 년 08 월 85 만 (40 만은 TV 설정불가 ) 선호채널 도움말 만가능 1) TV 전원을키고 2) 0( 숫자 )+ 음소거동시에누름 -> LED ON 3) 리모콘 LED 주황색불확인후제조사코드입력

More information

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로 Lab. 1. I-V Characteristics of a Diode Lab. 6. 연산증폭기가산기, 미분기, 적분기회로 1. 실험목표 연산증폭기를이용한가산기, 미분기및적분기회로를구성, 측정및 평가해서연산증폭기연산응용회로를이해 2. 실험회로 A. 연산증폭기연산응용회로 (a) 가산기 (b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로 3. 실험장비및부품리스트

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

BS-K1217-M□□-3012_ProductGuide_KR_PDF

BS-K1217-M□□-3012_ProductGuide_KR_PDF READER/WRITER MADE IN JAPAN System [ASLINK ] S-K1217-M-3012..,.,....,,. S-K1217-M08-3012 S-K1217-M12-3012 S-K1217-M18-3012 S-K1217-M30-3012 2() () / 1 2 1 DC..,,.,,,..,....... ' ARW-04 (Ver.04-1.01 ),

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

실험. Multimeter 의사용법및기초회로이론 Multimeter 의사용법 멀티미터 (Multimeter) 는저항, 전압, 전류등을측정할수있는계측기로서전면은다음그림과같다. 멀티미터를이용해서저항, 전압, 전류등을측정하기위해서는다음그림과같은프로브 (probe) 를멀티미터

실험. Multimeter 의사용법및기초회로이론 Multimeter 의사용법 멀티미터 (Multimeter) 는저항, 전압, 전류등을측정할수있는계측기로서전면은다음그림과같다. 멀티미터를이용해서저항, 전압, 전류등을측정하기위해서는다음그림과같은프로브 (probe) 를멀티미터 실험. Multimeter 의사용법및기초회로이론 Multimeter 의사용법 멀티미터 (Multimeter) 는저항, 전압, 전류등을측정할수있는계측기로서전면은다음그림과같다. 멀티미터를이용해서저항, 전압, 전류등을측정하기위해서는다음그림과같은프로브 (probe) 를멀티미터의전면패널에꼽는다. 통상적으로검은색프로브는전면패널의검은단자 (COM) 에꼽으며, 빨간색프로브는빨간색단자에꼽는다.

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

정보보안 개론과 실습:네트워크

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 A 반 T2 - 김우빈 (201011321) 임국현 (201011358) 박대규 (201011329) Robot Vacuum Cleaner 1 Motor Sensor RVC Control Cleaner Robot Vaccum Cleaner 2 / Event Format/ Type Front Sensor RVC 앞의장애물의유무를감지한다. True / False,

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

ATmega128

ATmega128 ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약

More information

슬라이드 1

슬라이드 1 임베디드시스템개론 : Arduino 활용 Lecture #9: IR Sensor 활용 강의목차 Photodiode & Phototransistor 적외선을이용한이동체검출실험 적외선을이용한검은띠검출실험 IR Remote 원리 IR Remote 실험 2 3 1. Photodiode & Phototransistor Photodiode & Phototransistor

More information

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

실험 5

실험 5 실험. OP Amp 의기본특성 이상적 (ideal) OP Amp OP amp는연산증폭기 (operational amp) 라고도불리며, 여러개의트랜지스터로구성이된차동선형증폭기 (differential linear amplifier) 이다. OP amp는가산, 적분, 미분과같은수학적연산을수행하는회로에사용될수있으며, 비디오, 오디오증폭기, 발진기등에널리사용되고있다.

More information

온습도 판넬미터(JTH-05) 사양서V1.0

온습도 판넬미터(JTH-05)  사양서V1.0 온습도 조절기 Model:JTH-05 1. 제품 사양. [제품 구분] JTH-05A(입력 전원 AC), JTH-05D(입력 전원 DC) [전원 사양] JTH-05A 입력 전압 출력 전원 소비 전력 JTH-05D AC 90~240V DC 10~36V 12Vdc / Max.170mA Max.2W [본체 사이즈] ~ 온/습도 범위(본체): 사용 [0 ~ 50, 85%RH

More information

슬라이드 제목 없음

슬라이드 제목 없음 ETOS-DPS-X Guide AC&T SYSTEM 1 ETOS-DPS-X 개요 ETOS-DPS-X Field Bus Network 중 Profibus-DP Network 에연결되는장비. ProfiBus-DP Network 시스템에 DP 통신을지원하지않는현장장비에대한통신서버기능구현. Profibus-DP Slave 동작하기때문에반드시 DP-Master 모듈이있는시스템에서적용가능.

More information

Microsoft PowerPoint - es-arduino-lecture-08

Microsoft PowerPoint - es-arduino-lecture-08 임베디드시스템개론 : Arduino 활용 Lecture #8: IR Sensor 활용 2014. 5. 7 by 김영주 강의목차 Photodiode & Phototransistor 적외선을이용한이동체검출실험 적외선을이용한검은띠검출실험 IR Remote 원리 IR Remote 실험 2 3 1. Photodiode & Phototransistor Photodiode

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

< 제누이노스타트키트 > 사용설명서 목차 1. Arduino IDE 설치하기 2. Genuino 연결및 Arduino IDE 셋팅하기 3. 센서설명및연결도, 예제소스 1

< 제누이노스타트키트 > 사용설명서 목차 1. Arduino IDE 설치하기 2. Genuino 연결및 Arduino IDE 셋팅하기 3. 센서설명및연결도, 예제소스 1 < 제누이노스타트키트 > 사용설명서 목차 1. Arduino IDE 설치하기 2. Genuino 연결및 Arduino IDE 셋팅하기 3. 센서설명및연결도, 예제소스 1 1. Arduino IDE 설치하기 1) Arduino IDE 다운로드 - 홈페이지주소 : https://www.arduino.cc 접속합니다. Download 를클릭합니다. Windows

More information

ez-shv manual

ez-shv manual ez-shv+ SDI to HDMI Converter with Display and Scaler Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft Word - PEB08_USER_GUIDE.doc 0. PEB08 이란? PEB08(PIC EVALUATION BOARD 8bits) 은 Microchip 8bit Device 개발을쉽고편리하게할수있는보드입니다. 1. 다양한 8bit Device 지원 기존대부분의 8bit 보드의경우일부 Pin-Count만지원을하였지만, PEB08은 PIC10, PIC12, PIC16, PIC18의 DIP Type Package의모든

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

실험 5

실험 5 실험. apacitor 및 Inductor 의특성 교류회로 apacitor 의 apacitance 측정 본실험에서는 capacitor를포함하는회로에교류 (A) 전원이연결되어있을때, 정상상태 (steady state) 에서 capacitor의전압과전류의관계를알아본다. apacitance의값이 인 capacitor의전류와전압의관계는다음식과같다. i dv = dt

More information

Section 03 트랜지스터를이용한스위칭동작 16/45 트랜지스터의직류특성 활성 직류상황에서전류 I C 는전류 I B 보다 h FE 배만큼더많은전류가흐름» 베이스와이미터가순방향으로바이어스» 컬렉터와베이스가역방향으로바이어스 차단 만일 I B 가 0[A] 이면컬렉터전류

Section 03 트랜지스터를이용한스위칭동작 16/45 트랜지스터의직류특성 활성 직류상황에서전류 I C 는전류 I B 보다 h FE 배만큼더많은전류가흐름» 베이스와이미터가순방향으로바이어스» 컬렉터와베이스가역방향으로바이어스 차단 만일 I B 가 0[A] 이면컬렉터전류 Section 03 트랜지스터를이용한스위칭동작 15/45 스위치 ON/OFF 의전기적특성 트랜지스터와기계적인스위치를이용한 LED ON/OFF 동작비교 LED 를켜기위한회로 ([ 그림 5-6]) Section 03 트랜지스터를이용한스위칭동작 16/45 트랜지스터의직류특성 활성 직류상황에서전류 I C 는전류 I B 보다 h FE 배만큼더많은전류가흐름» 베이스와이미터가순방향으로바이어스»

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역 Section 03 인터럽트활성화와인터럽트서비스루틴연결 33/82 Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역인터럽트활성화비트가 1 로셋되었을때

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main

More information

KMC.xlsm

KMC.xlsm 제 7 장. /S 에필요한내용 1] IGBT 취급시주의사항 ) IGBT 취급시주의 1) 운반도중에는 Carbon Cross로 G-E를단락시킵니다. 2) 정전기가발생할수있으므로손으로 G-E 및주단자를만지지마십시요. 3) G-E 단자를개방시킨상태에서직류전원을인가하지마십시요. (IGBT 파손됨 ) 4) IGBT 조립시에는사용기기나인체를접지시키십시요. G2 E2 E1

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을 CHAPTER 5 도트매트릭스제어하기 가. 도트매트릭스제어하기 가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을이용한다. 이 IC에는 8개의

More information

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt) 마이크로칩 USB Host & Device 부트로더기능실습 한국마이크로칩서한석부장 (CAE) 2009-09-07 마이크로칩 16 비트 USB 데모보드세팅 Explorer 16 + USB PICtail Plus Daughter Board + USB PIMs Part #: DM240001 Part #: AC164131 Part #: MA240014(PIC24FJ256GB11)

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

PowerPoint Template

PowerPoint Template SOFTWARE ENGINEERING Team Practice #3 (UTP) 201114188 김종연 201114191 정재욱 201114192 정재철 201114195 홍호탁 www.themegallery.com 1 / 19 Contents - Test items - Features to be tested - Features not to be tested

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 유니티와아두이노를활용한 VR 컨트롤러개발 Part 06 헬로앱스코딩교육 김영준 공학박사, 목원대학교겸임교수前 Microsoft 수석연구원 splduino@gmail.com http://www.helloapps.co.kr 키보드로물체생성하기 키보드로물체생성하기 public GameObject CubeObject; public GameObject MyCamera;

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

SMT-1722-1922-Kor.indd

SMT-1722-1922-Kor.indd SMT-2231 사용 설명서 첨부물 포장상자 개봉 후 제품은 튼튼하고 평평한 곳이나 설치장소에 놓고, 다음 내용물이 전부 있는지 체크하세요. TFT LCD 모니터 리모컨&건전지 VGA 신호케이블 전원코드 모니터 설치안내서 사용설명 CD 조작부 설명 전면조작부 적외선 센서 리모컨 센서 수신부 / PIP 동작중인 기능의 레벨증가 및 OSD메뉴 선택합니다.

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

고객 카드 1588-7278

고객 카드 1588-7278 고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송

More information

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기 Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document

More information

그룹웨어와 XXXXX 제목 예제

그룹웨어와 XXXXX 제목 예제 데이터통신 부호화 (encoding) 부호화 (Encoding) 의개념 정보 Encoder 신호 1 Digital - to - Digital 2 Analog - to - Digital 3 Digital - to - Analog 4 Analog - to - Analog 2 1 Digital-to-Digital Encoding Digital 정보를 Digital

More information

슬라이드 1

슬라이드 1 임베디드시스템개론 : Arduino 활용 Lecture #9: Motor 제어 2012. 5. 18 by 김영주 강의목차 소형모터개요 트랜지스터를이용한 DC 모터제어 Motor Driver IC를이용한 DC 모터제어 Servo 모터제어 2 3 1. 소형모터 (Motor) 소형모터 (1) 소형모터 전기에너지를회전운동으로변환하는장치모터소형화로다양하게응용되고있음

More information

Microsoft Word MetOne237Bmanual

Microsoft Word MetOne237Bmanual Air Particle Counter 의사용법 Met One 237 Air Particle Counter 조선계측기교역 Tel : 02-2268-4344 Fax : 02-2275-5348 htt//:www.chosun21.co.kr 1. 장비구성 : A. Particle Counter : 본장비는 0.3um 부터측정이가능한 Met One 237B와 0.5 um부터가능한

More information

UART Controller 구현

UART Controller 구현 7-Segment LED Controller 구현 Lecture # 학습목표 다양한실습을통해 VHDL 의응용능력을기른다 기본적인타이밍도의이해및응용능력을배양한다 주로사용되는출력장치인 FND(7 Segment) 의특성을이해한다 강의순서 7-Segment LED(FND) 장치 PXA55-FPGA FND 회로도구성 7-Segment LED Controller 설계

More information

<4D F736F F F696E74202D E6F312D BCB3C4A12C20C4DAB5F920B1E2C3CA2C20BDC3B8AEBEF3C5EBBDC5>

<4D F736F F F696E74202D E6F312D BCB3C4A12C20C4DAB5F920B1E2C3CA2C20BDC3B8AEBEF3C5EBBDC5> Arduino 1 ( 소개, IDE 설치, 기초코딩 ) 컴퓨터 2 컴퓨터 컴퓨터 자동적으로계산이나작업을수행하는기계 컴퓨터기능 연산 : 데이터에대한산술연산 ( 덧셈, 뺄셈, 곱셈, 나눗셈 ), 논리연산 (AND, OR 등 ) 등을하는기능. 중앙처리장치 (CPU; central processing unit) 에서수행. 제어 : 명령을순차적으로읽고해석하여처리하는기능으로모든장치의동작을지시하고감독통제하여자동적인처리가가능함.

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

½½¶óÀ̵å Á¦¸ñ ¾øÀ½ 0.2 완전차동 (fully dfferental) OP amp Dfferental nput, Dfferental output Easy to cascade OP amps nsenstve to supply nose Hgh gan Fully dff OP amp requres CMFB Hgh Speed CMOS IAB, POSTECH 0.2. NMOS 입력완전차동

More information

ez-md+_manual01

ez-md+_manual01 ez-md+ HDMI/SDI Cross Converter with Audio Mux/Demux Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information