Showing
1 changed file
with
48 additions
and
0 deletions
lab2-5_1.c
0 → 100644
1 | +#include <wiringPi.h> // GPIO Access Library 헤더파일 선언 | ||
2 | +#include <softPwm.h> // Software PWM library 헤더파일 선언 | ||
3 | +// Motor 핀 설정 | ||
4 | +#define MOTOR_MT_N_PIN 17 | ||
5 | +#define MOTOR_MT_P_PIN 4 | ||
6 | +// Motor 회전 방향 정의 | ||
7 | +#define LEFT_ROTATE 1 | ||
8 | +#define RIGHT_ROTATE 2 | ||
9 | +// Motor 정지 함수 | ||
10 | +void MotorStop() { | ||
11 | +softPwmWrite(MOTOR_MT_N_PIN, 0); | ||
12 | +softPwmWrite(MOTOR_MT_P_PIN, 0); | ||
13 | +} | ||
14 | +// Motor 회전 함수 | ||
15 | +void MotorControl(int rotate) { | ||
16 | +if (rotate == LEFT_ROTATE) { | ||
17 | +digitalWrite(MOTOR_MT_P_PIN, LOW); | ||
18 | +softPwmWrite(MOTOR_MT_N_PIN, 50); | ||
19 | +} | ||
20 | +else if (rotate == RIGHT_ROTATE) { | ||
21 | +digitalWrite(MOTOR_MT_N_PIN, LOW); | ||
22 | +softPwmWrite(MOTOR_MT_P_PIN, 50); | ||
23 | +} | ||
24 | +} | ||
25 | +int main(void) | ||
26 | +{ | ||
27 | +if (wiringPiSetupGpio() == -1) | ||
28 | +return 1; | ||
29 | +// Motor 핀 출력으로 설정 | ||
30 | +pinMode(MOTOR_MT_N_PIN, OUTPUT); | ||
31 | +pinMode(MOTOR_MT_P_PIN, OUTPUT); | ||
32 | +// Motor 핀 PWM 제어 핀으로 설정 | ||
33 | +// 주기: 100ms | ||
34 | +softPwmCreate(MOTOR_MT_N_PIN, 0, 100); | ||
35 | +softPwmCreate(MOTOR_MT_P_PIN, 0, 100); | ||
36 | +while (1) | ||
37 | +{ | ||
38 | +MotorControl(LEFT_ROTATE); // Motor 왼쪽으로 회전 | ||
39 | +delay(2000); | ||
40 | +MotorStop(); // Motor 정지 | ||
41 | +delay(1000); | ||
42 | +MotorControl(RIGHT_ROTATE); // Motor 오른쪽으로 회전 | ||
43 | +delay(2000); | ||
44 | +MotorStop(); // Motor 정지 | ||
45 | +delay(1000); | ||
46 | +} | ||
47 | +return 0; | ||
48 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment