X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=libraries%2Frover%2Frover.cpp;h=58bbf2cbb082a1f3e2b2c685f8ff1e675df8e311;hb=cf5e92a6f4481506b8b360322d25b4be821cc741;hp=d95fe065190912808ab355e57e2843965a97bd73;hpb=a3f175c8785d2505c3da9d3e3386952ebc2cc018;p=rover diff --git a/libraries/rover/rover.cpp b/libraries/rover/rover.cpp index d95fe06..58bbf2c 100644 --- a/libraries/rover/rover.cpp +++ b/libraries/rover/rover.cpp @@ -1,5 +1,5 @@ /* - Rover + Rover Autore: Andrea Manni @@ -26,10 +26,12 @@ const int in4 = 3; byte speedB = 255; // Servo vars -int pos = 0; // variable to store the servo position +int pos = 0; // variable to store the servo position const byte servoPIN =9 ; const byte middle = 90; // Centratura servo -const int spausa = 30; // Pausa movimenti servo +const int spausa = 10; // Pausa movimenti servo +const byte sx = 10; // Min SX +const byte dx = 170; // Maz DX Servo myservo; // Non c'e' bisogno di extern se e' dichiarato in questo scope //////////////////////// @@ -118,18 +120,60 @@ void stopB() { digitalWrite(enB,LOW); } + +// Entrambi i motori +void avanti() { + // Drive ahead: funzione composita + forwardA() ; + forwardB() ; +} +void indietro() { + // Drive backward: funzione composita + backwardA(); + backwardB(); +} +void giraSX() { + // Gira a DX + forwardB() ; + backwardA(); +} +void giraDX() { + // Gira a DX + forwardA() ; + backwardB(); +} +void stop() { + stopA(); + stopB(); +} + + + // Servo -void turnDX() { +void servoDX() { // TurnDX - myservo.write(170); + while (pos < dx) { + myservo.write(pos++); + delay(spausa); + } } - -void turnSX() { + +void servoSX() { // TurnSX - myservo.write(10); + while (pos > sx) { + myservo.write(pos--); + delay(spausa); + } } -void turnMiddle() { - // TurnDX - myservo.write(middle); +void servoMiddle() { + // Middle + while (pos > middle) { + myservo.write(pos--); + delay(spausa); + } + while (pos < middle) { + myservo.write(pos++); + delay(spausa); + } }