]> git.piffa.net Git - rover/commitdiff
rotation
authorAndrea Manni <andrea@piffa.net>
Thu, 30 Mar 2017 13:31:00 +0000 (15:31 +0200)
committerAndrea Manni <andrea@piffa.net>
Thu, 30 Mar 2017 13:31:00 +0000 (15:31 +0200)
prototypes/servo/rotation/rotation.ino
prototypes/servo/rotation_func/rotation_func.ino [new file with mode: 0644]
prototypes/servo/rotation_lib/rotation_lib.ino [new file with mode: 0644]

index 62e3b8501e07501e8d10faaa6fbe84e8d4394f2d..1193a23f4ea1baa894aff69e7136b4a22d0e9cc4 100644 (file)
@@ -27,7 +27,8 @@ Servo myservo;  // create servo object to control a servo
 // Servo vars
 int pos = 0;    // variable to store the servo position 
 const byte servo =9 ;
-conts byte middle = 90; // Centratura servo
+const byte middle = 90; // Centratura servo
+const int pausa = 1000; // Centratura servo
  
 void setup() 
 { 
@@ -40,11 +41,13 @@ void setup()
 void loop() 
 { 
 // Turn DX
-    myservo.write(160);
-    delay(35);     
+    myservo.write(170);
+    delay(pausa);     
     myservo.write(middle);              
+    delay(1000);     
 // Turn SX
-    myservo.write(20);
-    delay(35);      
+    myservo.write(10);
+    delay(pausa);      
     myservo.write(middle);              
+    delay(1000);     
 } 
diff --git a/prototypes/servo/rotation_func/rotation_func.ino b/prototypes/servo/rotation_func/rotation_func.ino
new file mode 100644 (file)
index 0000000..ac463ea
--- /dev/null
@@ -0,0 +1,77 @@
+/* Rotazione
+
+   Rotazione di un servomotore tramite la librerio Servo.h .
+
+L'utilizzo della libreria Servo rende inutilizzabile analogWrite()
+sui pin 9 e 10 dato che utilizza i timer associati a questi PIN.
+
+Power: un servo da 9g puo' arrivare ad impegnare 750mA sotto carico
+(se viene opposta resistenza al movimento del servo), un  SG90 prende 
+~52mA se il movimento e' libero. Quindi in fase di test il servo puo'
+essere alimentato direttamente da una scheda Arduino (200ma dal PIN 5v)
+ma per l'uso finale dovra' essere alimentato autonomamente.
+
+
+Rotazione a SX di 90'
+Rotazione a DC di 90'
+
+Schema: https://www.arduino.cc/en/uploads/Tutorial/sweep_bb.png
+        http://microbotlabs.com/images/mearm-uno-servo-1.jpg
+   */
+
+#include <Servo.h> 
+Servo myservo;  // create servo object to control a servo 
+                // a maximum of eight servo objects can be created 
+// Servo vars
+int pos = 0;    // variable to store the servo position 
+const byte servo =9 ;
+const byte middle = 90; // Centratura servo
+const int spausa = 30; // Pausa movimenti servo
+void setup() 
+{ 
+  myservo.attach(servo);  // attaches the servo on pin 9 to the servo object 
+    myservo.write(middle);              // tell servo to go to position in variable 'pos' 
+    delay(2000);
+} 
+void loop() 
+{ 
+// Turn DX
+    turnDX();
+    delay(1000);     
+
+    turnMiddle();
+    delay(1000);     
+
+// Turn SX
+    turnSX();
+    delay(1000);     
+
+    turnMiddle();
+    delay(1000);     
+} 
+
+// Functions
+
+void turnDX() {
+    // TurnDX
+    myservo.write(170);
+    delay(spausa);     
+}
+
+void turnSX() {
+    // TurnSX
+    myservo.write(10);
+    delay(spausa);     
+}
+
+void turnMiddle() {
+    // TurnDX
+    myservo.write(middle);
+    delay(spausa);     
+}
+
diff --git a/prototypes/servo/rotation_lib/rotation_lib.ino b/prototypes/servo/rotation_lib/rotation_lib.ino
new file mode 100644 (file)
index 0000000..ac463ea
--- /dev/null
@@ -0,0 +1,77 @@
+/* Rotazione
+
+   Rotazione di un servomotore tramite la librerio Servo.h .
+
+L'utilizzo della libreria Servo rende inutilizzabile analogWrite()
+sui pin 9 e 10 dato che utilizza i timer associati a questi PIN.
+
+Power: un servo da 9g puo' arrivare ad impegnare 750mA sotto carico
+(se viene opposta resistenza al movimento del servo), un  SG90 prende 
+~52mA se il movimento e' libero. Quindi in fase di test il servo puo'
+essere alimentato direttamente da una scheda Arduino (200ma dal PIN 5v)
+ma per l'uso finale dovra' essere alimentato autonomamente.
+
+
+Rotazione a SX di 90'
+Rotazione a DC di 90'
+
+Schema: https://www.arduino.cc/en/uploads/Tutorial/sweep_bb.png
+        http://microbotlabs.com/images/mearm-uno-servo-1.jpg
+   */
+
+#include <Servo.h> 
+Servo myservo;  // create servo object to control a servo 
+                // a maximum of eight servo objects can be created 
+// Servo vars
+int pos = 0;    // variable to store the servo position 
+const byte servo =9 ;
+const byte middle = 90; // Centratura servo
+const int spausa = 30; // Pausa movimenti servo
+void setup() 
+{ 
+  myservo.attach(servo);  // attaches the servo on pin 9 to the servo object 
+    myservo.write(middle);              // tell servo to go to position in variable 'pos' 
+    delay(2000);
+} 
+void loop() 
+{ 
+// Turn DX
+    turnDX();
+    delay(1000);     
+
+    turnMiddle();
+    delay(1000);     
+
+// Turn SX
+    turnSX();
+    delay(1000);     
+
+    turnMiddle();
+    delay(1000);     
+} 
+
+// Functions
+
+void turnDX() {
+    // TurnDX
+    myservo.write(170);
+    delay(spausa);     
+}
+
+void turnSX() {
+    // TurnSX
+    myservo.write(10);
+    delay(spausa);     
+}
+
+void turnMiddle() {
+    // TurnDX
+    myservo.write(middle);
+    delay(spausa);     
+}
+