}
-// MotorB
+// MotorA
void forwardA() {
// Avanzamento motore
digitalWrite(in1,LOW);
analogWrite(enA,speedA);
}
+void forwardA(byte speedA) {
+ // Avanzamento motore
+ digitalWrite(in1,LOW);
+ digitalWrite(in2,HIGH);
+ analogWrite(enA,speedA);
+}
+
void backwardA() {
// Reverse motore
digitalWrite(in2,LOW);
analogWrite(enA,speedA);
}
+void backwardA(byte speedA) {
+ // Reverse motore
+ digitalWrite(in2,LOW);
+ digitalWrite(in1,HIGH);
+ analogWrite(enA,speedA);
+}
+
void stopA() {
// Stop
digitalWrite(enA,LOW);
analogWrite(enB,speedB);
}
+void forwardB(byte speedB) {
+ // Avanzamento motore
+ digitalWrite(in3,LOW);
+ digitalWrite(in4,HIGH);
+ analogWrite(enB,speedB);
+}
+
void backwardB() {
// Reverse motore
digitalWrite(in4,LOW);
analogWrite(enB,speedB);
}
+void backwardB(byte speedB) {
+ // Reverse motore
+ digitalWrite(in4,LOW);
+ digitalWrite(in3,HIGH);
+ analogWrite(enB,speedB);
+}
+
void stopB() {
// Stop
digitalWrite(enB,LOW);
// Funzioni
void abilita() ;
-void forwardA() ;
+void forwardA(); // speedA e' dato dalla variabile golabale speedA
+void forwardA(byte speedA); // Overloading
void backwardA() ;
+void backwardA(byte speedA) ;
void stopA() ;
void forwardB() ;
+void forwardB(byte speedB) ;
void backwardB() ;
+void backwardB(byte speedB) ;
void stopB() ;
#endif
--- /dev/null
+Funzioni
+============
+
+Note a riguardo delle funzioni.
+
+Domande
+---------
+
+La funzione forwardB / forwardA accetta una parametro tramite overloading:
+
+1. Se il parametro non viene passato da dove viene pescato?
+2. Si potrebbe fare la stessa cosa con un valore di default?
+2.1 Con quali differenze?
+
+3 La funzione composita drive pero' non accetta nessun parametro, implementare
+la possibilita' che accetti la velocita' come argomento.