# 비슷한 구문이 반복 사용 될 때???- 수학의 공식처럼 특정 구문을 공식화(=함수화) 할 수 있다..
if (FOR == HIGH)
{
Agv.digitalWrite(PIN_R_CW, HIGH);
Agv.digitalWrite(PIN_R_CCW, LOW);
Agv.digitalWrite(PIN_L_CW, HIGH);
Agv.digitalWrite(PIN_L_CCW, LOW);
}
else if (BCK == HIGH)
{
Agv.digitalWrite(PIN_R_CW, LOW);
Agv.digitalWrite(PIN_R_CCW, HIGH);
Agv.digitalWrite(PIN_L_CW, LOW);
Agv.digitalWrite(PIN_L_CCW, HIGH);
}
else
{
Agv.digitalWrite(PIN_R_CW, LOW);
Agv.digitalWrite(PIN_R_CCW, LOW);
Agv.digitalWrite(PIN_L_CW, LOW);
Agv.digitalWrite(PIN_L_CCW, LOW);
}
void MotorControl (int A, int B, int C, int D)
Agv.digitalWrite(PIN_R CW, A);
Agv.digitalWrite(PIN_R_CCW, B);
Agv.digitalWrite(PIN_L_CW, C);
Agv.digitalWrite(PIN_L_CCW, D);
===> 함수를 적용.
if (FOR HIGH)
{
MotorControl (HIGH, LOW, HIGE, LOW);
}
else if (BCK == HIGH)
{
MotorControl (LOW, HIGH, LOW, HIGH);
}
else
{
MotorControl (LOW, LOW, LOW, LOW);
}
1 #include <MetisAgv.h>
2 Finclude <MetisRemote10.h>
4 Idefine PIN SW2
5 #define PIN SW6
29
6 #define PIN R VEL
0
8 #define PIN R. CW
5 #define PIN_R_CCW
10
#define PIN L_CW
12
13 int SPEED 50:
함수의 (원형) 선언
14 vold MotorControl (int A, int B, int C, int D):
15
16@void setup() {
17
Aqv. Initialize (19200):
18
19
201
Agv.analogWrite (PIN R VEL, SPEED):
Agv.analogWrite (PIN_L_VEL, SPEED):
결과값
void MotorControl(int A, int B, int C, int D);
함수명
y
= f
전달인자(파라미터)
( X );
22日 void loop() [
23
25
24
int BCK Agv.digitalRead( digitalRead(PIN_SW6);
int FOR = Agv.digitalRead(PIN_SW2);
3
25
if (FOR HIGH)
26
27日
(
MotorControl (HIGH, LOW, HIGH, LOW);
1
0
28
7 #define PIN L VEL
else if (BCK == HIGH)
1
30
함수의 (공식) 사용
2
11
#define PIN_L_CCW
3
31日
MotorControl (LOW, HIGH, LOW, HIGH);
33
else
34
351
36
MotorControl (LOW, LOW, LOW, LOW);
37 }
38
२०
함수의 (내용) 정의
41日(
40 void MotorControl (int A, int B, int C, int b)
42
43
Agv.digitalWrite(PIN_R_CW, A):
44
45
Agv.digitalWrite(PIN_R_CCW, B);
Agv.digitalWrite(PIN_L_CW, C):
461
Agv.digitalWrite(PIN_L_CCW, D);
-81-
댓글 없음:
댓글 쓰기