]> git.piffa.net Git - rover/blob - libraries/rover/rover.cpp
Sistemati gli include della lib Servo.h
[rover] / libraries / rover / rover.cpp
1 /*
2   Rover 
3
4 Autore: Andrea Manni
5
6 Link: http://aero.piffa.net
7 Licenza:    GPLv3
8
9 */
10
11 #include "Arduino.h"
12 #include "rover.h"
13
14 #define dEBUG
15
16 // Configurazione con OUTPUT digitali
17 // motor one
18 const int enA = 6;
19 const int in1 = 7;
20 const int in2 = 8;
21 byte speedA = 255;
22 // motor two
23 const int enB = 5;
24 const int in3 = 4;
25 const int in4 = 3;
26 byte speedB = 255;
27
28 // Servo vars
29 int pos = 0;    // variable to store the servo position 
30 const byte servoPIN =9 ;
31 const byte middle = 90; // Centratura servo
32 const int spausa = 30; // Pausa movimenti servo
33 Servo myservo; // Non c'e' bisogno di extern se e' dichiarato in questo scope
34
35 ////////////////////////
36 // Funzioni:
37 //
38 void abilita() {
39 // Abilita i PINs come OUTPUTS
40     pinMode(enA, OUTPUT);
41     pinMode(in1, OUTPUT);
42     pinMode(in2, OUTPUT);
43     pinMode(enB, OUTPUT);
44     pinMode(in3, OUTPUT);
45     pinMode(in4, OUTPUT);
46
47
48     pinMode(servoPIN, OUTPUT);
49     myservo.attach(servoPIN);
50 }
51
52
53 // MotorA
54 void forwardA() {
55     // Avanzamento motore
56     digitalWrite(in1,LOW);
57     digitalWrite(in2,HIGH);
58     analogWrite(enA,speedA);
59 }
60
61 void forwardA(byte speedA) {
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 backwardA(byte speedA) {
76     // Reverse motore
77     digitalWrite(in2,LOW);
78     digitalWrite(in1,HIGH);
79     analogWrite(enA,speedA);
80 }
81
82 void stopA() {
83     // Stop
84     digitalWrite(enA,LOW);
85 }
86
87 // MotorB
88 void forwardB() {
89     // Avanzamento motore
90     digitalWrite(in3,LOW);
91     digitalWrite(in4,HIGH);
92     analogWrite(enB,speedB);
93 }
94
95 void forwardB(byte speedB) {
96     // Avanzamento motore
97     digitalWrite(in3,LOW);
98     digitalWrite(in4,HIGH);
99     analogWrite(enB,speedB);
100 }
101
102 void backwardB() {
103     // Reverse motore
104     digitalWrite(in4,LOW);
105     digitalWrite(in3,HIGH);
106     analogWrite(enB,speedB);
107 }
108
109 void backwardB(byte speedB) {
110     // Reverse motore
111     digitalWrite(in4,LOW);
112     digitalWrite(in3,HIGH);
113     analogWrite(enB,speedB);
114 }
115
116 void stopB() {
117     // Stop
118     digitalWrite(enB,LOW);
119 }
120
121 // Servo
122 void turnDX() {
123     // TurnDX
124     myservo.write(170);
125 }
126     
127 void turnSX() {
128     // TurnSX
129     myservo.write(10);
130 }
131
132 void turnMiddle() { 
133     // TurnDX
134     myservo.write(middle);
135 }