소스 코드 예시
#define MA1 5 #define MA2 6 #define MB1 9 #define MB2 10 void forward(int a) { // 전진 digitalWrite(MA1, 1); digitalWrite(MA2, 0); digitalWrite(MB1, 1); digitalWrite(MB2, 0); delay(a); } void backward(int b) { // 후진 digitalWrite(MA1, 0); digitalWrite(MA2, 1); digitalWrite(MB1, 0); digitalWrite(MB2, 1); delay(b); } void left(int c) { // 좌회전 digitalWrite(MA1, 1); digitalWrite(MA2, 0); digitalWrite(MB1, 0); digitalWrite(MB2, 1); delay(c); } void right(int d) { // 우회전 digitalWrite(MA1, 0); digitalWrite(MA2, 1); digitalWrite(MB1, 1); digitalWrite(MB2, 0); delay(d); } 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(1000); // 1번 : 1초 전진 right(600); // 2번 : 90도 우회전 forward(500); // 3번 : 0.5초 전진 right(1100); // 4번 : 180도 회전 forward(1000); // 5번 : 1초 전진 right(1100); // 6번 : 180도 회전 forward(500); // 7번 : 0.5초 전진 right(600); // 8번 : 90도 우회전 forward(1000); // 9번 : 1초 전진 stop2(); // 정지 } void loop() { // 반복 없음 }
소스 코드 예시 2
#define MA1 5 #define MA2 6 #define MB1 9 #define MB2 10 void forward(int a) { // 전진 digitalWrite(MA1, 1); digitalWrite(MA2, 0); digitalWrite(MB1, 1); digitalWrite(MB2, 0); delay(a); } void backward(int b) { // 후진 digitalWrite(MA1, 0); digitalWrite(MA2, 1); digitalWrite(MB1, 0); digitalWrite(MB2, 1); delay(b); } void left(int c) { // 좌회전 digitalWrite(MA1, 1); digitalWrite(MA2, 0); digitalWrite(MB1, 0); digitalWrite(MB2, 1); delay(c); } void right(int d) { // 우회전 digitalWrite(MA1, 0); digitalWrite(MA2, 1); digitalWrite(MB1, 1); digitalWrite(MB2, 0); delay(d); } void stop2() { // 정지 digitalWrite(MA1, 0); digitalWrite(MA2, 0); digitalWrite(MB1, 0); digitalWrite(MB2, 0); } void stop3(int e) { // 정지 digitalWrite(MA1, 0); digitalWrite(MA2, 0); digitalWrite(MB1, 0); digitalWrite(MB2, 0); delay(e); } void setup() { pinMode(MA1, OUTPUT); pinMode(MA2, OUTPUT); pinMode(MB1, OUTPUT); pinMode(MB2, OUTPUT); forward(1000); // 1초 전진 stop3(500); // 0.1초 정지 left(600); // 좌회전 stop3(500); // 0.1초 정지 forward(1000); // 1초 전진 stop2(); // 정지 } void loop() { // 반복 없음 }
댓글 없음:
댓글 쓰기