]> git.piffa.net Git - rover/commitdiff
Primo oggetto per drive, con un solo metodo andrea
authorAndrea Manni <andrea@piffa.net>
Mon, 3 Apr 2017 12:09:07 +0000 (14:09 +0200)
committerAndrea Manni <andrea@piffa.net>
Mon, 3 Apr 2017 12:09:07 +0000 (14:09 +0200)
libraries/rover/library.properties
libraries/rover/rover.cpp
libraries/rover/rover.h

index a5641e87e03a08f0ba54aa4622de62ade5245dc7..9034bd6c80e5037759ed1fb1f597da9b89875acb 100644 (file)
@@ -4,6 +4,5 @@ author=Andrea Manni <andrea@piffa.net>
 maintainer=Andrea Manni <andrea@piffa.net>
 sentence=Funzioni specifiche per rover
 paragraph=Funzioni da richiamare negli sketch per rover
-category=Robots
 url=https://piffa.net
 architectures=*
index 1b6c88e16c32d3c86a55c2ed2d9932205a55f2aa..b2087284706e09d85f8feee1b298663d1a1a3dc3 100644 (file)
@@ -13,17 +13,42 @@ 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;
+extern int enA = 6;
+extern int in1 = 7;
+extern int in2 = 8;
+extern byte speedA = 255;
 // motor two
-const int enB = 5;
-const int in3 = 4;
-const int in4 = 3;
-byte speedB = 255;
+extern int enB = 5;
+extern int in3 = 4;
+extern int in4 = 3;
+extern byte speedB = 255;
+
+// Oggetti
+car::car () {
+// Abilita i PINs come OUTPUTS
+    pinMode(_enA, OUTPUT);
+    pinMode(_in1, OUTPUT);
+    pinMode(_in2, OUTPUT);
+    pinMode(_enB, OUTPUT);
+    pinMode(_in3, OUTPUT);
+    pinMode(_in4, OUTPUT);
+    velA = speedA;
+    velB = speedB;
+}
+
+void car::avanti () {
+// Motor A
+    digitalWrite(_in1,LOW);
+    digitalWrite(_in2,HIGH);
+    analogWrite(_enA,velA);
+// Motor B
+    digitalWrite(_in3,LOW);
+    digitalWrite(_in4,HIGH);
+    analogWrite(_enB,velB);
+}
+
+
 // Funzioni
 
 void abilita() {
index 7d5da82a795c2f7ddbba35bc394819a5bb5e9c70..54463597e64987b87e8fe27ca79e18f117ce2cac 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Rover 
+  Rover
 
 Autore: Andrea Manni
 
@@ -14,6 +14,14 @@ Licenza:    GPLv3
 #define rover_h
 
 // Global vars
+extern int enA ;
+extern int in1 ;
+extern int in2 ;
+extern byte speedA ;
+// motor two
+extern int enB ;
+extern int in3 ;
+extern int in4 ;
 
 
 // Funzioni
@@ -30,4 +38,30 @@ void backwardB() ;
 void backwardB(byte speedB) ;
 void stopB() ;
 
+// Objects:
+
+
+class car {
+// Lettura delle variabili globali (per poter tenere un file
+// di configurazione con tutti i PIN)
+// motor one
+    const int _enA = enA ;
+    const int _in1 = in1 ;
+    const int _in2 = in2 ;
+// motor two
+    const int _enB = enB ;
+    const int _in3 = in3 ;
+    const int _in4 = in4 ;
+
+public:
+    car () ;
+    byte velA ;
+    byte velB ;
+    void avanti ();
+    void indietro ();
+    void stop ();
+    void giraSX ();
+    void giraDX ();
+    void setSpeed ();
+};
 #endif