#주제 2 : 아두이노 자동차 만들기
- 아두이노 > 적용(A) > #20.F > #2
- AA.20.F.2.7
함수를 이용하여 보다 빠르게 코딩하기
반환형 없고, 매개 변수 없는 함수 사용하기(함수 유형 1)
#define MA1 5
#define MA2 6
#define MB1 8
#define MB2 9
void setup() {
pinMode(MA1, OUTPUT);
pinMode(MA2, OUTPUT);
pinMode(MB1, OUTPUT);
pinMode(MB2, OUTPUT);
digitalWrite(MA1, 1); // 1초 전진
digitalWrite(MA2, 0);
digitalWrite(MB1, 1);
digitalWrite(MB2, 0);
delay(1000);
digitalWrite(MA1, 1); // 좌회전
digitalWrite(MA2, 0);
digitalWrite(MB1, 0);
digitalWrite(MB2, 1);
delay(600); // 시간은 적당히 조절해야 함
digitalWrite(MA1, 1); // 1초 전진
digitalWrite(MA2, 0);
digitalWrite(MB1, 1);
digitalWrite(MB2, 0);
delay(1000);
digitalWrite(MA1, 1); // 좌회전
digitalWrite(MA2, 0);
digitalWrite(MB1, 0);
digitalWrite(MB2, 1);
delay(600); // 시간은 적당히 조절해야 함
digitalWrite(MA1, 1); // 1초 전진
digitalWrite(MA2, 0);
digitalWrite(MB1, 1);
digitalWrite(MB2, 0);
delay(1000);
digitalWrite(MA1, 0);
digitalWrite(MA2, 0);
digitalWrite(MB1, 0);
digitalWrite(MB2, 0);
}
void loop() {
}
#define MA1 5
#define MA2 6
#define MB1 8
#define MB2 9
void forward() { // 1초 전진
digitalWrite(MA1, 1);
digitalWrite(MA2, 0);
digitalWrite(MB1, 1);
digitalWrite(MB2, 0);
delay(1000);
}
void backward() { // 1초 후진
digitalWrite(MA1, 0);
digitalWrite(MA2, 1);
digitalWrite(MB1, 0);
digitalWrite(MB2, 1);
delay(1000);
}
void left() { // 좌회전
digitalWrite(MA1, 1);
digitalWrite(MA2, 0);
digitalWrite(MB1, 0);
digitalWrite(MB2, 1);
delay(600); // 시간은 적당히 조절해야 함
}
void right() { // 우회전
digitalWrite(MA1, 0);
digitalWrite(MA2, 1);
digitalWrite(MB1, 1);
digitalWrite(MB2, 0);
delay(600); // 시간은 적당히 조절해야 함
}
void stop2() { // 정지
digitalWrite(MA1, 0);
digitalWrite(MA2, 0);
digitalWrite(MB1, 0);
digitalWrite(MB2, 0);
}
void setup() {
pinMode(MA1, OUTPUT);
pinMode(MA2, OUTPUT);
pinMode(MB1, OUTPUT);
pinMode(MB2, OUTPUT);
forward(); // 1초 전진
left(); // 좌회전
forward(); // 1초 전진
left(); // 좌회전
forward(); // 1초 전진
stop2(); // 정지
}
void loop() {
}