아두이노로만드는인형뽑기장치

Size: px
Start display at page:

Download "아두이노로만드는인형뽑기장치"

Transcription

1 아두이노로만드는인형뽑기장치

2 목 차 Ⅰ. 아두이노및 C프로그래밍기초 아두이노소개 아두이노개발환경구축 C 프로그래밍기초 실습 #1 디지털출력 (LED제어) 실습 #2 - 디지털입력 ( 스위치입력 ) 실습 #3 디스플레이 (7세그먼트) 실습 #4 아날로그입력 ( 조이스틱모듈 ) 실습 #5 센서 실습 #6 통신 / 블루투스 실습 #7 모터 실습 #8 LCD 모듈 Ⅱ. 직교로봇시스템구현 기구부 전기 / 제어시스템 프로그램설계 실습 #1 아날로그조그 (JOG) 동작

3 1. 아두이노 (Arduino) 소개 이탈리아에서디자인수업의목적으로손쉽게사용할수있도록개발된 오픈소스형소형컴퓨터 Atmel 社의마이크로컨트롤러를기반으로구성 아두이노 (Arduino) = 마이크로컨트롤러보드 + 프로그램개발환경 + 인터넷공개포럼 공식포럼 :

4 아두이노 Mega 2560 Overview - Atmel 社의 ATmega2560 마이크로컨트롤러기반의아두이노보드 - 주요사양 마이크로컨트롤러동작전압입력전압 ( 허용 ) 입력전압 ( 한계 ) ATmega2560 5V 7-12V 6-20V 디지털 I/O 핀 54 개 (15 개는 PWM 출력기능 ) 아날로그입력핀 핀당 DC 전류 16 개 20 ma 3.3V 핀전류 50 ma Flash Memory 256 KB (8KB 는부트로더 ) SRAM EEPROM 클럭속도크기무게 8 KB 4 KB 16 MHZ (L) * 53.3(W) 37g - 2 -

5 2. 아두이노개발환경구축 통합개발환경 (Integration Development Environment) 이란? 마이크로컨트롤러시스템개발에필요한하드웨어연결및설정, 프로그래밍작성, 다운로드및디버깅등의작업을손쉽게할수있도록, 관련기능이통합되어있는소프트웨어개발도구또는환경. 통합개발환경소프트웨어설치? - 공식포럼 ( 에서 IDE 소프트웨어를다운로드

6 - 다운로드받은파일을실행하고, 프로그램설치를진행

7 보드연결및설정 - 아두이노메가보드를 PC 에연결 - 아두이노 IDE 실행 - 5 -

8 - 보드종류및포트설정 아두이노보드를다른 PC 에서연결해제한뒤다시연결할때포트번호나보드정보가 바뀔수있으므로, 프로그램컴파일이나보드업로딩이안뒬경우, 반드시확인해야함

9 기본프로그램작성및컴파일, 업로드 - 아두이노 IDE 실행후, 아래예제를입력함. // 아두이노처음시작하기 : 시리얼통신으로메시지받기 void setup() Serial.begin(9600); // 아두이노와통신시작 void loop() Serial.println("Hello Everyone!!"); delay(1000); // 메시지출력 // 1 초기다리기 - 컴파일 버튼클릭 업로드 버튼클릭 - 시리얼모니터 버튼클릭 출력결과확인 - 7 -

10 3. C 프로그래밍기초 C 언어는? 1972 년, 벨연구소 (Bell Lab.) 데니스리치가개발한프로그래밍언어로서, UNIX OS 를 운용하기위해사용되었다가점차적으로널리사용되어현재까지사용됨 C 언어의특징 - 문법이간결하고, 명백함 - 구조화가잘되어있어, 광범위한확장성을지님 - 하드웨어밀착제어가가능하면서도, 사용자편리성이우수함 C 언어학습의필요성 현재 ICT 기술의발전에힘입어, 컴퓨터프로그래밍기술이하드웨어에성능에대한제약을 거의받지않게되면서, 사용자편리성이우수한고급형프로그래밍언어 (Java, C#, Python, VB 등 ) 의사용이증대되고있다. 프로그래밍언어는적용되는시스템환경과상황에맞도록선택되어야하며, 특정 프로그래밍언어가가장좋다. 라는기준은없다. 현재기계공학분야에서주로다루는하드웨어및장비시스템은아직까지주로 C 프로그래밍을기반으로개발되어진다. C 언어는하드웨어성능이뛰어나지않은시스템으로부터고성능시스템에이르기까지적용될 수있도록, 컴파일러환경이다양하게구축되어있으며, 시스템의성능을최대한활용할수 있도록직관적인문법구조로이루어져있다. C 프로그래밍은타프로그래밍언어가갖는기본특성을모두담고있어, 프로그래밍습득에 필요한선수학습으로서매우가치가있는프로그래밍언어이다. 프로그래밍문법이란? 사람의언어와동일하게, 기본적인표현방법과규칙을명시한것. 컴퓨터는문법이 약간이라도틀리면, 동작이아예수행되지않으므로, 기본적인프로그래밍문법을이해하는 것이가장중요하다

11 데이터 : 상수, 변수 - 상수 : 프로그램이실행되기전에미리선언되어, 프로그램실행중값이바뀌지않는데이터 - 변수 : 프로그램이실행되기전데이터형을미리선언한후, 프로그램실행중필요에따라변할수있는데이터 ( 또는메모리공간 ) - 데이터형 : 변수저장되는데이터의종류 ( 정수, 실수, 문자등 ) 유형 크기 ( 바이트 ) 범위 int ~ unsigned int 2 0 ~ long ~ unsigned long float E+38 ~ E+38 double E+38 ~ E+38 boolean 1 true(1) 또는 False(0) char ~ 127 byte 1 0 ~ 255 데이터형별크기는아두이노기준임 연산자 : 데이터의처리를위해사용되는산술, 논리연산을수행하는기능을가진기호 유형 기호 산술연산자 +, -, *, /, %, ++, -- 대입연산자 =, +=, -=, *=, /=, %= 관계연산자 >, >=, <, <=, ==,!= 논리연산자 &&,,! 비트연산자 &,, ^, ~, <<, >> - 9 -

12 제어문 : 프로그램의실행흐름을조건에따라여러가지로나누거나바꾸는기능 유형형식사용예 if 문 if( 조건식 1) 수행문 1; else if( 조건식 2) 수행문 2; else 수행문 3; int x = 5; if(x >10) printf( x 는 10 보다크다 ); else if(x >= 5) printf( x 는 5 보다크거나같다 ); else printf( x 는 5 보다작다 ); for 문 for( 초기값 ; 조건식 ; 증감치 ) 반복수행문 ; for(int n=1 ; n<=10 ; n++) // 1 부터 10 숫자출력 printf( %d, n); while 문 while( 반복조건식 ) 수행문 ; int n=1; while(n <= 10) // 1 부터 10 숫자출력 printf( %d, n); n++; 기타 break, continue, return, do ~ while switch ~ case goto - 함수 (Function) : 프로그램에서반복수행되는부분 ( 또는기능 ) 을별도의기능으로묶어둔것 포인터 (Pointer) : 데이터또는함수가실행되는메모리주소값 (Memory Address) 배열 (Array) : 동일한형태의변수또는데이터를한꺼번에지정한것 구조체 (Structure) : 서로다른데이터형을하나의개념체로묶어서다루는것

13 C 프로그래밍기본예제 - 홀 / 짝수판별 // 변수에저장된숫자가짝수인지홀수인지판단 ( 변수와상수, if 문 ) int number = 1; int result = 0; void setup() Serial.begin(9600); // 아두이노와통신시작 void loop() result = number % 2; // number 를 2 로나눈나머지를 result 에저장 (0 또는 1) if(result == 0) Serial.println("EVEN"); else Serial.println("ODD"); while(1); // 나머지가 0 이면짝수 // 나머지가 1 이면홀수 - 숫자카운트 // 숫자카운트하기 (for 문 ) void setup() Serial.begin(9600); void loop() for(int n=0 ; n<=10 ; n++) Serial.print("Number : "); Serial.println(n); delay(1000); while(1); // 메시지출력 // 숫자출력

14 4. 실습 #1 디지털출력 (LED 제어 ) LED 1 개 On/Off 제어 - LED 회로연결 - 아두이노프로그램작성 // LED Blink 기본예제 void setup() // 13번핀출력초기화 pinmode(13, OUTPUT); void loop() digitalwrite(13, HIGH); delay(1000); digitalwrite(13, LOW); delay(1000); // LED 켜기 // 1초기다리기 // LED 끄기 // 1초기다리기

15 LED 8 개 On/Off 제어 - LED 회로연결 - 아두이노프로그램작성 // LED 순차적으로켜고끄기 void setup() // 출력핀초기화 for(int pin=6 ; pin <= 13 ; pin++) pinmode(pin, OUTPUT); void loop() for(int pin=6 ; pin <= 13 ; pin++) digitalwrite(pin, HIGH); delay(500); digitalwrite(pin, LOW);

16 5. 실습 #2 디지털입력 ( 스위치입력 ) 스위치 1 개연결 - 스위치회로연결 ( 실습 #1 에추가연결 ) - 아두이노프로그램작성 // 버튼입력할때 LED 켜지기 int buttonpin = 5; int ledpin = 13; int buttonstate = 0; // 입력핀번호 // 출력핀번호 // 버튼상태저장 void setup() pinmode(ledpin, OUTPUT); // 출력핀 pinmode(buttonpin, INPUT); // 입력핀모드 void loop() buttonstate = digitalread(buttonpin); // 버튼입력 // 버튼상태확인 if(buttonstate == LOW) digitalwrite(ledpin, HIGH); else digitalwrite(ledpin, LOW); // LED ON // LED OFF

17 QUEST 1. 실습 #2 의회로를이용해서, LED 동작을여러가지로바꿔보시오. 2. 실습 #2 의회로를이용해서, 스위치를누를때마다 LED 점등위치가바뀌도록 프로그램을작성해보시오

18 6. 실습 #3 디스플레이 (7 세그먼트 ) 7 세그먼트 (FND Flexible Numerical Display) 란? - LED 를점등을이용해서숫자 (0 ~ F) 및간단한기호를표현할수있는디스플레이장치 - 공통단자의극성에따라서캐소드 (K) 형또는에노드 (A) 형으로구분됨

19 7 세그먼트 1 개연결 - 7 세그먼트회로연결 7 세그먼트의 a~h 단자를디지털핀 6~13 에순서대로연결 - 아두이노프로그램작성 // for 문을이용한 FND 출력예제 int ledpin[8] = 6, 7, 8, 9, 10, 11, 12, 13; byte numtable[10] = B , // 0 B , // 1 B , // 2 B , // 3 B , // 4 B , // 5 B , // 6 B , // 7 B , // 8 B // 9 ; boolean segment = false; 다음장에계속

20 void setup() for(int i=0 ; i < 8 ; i++) pinmode(ledpin[i], OUTPUT); void loop() // 숫자증가 : 0 ~ 9 for(int Num=0 ; Num<=9 ; Num++) // 해당숫자를 FND에표시 for(int i=0 ; i<8 ; i++) // 해당비트를추출 segment = ( ( B << i ) & numtable[num] ) >> i; digitalwrite(ledpin[i], segment); delay(1000); QUEST 1. 실습 #3 의회로를이용해서, 7 세그먼트의동작을바꿔보시오. 2. 실습 #3 을기초로, 여러개의 7 세그먼트를연결해서, 다양한숫자값을표현하시 오

21 7. 실습 #4 아날로그입력 ( 조이스틱모듈 ) 아두이노보드아날로그입력단자및사양 아두이노보드아날로그출력단자및사양 PWM(Pulse Width Modulation, 펄스폭변조 ) 이란? - 빠르게 ON/OFF 되는신호의 ON 시간의비율 (Duty Ratio) 를조정하여, 아날로그출력과유사한출력효과를만드는것

22 아날로그조이스틱입력 - 조이스틱모듈연결 - 아두이노프로그램작성 // 아날로그입력값을전압으로표현하기 void setup() Serial.begin(9600); // 시리얼모니터초기화 void loop() int sensorvalue = analogread(a0); long voltage = map(sensorvalue, 0, 1023, 0, 500); Serial.print("Digital :"); Serial.print(sensorValue); Serial.print(" Voltage :"); Serial.println((float)voltage/100); // 아날로그 A0 입력받기 // 디지털값출력 // 전압값출력 delay(500); // 시간딜레이 0.5 초 - 프로그램업로드 시리얼모니터실행 조이스틱모듈조작, 값변화확인

23 8. 실습 #5 센서 조도센서 - 센서결선 - 아두이노프로그램작성 // CDS 센서와 LED int ledpin = 13; int sensorpin = 0; void setup() pinmode(ledpin, OUTPUT); void loop() int sensor = analogread(sensorpin); digitalwrite(ledpin, HIGH); delay(sensor); digitalwrite(ledpin, LOW); delay(sensor);

24 온습도센서모듈 - 센서결선 - 아두이노프로그램작성 #include <DHT.h> DHT dht(2, DHT11); // 온습도센서모듈설정 void setup() Serial.begin(9600); Serial.println("DHT11 measure start"); dht.begin(); // 온습도센서모듈시작 void loop() float humivalue = dht.readhumidity(); float tempvalue = dht.readtemperature(); if( isnan(humivalue) isnan(tempvalue) ) Serial.println("Failed"); return; Serial.print("Humidity:"); Serial.print(humiValue); Serial.println("%RH"); Serial.print("Temperature:"); Serial.print(tempValue); Serial.println("C"); Serial.println(); delay(2000);

25 9. 실습 #6 통신 / 블루투스 블루투스모듈 (HC-06) 결선 블루투스모듈 (HC-06) 설정 - 아두이노프로그램작성 #include <SoftwareSerial.h> SoftwareSerial BT(12, 13); void setup() Serial.begin(9600); BT.begin(9600); void loop() if (BT.available()) Serial.write(BT.read()); if (Serial.available()) BT.write(Serial.read());

26 - 블루투스이름, PIN 설정

27 - 25 -

28 - 26 -

29 - 27 -

30 블루투스로원격 LED 오 / 오프제어 - 아두이노프로그램작성 #include <SoftwareSerial.h> int ledpin = 13; SoftwareSerial BT(2, 3); void setup() BT.begin(9600); pinmode(ledpin, OUTPUT); void loop() if(bt.available()) char a = (char)bt.read(); if(a == '1') digitalwrite(ledpin, HIGH); else if(a == '0') digitalwrite(ledpin, LOW); - 원격조정테스트 ( 채팅앱이용 )

31 - 원격조정테스트 ( 컨트롤러앱이용 )

32 10. 실습 #7 모터 서보모터란? 모터와모터의위치측정센서, 주변제어부를포함하여모터의위치, 속도를제어할수있도록구 성된제어시스템을서보제어시스템이라고하며, 이때사용되는모터를통상, 서보모터라고칭한다. 서보모터구동 - 모터결선 ( 실습 #4 에추가연결 ) - 아두이노프로그램작성 #include <Servo.h> Servo myservo; void setup() myservo.attach(12); myservo.write(0); delay(1000); void loop() int sensorvalue = analogread(a0); int angle = map(sensorvalue, 0, 1023, 0, 180); myservo.write(angle); delay(50);

33 11. 실습 #8 LCD 모듈 LCD ( Liquid Crystal Display) - 디지털기기의기본적인디스플레이장치로널리사용됨 - 지정된문자 ( 숫자 ) 만표시할수있는텍스트 LCD와문자및그림출력이가능한그래픽 LCD로구분됨. LCD 구동 - LCD 결선 (I2C 통신방식 ) - 아두이노프로그램작성 #include <Wire.h> #include <LiquidCrystal_I2C.h> // I2C 통신용 // LCD 제어용 LiquidCrystal_I2C lcd(0x3f, 16, 2); // LCD 초기세팅 (0x27) void setup() lcd.init(); lcd.backlight(); lcd.setcursor(0,0); Serial.begin(9600); // LCD 초기화 // LCD 백라이트 ON // LCD 커서위치 다음장에계속

34 void loop() // 시리얼통신으로전송된데이터가있으면데이터표시함. if (Serial.available()) delay(100); lcd.clear(); while (Serial.available() > 0) lcd.write(serial.read()); - 시리얼모니터입력창에메시지입력후 LCD 에표시되는지확인 Hello World! - LCD 글자명암조정 ( 글자가안보이거나, 화면이검게나오는경우 )

35 Ⅱ. 직교로봇시스템구현 1. 기구부 기구부구성

36 Ⅱ. 직교로봇시스템구현 프레임조립 수직프레임 (4) 수평프레임 (9) 1. 수평프레임양끝에프레임체결너트를그림과같이조립한다. ( 느슨하게 ) 2. 수평프레임과수직프레임을그림과같이조립한뒤, 체결홀을이용해서볼트를조여준다

37 Ⅱ. 직교로봇시스템구현 3. 프레임을그림과같이 L 자로조립한뒤, 프레임홈에하부투명커버를끼운다. 하부커버를반드시미리끼워야함. 4. 수평프레임을하부커버모서리에위치시킨후, 수직프레임을수평프레임이맞닿는부분에끼운다. 순서대로조립해야만하부커버조립이가능함. 수평프레임에사각너트를미리삽입한다.( 5 번참조 )

38 Ⅱ. 직교로봇시스템구현 5. 나머지프레임을조립한다. 이때, 수평프레임홈에는사각너트를반드시삽입한다. ( 상단그림개수참조 ) 사각너트는프레임에부품을조립할때사용하므로미리삽입해두어야한다

39 Ⅱ. 직교로봇시스템구현 구동부조립 1. 상단수평프레임에그럼과같이측면브라켓을고정시킨다. ( M5 8 렌치볼트 )

40 Ⅱ. 직교로봇시스템구현 리니어부싱 ( 장축 ) 2. 리니어부싱 ( 장축 ) 을측면브라켓에고정한다

41 Ⅱ. 직교로봇시스템구현 상단브라켓 ( 좌 / 우 ) 리니어부싱 ( 단축 ) 3. 리니어부싱 ( 장축 ) 좌 / 우측어상단브라켓에고정한다. 4. 리니어부싱 ( 단축 ) 을상단브라켓에고정한다

42 Ⅱ. 직교로봇시스템구현 5. 중앙브라켓을부싱 ( 단축 ) 상단에고정한다. 방향주의 6. 모터브라켓을중앙브라켓상단에고정한다. 모터브라켓방향주의 7. 모터브라켓을우측상단브라켓에고정한다. 모터브라켓방향주의

43 Ⅱ. 직교로봇시스템구현 8. 우측상단프레임에센서브라켓을고정한다. 피니언기어 (φ5) 좌측측면브라켓 좌측상단브라켓 9. 베어링마운트에피니언기어 (φ5) 를방향과같이조립한다. 조립방향주의 피니언기어는 φ5 및 φ6 의두종류가있으므로혼동하지말것

44 Ⅱ. 직교로봇시스템구현 10. 좌측상단브라켓측면에벨트고정브라켓을고정한다. 좌측모터브라켓우측상단모터브라켓중앙모터도르레 11. 모터브라켓에모터를고정하고, 피니언기어 (φ6) 또는도르레를고정한다. 모터감속비주의 ( 주행축 1/60, 도르레 1/90) 12. 리미트센서를고정한다

45 Ⅱ. 직교로봇시스템구현 2. 전기 / 제어시스템 전기 / 제어시스템구성 - 구성요소 MEGA2560 DC 모터 (3 개 ) SMPS (12V, 100W) 아날로그조이스틱 (1 개 ) 마이크로스위치 (3 개 ) 7 세그먼트 (2 개 ) 마이크로스위치 (4 개 ) Tact 스위치 (2 개 ) 브레드보드, 점퍼선, 저항등

46 Ⅱ. 직교로봇시스템구현 DC 모터결선 서보모터결선

47 Ⅱ. 직교로봇시스템구현 디지털입력버튼결선 - 리미트센서 - 시작, 동작버튼

48 Ⅱ. 직교로봇시스템구현 아날로그 ( 조이스틱 ) 입력버튼결선 디스플레이결선 - 표시할숫자의자릿수만큼 7 세그먼트를배치하고, 해당디지털핀에순서대로결선함

49 Ⅱ. 직교로봇시스템구현 3. 프로그램설계 - 순서도 loop() if ( step == 0 ) // 버튼, LED 초기화 else if ( step == 1 ) // 시작버튼입력확인 else if ( step == 2 ) // 시간초과확인 // 조그동작 else if ( step == 3 ) // 집게 - 하강, GRAP ON, 상승 else if ( step == 4 ) // 집게 - 배출구로이동 else if ( step == 5 ) // 집게 - GRAP OFF else if ( step == 6 ) // 집게 - 원위치

50 Ⅱ. 직교로봇시스템구현 4. 실습 #1 전체프로그램 #include <Servo.h> #define TIME // msec // 7 세그먼트출력핀 0 ~ 3 자리 int ipinfnd[2][8] = 30, 31, 32, 33, 34, 35, 36, 37, 22, 23, 24, 25, 26, 27, 28, 29 ; // 7세그먼트숫자값 : 0 ~ 9 byte arnumtable[10][8] = 1, 1, 1, 1, 1, 1, 0, 0, // 0 0, 1, 1, 0, 0, 0, 0, 0, // 1 1, 1, 0, 1, 1, 0, 1, 0, // 2 1, 1, 1, 1, 0, 0, 1, 0, // 3 0, 1, 1, 0, 0, 1, 1, 0, // 4 1, 0, 1, 1, 0, 1, 1, 0, // 5 1, 0, 1, 1, 1, 1, 1, 0, // 6 1, 1, 1, 0, 0, 0, 0, 0, // 7 1, 1, 1, 1, 1, 1, 1, 0, // 8 1, 1, 1, 1, 0, 1, 1, 0 ; // 9 int ipinmotor_x_cw = 2; int ipinmotor_x_ccw = 3; int ipinmotor_y_cw = 4; int ipinmotor_y_ccw = 5; int ipinmotor_z_cw = 6; int ipinmotor_z_ccw = 7; int ipinlimit_x_min = 8; int ipinlimit_x_max = 9; int ipinlimit_y_min = 10; int ipinlimit_y_max = 11; int ipinjog_x = A0; int ipinjog_y = A1; int ipinservo[3] = 38, 39, 40; int ipinbtn_start = 12; int ipinbtn_crain = 13; int ioldval_x = 0; int ioldval_y = 0;

51 Ⅱ. 직교로봇시스템구현 int istep = 0; unsigned long ulpretime = 0; unsigned long ulpretime_demo = 0; Servo Gripper[3]; void setup() Serial.begin(9600); for (int i = 0 ; i < 2 ; i++) for (int pin = 0 ; pin < 8 ; pin++) pinmode(ipinfnd[i][pin], OUTPUT); for (int servo = 0 ; servo < 3; servo++) Gripper[servo].attach(iPinServo[servo]); Gripper[servo].write(90); pinmode(ipinlimit_x_min, INPUT_PULLUP); pinmode(ipinlimit_x_max, INPUT_PULLUP); pinmode(ipinlimit_y_min, INPUT_PULLUP); pinmode(ipinlimit_y_max, INPUT_PULLUP); pinmode(ipinbtn_start, INPUT_PULLUP); pinmode(ipinbtn_crain, INPUT_PULLUP); delay(500); int istatedemo = 1; void loop() // 리미트센서 boolean blimit_x_min = (boolean)!digitalread(ipinlimit_x_min); boolean blimit_x_max = (boolean)!digitalread(ipinlimit_x_max); boolean blimit_y_min = (boolean)!digitalread(ipinlimit_y_min);

52 Ⅱ. 직교로봇시스템구현 boolean blimit_y_max = (boolean)!digitalread(ipinlimit_y_max); // 조그, 버튼입력 int ival_x = analogread(ipinjog_x); int ival_y = analogread(ipinjog_y); unsigned long ulcurtime = millis(); if (istep == 0) Serial.println("INITIALIZE"); for (int i = 0 ; i < 2 ; i++) for (int pin = 0 ; pin < 8 ; pin++) digitalwrite(ipinfnd[i][pin], LOW); istep = 1; Serial.println("WAIT START"); if (istep == 1) if (ulcurtime - ulpretime_demo >= 700) istatedemo =!istatedemo; ulpretime_demo = ulcurtime; digitalwrite(ipinfnd[1][6], istatedemo); digitalwrite(ipinfnd[0][6], istatedemo); if (digitalread(ipinbtn_start) == LOW) delay(50); Serial.println("GAME START"); istep = 2; ulpretime = ulcurtime;

53 Ⅱ. 직교로봇시스템구현 if (ival_y > 700) // Y+ analogwrite(ipinmotor_z_cw, 0); analogwrite(ipinmotor_z_ccw, 255); else if (ival_y < 300) // Y- analogwrite(ipinmotor_z_cw, 255); analogwrite(ipinmotor_z_ccw, 0); else analogwrite(ipinmotor_z_cw, 0); analogwrite(ipinmotor_z_ccw, 0); if (istep == 2) unsigned long ulelapsedtime = ulcurtime - ulpretime; double dtime = (double)(time - ulelapsedtime)/1000.; if(dtime > (int)dtime) DisplayNumber((int)dTime+1); else DisplayNumber((int)dTime); if (ulelapsedtime >= TIME) Serial.println("TIME OVER"); istep = 3; else // 조그동작 if ( (abs(ioldval_x - ival_x) > 30) (abs(ioldval_y - ival_y) > 30) ) ioldval_x = ival_x; ioldval_y = ival_y; Serial.print(iVal_X); Serial.print(", "); Serial.println(iVal_Y);

54 Ⅱ. 직교로봇시스템구현 if (ival_x < 300) // X+ if (blimit_x_max == false) analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 255); else Serial.println("Limit_X_Max"); analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); else if (ival_x > 700) // X- if (blimit_x_min == false) analogwrite(ipinmotor_x_cw, 255); analogwrite(ipinmotor_x_ccw, 0); else Serial.println("Limit_X_Min"); analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); else analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); if (ival_y > 700) // Y+ if (blimit_y_max == false) analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 255); else Serial.println("Limit_Y_Max"); analogwrite(ipinmotor_y_cw, 0);

55 Ⅱ. 직교로봇시스템구현 analogwrite(ipinmotor_y_ccw, 0); else if (ival_y < 300) // Y- if (blimit_y_min == false) analogwrite(ipinmotor_y_cw, 255); analogwrite(ipinmotor_y_ccw, 0); else Serial.println("Limit_Y_Min"); analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); else analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); // 크레인동작버튼 if (digitalread(ipinbtn_crain) == LOW) delay(50); // 모터정지 analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); istep = 3; if (istep == 3) Serial.println("PICK UP"); // 1. 하강 analogwrite(ipinmotor_z_cw, 0); analogwrite(ipinmotor_z_ccw, 255);

56 Ⅱ. 직교로봇시스템구현 delay(3500); // 2. 정지 & GRAP ON analogwrite(ipinmotor_z_cw, 0); analogwrite(ipinmotor_z_ccw, 0); for (int servo = 0 ; servo < 3; servo++) Gripper[servo].attach(iPinServo[servo]); Gripper[servo].write(140); delay(1000); // 3. 상승 analogwrite(ipinmotor_z_cw, 255); analogwrite(ipinmotor_z_ccw, 0); delay(3500); // 4. 정지 analogwrite(ipinmotor_z_cw, 0); analogwrite(ipinmotor_z_ccw, 0); istep = 4; Serial.println("TAKE OUT"); if (istep == 4) if (blimit_x_max == false) analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 255); else analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); if (blimit_y_max == false) analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 255); else

57 Ⅱ. 직교로봇시스템구현 analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); if (blimit_x_max == true && blimit_y_max == true) analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); istep = 5; if (istep == 5) Serial.println("GRAP OFF"); // GRAP OFF for (int servo = 0 ; servo < 3; servo++) Gripper[servo].attach(iPinServo[servo]); Gripper[servo].write(90); delay(3000); istep = 6; Serial.println("RETURN HOME"); if (istep == 6) if (blimit_x_min == false) analogwrite(ipinmotor_x_cw, 255); analogwrite(ipinmotor_x_ccw, 0); else analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0);

58 Ⅱ. 직교로봇시스템구현 if (blimit_y_min == false) analogwrite(ipinmotor_y_cw, 255); analogwrite(ipinmotor_y_ccw, 0); else analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); if (blimit_x_min == true && blimit_y_min == true) Serial.println("GAME OVER"); analogwrite(ipinmotor_x_cw, 0); analogwrite(ipinmotor_x_ccw, 0); analogwrite(ipinmotor_y_cw, 0); analogwrite(ipinmotor_y_ccw, 0); istep = 0; void DisplayNumber(int inum) // 10의자리표시 int inum_10 = inum / 10; for (int pin = 0 ; pin < 8 ; pin++) digitalwrite(ipinfnd[1][pin], arnumtable[inum_10][pin]); // 1 의자리표시 int inum_1 = inum % 10; for (int pin = 0 ; pin < 8 ; pin++) digitalwrite(ipinfnd[0][pin], arnumtable[inum_1][pin]);

아두이노로만드는 4 족보행로봇

아두이노로만드는 4 족보행로봇 아두이노로만드는 4 족보행로봇 목 차 Ⅰ. 아두이노및 C프로그래밍기초 ------------------------------------------------------- 1 1. 아두이노소개 ------------------------------------------------------------------------- 1 2. 아두이노개발환경구축 --------------------------------------------------------------

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

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

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

< 제누이노스타트키트 > 사용설명서 목차 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

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 PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

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

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

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

슬라이드 1

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

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

Motor

Motor Interactive Workshop for Artists & Designers Earl Park Motor Servo Motor Control #include Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

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

OCW_C언어 기초

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

More information

<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

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

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

프로그래밍개론및실습 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 - 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

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

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

More information

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

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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

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

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

ATmega128

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

More information

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

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

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

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 PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

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

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

중간고사

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

More information

11장 포인터

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

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

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

More information

Arduino- 서보모터 서울과학기술대학교기계시스템디자인공학과 교수김성환

Arduino- 서보모터 서울과학기술대학교기계시스템디자인공학과 교수김성환 Arduino- 서보모터 2017.11.25 서울과학기술대학교기계시스템디자인공학과 교수김성환 1. Arduino 란? (1) 아두이노 (Arduino) 는오픈소스를기반으로한단일보드마이크로컨트롤러. AVR 기반. (2) 가장큰장점은마이크로컨트롤러를쉽게동작시킬수있다는것. 일반적인번거로운과정을피하고, 컴파일된펌웨어를 USB를통해쉽게업로드. (3) 저렴하고, 윈도를비롯해맥

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

lecture4(6.범용IO).hwp

lecture4(6.범용IO).hwp 제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장

More information

Microsoft PowerPoint - es-arduino-lecture-09

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

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 학습목표 의 개념에 대해 알아본다.

More information

슬라이드 1

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

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

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복

More information

시프트 레지스터 Shift Resistor 자, 이제 LED MATRIX 8x8 Board를 마이크로컨트롤러에 연결된 3개의 선으 로 제어해 보자. 이는 마이크로컨트롤러의 포트를 확장함과 동시에 프로그램 으로 제어를 더 쉽게 한다는 장점이 있다. 물론 포트를 절약하게

시프트 레지스터 Shift Resistor 자, 이제 LED MATRIX 8x8 Board를 마이크로컨트롤러에 연결된 3개의 선으 로 제어해 보자. 이는 마이크로컨트롤러의 포트를 확장함과 동시에 프로그램 으로 제어를 더 쉽게 한다는 장점이 있다. 물론 포트를 절약하게 Physical Computing for Artists & Designers 연세대학교디지털아트학과 Earl Park 시프트 레지스터 Shift Resistor 자, 이제 LED MATRIX 8x8 Board를 마이크로컨트롤러에 연결된 3개의 선으 로 제어해 보자. 이는 마이크로컨트롤러의 포트를 확장함과 동시에 프로그램 으로 제어를 더 쉽게 한다는 장점이 있다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D> 아두이노사용해보기 http://arduino.cc/ 에서먼저프로그램을다운로드하여설치합니다. 시작이반이다 라는옛말이있죠? MCU 사용에있어서도개발환경구축하고, LED 하나깜박여보면절반은끝난거나마찬가지죠. 뭐 ~ 일단 http://arduino.cc/ 에방문하여 Download 를누르고해당 OS ( 보통 Windows를사용하시죠?) 용을압축파일을다운로드 ( 용량이

More information

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

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

More information

목차 1 아두이노와이어링 & 코딩 1-1 아두이노초보자를위한 아두이노와이어링과코딩에의한 LED ON OFF 12 Coding_LED_ON_OFF_ 아두이노초보자에게위험스러운 아두이노코딩에의한 LED

목차 1 아두이노와이어링 & 코딩 1-1 아두이노초보자를위한 아두이노와이어링과코딩에의한 LED ON OFF 12 Coding_LED_ON_OFF_ 아두이노초보자에게위험스러운 아두이노코딩에의한 LED 목차 1 아두이노와이어링 & 코딩 1-1 아두이노초보자를위한 아두이노와이어링과코딩에의한 LED ON OFF 12 Coding_LED_ON_OFF_01 http://blog.daum.net/ejleep1/360 1-2 아두이노초보자에게위험스러운 아두이노코딩에의한 LED ON OFF 16 Coding_Dangerous_LED_ON_OFF_01 http://blog.daum.net/ejleep1/370

More information

C 프로그래밊 개요

C 프로그래밊 개요 구조체 2009 년 5 월 19 일 김경중 강의계획수정 일자계획 Quiz 실습보강 5 월 19 일 ( 화 ) 구조체 Quiz ( 함수 ) 5 월 21 일 ( 목 ) 구조체저녁 6 시 5 월 26 일 ( 화 ) 포인터 5 월 28 일 ( 목 ) 특강 (12:00-1:30) 6 월 2 일 ( 화 ) 포인터 Quiz ( 구조체 ) 저녁 6 시 6 월 4 일 ( 목

More information

Microsoft Word doc

Microsoft Word doc 2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.

More information

NodeMCU 입문하기 목차 1. NodeMCU란? 2. NodeMCU로할수있는프로젝트 3. NodeMCU 개발환경구축하기 4. NodeMCU를사용하여 HELLO WORLD! 웹에출력하기 5. NodeMCU로 Blink 예제실행하기 6. 원격으로 LED 제어하기 7.

NodeMCU 입문하기 목차 1. NodeMCU란? 2. NodeMCU로할수있는프로젝트 3. NodeMCU 개발환경구축하기 4. NodeMCU를사용하여 HELLO WORLD! 웹에출력하기 5. NodeMCU로 Blink 예제실행하기 6. 원격으로 LED 제어하기 7. NodeMCU 입문하기 목차 1. NodeMCU란? 2. NodeMCU로할수있는프로젝트 3. NodeMCU 개발환경구축하기 4. NodeMCU를사용하여 HELLO WORLD! 웹에출력하기 5. NodeMCU로 Blink 예제실행하기 6. 원격으로 LED 제어하기 7. 원격으로 RGB LED 제어하기 8. 원격으로온습도모니터링하기 9. 원격으로화분의수분량모니터링하기

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

슬라이드 1

슬라이드 1 UNIT 07 조건문과반복문 로봇 SW 교육원 3 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

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

Chapter 4. LISTS

Chapter 4. LISTS 6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

졸업작품 2 차보고서 Graduation Project 내자전거를지켜줘! 이름학번연락처이메일 이주희 김민선 지도교수 :

졸업작품 2 차보고서 Graduation Project 내자전거를지켜줘! 이름학번연락처이메일 이주희 김민선 지도교수 : 내자전거를지켜줘! 이름학번연락처이메일 이주희 201011357 010-5043-9053 da2468@naver.com 김민선 201011312 010-9086-9037 mieeu@hanmail.net 지도교수 : 김기천교수님 ( 인 ) Computer Science & Engineering 1/18 1. 프로젝트소개 1.1 배경및목적 1.2 시나리오 1.3

More information

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 - Part2-3 3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 3.1 포인터란 ü ü ü. ü. ü. ü ( ) ? 3.1 ü. ü C ( ).? ü ü PART2-4 ü ( ) PART3-4 3.2 포인터변수의선언과사용 3.2 포인터 변수의 선언과 사용 (1/8) 포인터 변수의

More information

03_원격제어반_IDAC-2W

03_원격제어반_IDAC-2W IDAC-2W (Intelligent Distributed Automatic Controller) 1. 개요 IDAC-2W 는 HVAC 의공기조화기, 냉온수열원장비, BC 의저소음휀및기타설비장비를제어하기위한제어기기이다. LCD( Liquid Crystal Display) 가장착된이제어기기는장비의다양한제어기능및데이터통신기능을가지며, Key- Pad 를이용하여장비의운전및설정할수있다.

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

untitled

untitled while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

슬라이드 1

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

More information

차시 AS_02 대상 교육주제아두이노 LED 및버튼제어프로젝트교육시간 120 분 1. 아두이노를이용하여 LED 를제어할수있다. 교육목표 2. 아두이노를이용하여삼색 LED 를제어할수있다. 3. 아두이노에서버튼입력을수행하여프로그램에연동할수있다. 장비류는미리배분하고, 재료는

차시 AS_02 대상 교육주제아두이노 LED 및버튼제어프로젝트교육시간 120 분 1. 아두이노를이용하여 LED 를제어할수있다. 교육목표 2. 아두이노를이용하여삼색 LED 를제어할수있다. 3. 아두이노에서버튼입력을수행하여프로그램에연동할수있다. 장비류는미리배분하고, 재료는 차시 AS_02 대상 교육주제아두이노 LED 및버튼제어프로젝트교육시간 120 분 1. 아두이노를이용하여 LED 를제어할수있다. 교육목표 2. 아두이노를이용하여삼색 LED 를제어할수있다. 3. 아두이노에서버튼입력을수행하여프로그램에연동할수있다. 장비류는미리배분하고, 재료는각실험단계에서배분한다. Arduino 1.0 USB 케이블 1.0 교육자료 ( 준비물 ) 300Ω

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 유니티와아두이노를활용한 VR 컨트롤러개발 헬로앱스코딩교육 김영준 공학박사, 목원대학교겸임교수前 Microsoft 수석연구원 splduino@gmail.com http://www.helloapps.co.kr 목차 1. 툴설치 2. 아두이노컨트롤러개발실습 3. 유니티기본명령어실습 4. 유니티 VR 콘텐츠개발실습 5. 블루투스를이용한아두이노컨트롤러연동실습 SW 설치

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

2주차: 입출력 제어 복습

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

More information

PowerPoint 프레젠테이션

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

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

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 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

<4D F736F F F696E74202D203131C1D6C2F7202D E6FB8A620C0CCBFEBC7D120C4B3B8AFC5CD204C43442C C1A6BEEEC7CFB1E2205

<4D F736F F F696E74202D203131C1D6C2F7202D E6FB8A620C0CCBFEBC7D120C4B3B8AFC5CD204C43442C C1A6BEEEC7CFB1E2205 강의내용 Ⅰ Arduino 를이용한캐릭터 LCD, VFD 제어하기 1 1. 소개 소개 - CDS 와디지털입출력포트그중에서도 PWM 포트를사용하여 LED 를 통하여아날로그출력을해보려고함. - 이번강좌를통해여러가지센서들을응용함에많은도움이될것임. 2 1. 소개 - 요즘 LCD와관련하여많은제품들이나오고있음. 종류도다양하고크기도다양함. - 이번강의에서는아두이노를이용하여

More information

아날로그입력 Analog Input 작품이외부세계에관한정보를아날로그형태로읽어들이는경우. 센서를이용하는여러프로젝트들이이에속한다. 이를테면작품앞에있는사람의몸무게는어느정도인지, 방안의 조명은얼마나밝은지등을알고자하는경우가이에속한다. 예 ) 다양한센서들

아날로그입력 Analog Input 작품이외부세계에관한정보를아날로그형태로읽어들이는경우. 센서를이용하는여러프로젝트들이이에속한다. 이를테면작품앞에있는사람의몸무게는어느정도인지, 방안의 조명은얼마나밝은지등을알고자하는경우가이에속한다. 예 ) 다양한센서들 Physical Computing for Designers & Artists 연세대학교디지털아트학과 Earl Park 아날로그입력 Analog Input 작품이외부세계에관한정보를아날로그형태로읽어들이는경우. 센서를이용하는여러프로젝트들이이에속한다. 이를테면작품앞에있는사람의몸무게는어느정도인지, 방안의 조명은얼마나밝은지등을알고자하는경우가이에속한다. 예 ) 다양한센서들

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