LOGO v DC DC Motor p 154 v

  • Slides: 26
Download presentation

목차 LOGO v DC 모터(DC Motor) 제어 (p. 154) v 서보모터(Servomotor) 제어 (p. 160)

목차 LOGO v DC 모터(DC Motor) 제어 (p. 154) v 서보모터(Servomotor) 제어 (p. 160) Dongyang Mirae University 최신인터넷기술(ARDUINO) 2 prepared by Choon Woo Kwon

아두이노 DC모터 제어 - 스케치 LOGO int analog. In. Pin = A 0; int

아두이노 DC모터 제어 - 스케치 LOGO int analog. In. Pin = A 0; int output. Value; int sensor. Value; void setup() { ; } void loop() { sensor. Value = analog. Read(analog. In. Pin); output. Value = map(sensor. Value, 0, 1023, 0, 255); analog. Write(3, output. Value); } delay(100); Dongyang Mirae University 최신인터넷기술(ARDUINO) 7 prepared by Choon Woo Kwon

map : 특정 범위의 수를 다른 범위로 변환 LOGO (Syntax) map(value, from. Low, from.

map : 특정 범위의 수를 다른 범위로 변환 LOGO (Syntax) map(value, from. Low, from. High, to. Low, to. High) Ø Parameters ü value: the number to map ü from. Low: the lower bound of the value's current range ü from. High: the upper bound of the value's current range ü to. Low: the lower bound of the value's target range ü to. High: the upper bound of the value's target range Ø Returns ü The mapped - Description Re-maps a number from one range to another. That is, a value of from. Low would get mapped to to. Low, a value of from. High to to. High, values in-between to values in-between, etc. - Examples y = map(x, 1, 50, 1); y = map(x, 1, 50, -100); Dongyang Mirae University 최신인터넷기술(ARDUINO) 8 prepared by Choon Woo Kwon

아두이노 DC모터 제어 wt. L 298 N - 배선도 LOGO □ 배선 연결 아두이노

아두이노 DC모터 제어 wt. L 298 N - 배선도 LOGO □ 배선 연결 아두이노 모터 드라 이버 아두이노 모터 드라이 버 D 2 IN-A D 5 EN-A D 4 IN-B 5 V IN-C 5 V IN-D EN-B VCC(5 V) GND 모터전원(5~ 12 V) Dongyang Mirae University 최신인터넷기술(ARDUINO) 13 prepared by Choon Woo Kwon

아두이노 DC모터 제어 wt. L 298 N - 동작방법 LOGO □ 동작 방법 EN-A

아두이노 DC모터 제어 wt. L 298 N - 동작방법 LOGO □ 동작 방법 EN-A IN-B 모터 동작 HIGH LOW 정방향 HIGH LOW HIGH 역방향 정지 LOW Dongyang Mirae University 최신인터넷기술(ARDUINO) 14 prepared by Choon Woo Kwon

아두이노 DC모터 제어 wt. L 298 N - 스케치 LOGO int in_a = 2;

아두이노 DC모터 제어 wt. L 298 N - 스케치 LOGO int in_a = 2; int in_b = 4; int en_a = 5; void setup() { pin. Mode(in_a, OUTPUT); pin. Mode(in_b, OUTPUT); } Dongyang Mirae University 최신인터넷기술(ARDUINO) 15 prepared by Choon Woo Kwon

아두이노 DC모터 제어 wt. L 298 N - 스케치 LOGO void loop() { //

아두이노 DC모터 제어 wt. L 298 N - 스케치 LOGO void loop() { // Forward digital. Write(in_a, HIGH); digital. Write(in_b, LOW); analog. Write(en_a, 50); delay(2000); // Backward digital. Write(in_a, LOW); digital. Write(in_b, HIGH); analog. Write(en_a, 250); } delay(2000); Dongyang Mirae University 최신인터넷기술(ARDUINO) 16 prepared by Choon Woo Kwon

서보 모터 – 실험 준비물 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 18 prepared by Choon

서보 모터 – 실험 준비물 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 18 prepared by Choon Woo Kwon

서보 모터(1) - 배선도 LOGO D 8 Dongyang Mirae University 최신인터넷기술(ARDUINO) 19 prepared by

서보 모터(1) - 배선도 LOGO D 8 Dongyang Mirae University 최신인터넷기술(ARDUINO) 19 prepared by Choon Woo Kwon

서보 모터(1) - 회로도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 20 prepared by Choon Woo

서보 모터(1) - 회로도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 20 prepared by Choon Woo Kwon

서보 모터(1) – 스케치 #include <Servo. h> LOGO //서보모터 library 포함 int motor_control =

서보 모터(1) – 스케치 #include <Servo. h> LOGO //서보모터 library 포함 int motor_control = 8; Servo servo; void setup() { servo. attach(motor_control); } //서모모터 제어하는 아두이노 핀 번호 : motor_control void loop() { int i; } servo. write(0); delay(1000); //servo. write(i) i° 각도 서보모터 회전 for(i=0; i<90; i+=10) { servo. write(i); delay(20); } //0~90° 각도, 10°씩 증가 delay(1000); Dongyang Mirae University 최신인터넷기술(ARDUINO) 21 prepared by Choon Woo Kwon

map : 특정 범위의 수를 다른 범위로 변환 LOGO Attach() (Syntax) servo. attach(pin, min,

map : 특정 범위의 수를 다른 범위로 변환 LOGO Attach() (Syntax) servo. attach(pin, min, max) Ø Description ü Attach the Servo variable to a pin Ø Parameters ü servo. : a variable of type Servo ü pin : Servo가 연결된 핀 번호 ü min/max(㎲) : servo 최소(0°)/최대(180°) 각도에 대응하는 펄스 폭 Write() (Syntax) servo. write(angle) Ø Description ü Writes a value to the servo Ø Parameters ü Servo. : a variable of type Servo ü Angle : Servo에 전달할 각도 값 0°~180° Dongyang Mirae University 최신인터넷기술(ARDUINO) 22 prepared by Choon Woo Kwon

서보 모터(2) - 배선도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 23 prepared by Choon Woo

서보 모터(2) - 배선도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 23 prepared by Choon Woo Kwon

서보 모터(2) – 회로도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 24 prepared by Choon Woo

서보 모터(2) – 회로도 Dongyang Mirae University 최신인터넷기술(ARDUINO) LOGO 24 prepared by Choon Woo Kwon

서보 모터(2) – 스케치 LOGO /* Servo a potentiometer controls the position of a

서보 모터(2) – 스케치 LOGO /* Servo a potentiometer controls the position of a servo This example is part of the Fritzing Creator Kit: www. fritzing. org/creator-kit. */ #include <Servo. h> Servo myservo; int potpin = 0 ; int val; void setup() { myservo. attach(9); } // include the library Servo. h // creates a servo object // potentiometer pin declaration // val stores the position of the potentiometer // connects a servo object to pin 9 void loop() { val = analog. Read(potpin); // potentiometer value is read out val = map(val, 0, 1023, 0, 179); // and mapped to the range 0 to 179 myservo. write(val); // turning the servo to the angle in val delay(15); // give the servo time to react } Dongyang Mirae University 최신인터넷기술(ARDUINO) 25 prepared by Choon Woo Kwon

LOGO Dongyang Mirae University 최신인터넷기술(ARDUINO) 26 prepared by Choon Woo Kwon

LOGO Dongyang Mirae University 최신인터넷기술(ARDUINO) 26 prepared by Choon Woo Kwon