]> git.piffa.net Git - rover/blob - prototypes/motor/motor_func/motor_func.ino
cf7c25406fec7cb137ffcb2bffee93beb8025099
[rover] / prototypes / motor / motor_func / motor_func.ino
1 /* L298n motor
2 Aggiunta
3
4 Pilotare 2 motore DC con un modulo l928n
5 Enable in PWM per settare velocita' massima
6
7 - 2 motori DC
8 - L298n module
9 - Batteria > 6v
10
11 */
12
13
14 // Configurazione con OUTPUT digitali
15 // motor one
16 const int enA = 6;
17 const int in1 = 7;
18 const int in2 = 8;
19 byte speedA = 255;
20 // motor two
21 const int enB = 5;
22 const int in3 = 4;
23 const int in4 = 3;
24 byte speedB = 255;
25
26 void setup() {
27     pinMode(enA, OUTPUT);
28     pinMode(in1, OUTPUT);
29     pinMode(in2, OUTPUT);
30     pinMode(enB, OUTPUT);
31     pinMode(in3, OUTPUT);
32     pinMode(in4, OUTPUT);
33 }
34
35
36 void loop() {
37 // Forward
38     forwardA();
39     forwardB();
40     delay(2000);
41
42 // Stop
43     stopA();
44     stopB();
45     delay(1000);
46
47 // Backward
48     backwardA();
49     backwardB();
50     delay(2000);
51
52 // Stop
53     stopA();
54     stopB();
55     delay(1000);
56 }
57
58 // Functions
59
60 // MotorB
61 void forwardA() {
62     // Avanzamento motore
63     digitalWrite(in1,LOW);
64     digitalWrite(in2,HIGH);
65     analogWrite(enA,speedA);
66 }
67
68 void backwardA() {
69     // Reverse motore
70     digitalWrite(in2,LOW);
71     digitalWrite(in1,HIGH);
72     analogWrite(enA,speedA);
73 }
74
75 void stopA() {
76     // Stop
77     digitalWrite(enA,LOW);
78 }
79
80 // MotorB
81 void forwardB() {
82     // Avanzamento motore
83     digitalWrite(in3,LOW);
84     digitalWrite(in4,HIGH);
85     analogWrite(enB,speedB);
86 }
87
88 void backwardB() {
89     // Reverse motore
90     digitalWrite(in4,LOW);
91     digitalWrite(in3,HIGH);
92     analogWrite(enB,speedB);
93 }
94
95 void stopB() {
96     // Stop
97     digitalWrite(enB,LOW);
98 }