X-Git-Url: http://git.piffa.net/web?p=rover;a=blobdiff_plain;f=libraries%2Frover%2Frover.cpp;fp=libraries%2Frover%2Frover.cpp;h=1b6c88e16c32d3c86a55c2ed2d9932205a55f2aa;hp=363d5909e91e2a73d65a4505582ac0949fc6ff53;hb=e5ee18ad49f4c9c25628e3925e51352083b18ced;hpb=ca67a73d0b0c3e654431b7675327a9c4bd88ba3e diff --git a/libraries/rover/rover.cpp b/libraries/rover/rover.cpp index 363d590..1b6c88e 100644 --- a/libraries/rover/rover.cpp +++ b/libraries/rover/rover.cpp @@ -13,6 +13,94 @@ Licenza: GPLv3 #define dEBUG -////////////////// +// Configurazione con OUTPUT digitali +// motor one +const int enA = 6; +const int in1 = 7; +const int in2 = 8; +byte speedA = 255; +// motor two +const int enB = 5; +const int in3 = 4; +const int in4 = 3; +byte speedB = 255; // Funzioni +void abilita() { +// Abilita i PINs come OUTPUTS + pinMode(enA, OUTPUT); + pinMode(in1, OUTPUT); + pinMode(in2, OUTPUT); + pinMode(enB, OUTPUT); + pinMode(in3, OUTPUT); + pinMode(in4, OUTPUT); +} + + +// MotorA +void forwardA() { + // Avanzamento motore + digitalWrite(in1,LOW); + digitalWrite(in2,HIGH); + 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); + digitalWrite(in1,HIGH); + analogWrite(enA,speedA); +} + +void backwardA(byte speedA) { + // Reverse motore + digitalWrite(in2,LOW); + digitalWrite(in1,HIGH); + analogWrite(enA,speedA); +} + +void stopA() { + // Stop + digitalWrite(enA,LOW); +} + +// MotorB +void forwardB() { + // Avanzamento motore + digitalWrite(in3,LOW); + digitalWrite(in4,HIGH); + 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); + digitalWrite(in3,HIGH); + analogWrite(enB,speedB); +} + +void backwardB(byte speedB) { + // Reverse motore + digitalWrite(in4,LOW); + digitalWrite(in3,HIGH); + analogWrite(enB,speedB); +} + +void stopB() { + // Stop + digitalWrite(enB,LOW); +}