LOGO v DC DC Motor p 154 v


























- Slides: 26


목차 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 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. 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 □ 배선 연결 아두이노 모터 드라 이버 아두이노 모터 드라이 버 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 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; 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() { // 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 Woo Kwon

서보 모터(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 Kwon

서보 모터(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, 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 Kwon

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

서보 모터(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