]> git.piffa.net Git - sketchbook_andrea/blob - motors/servo/Sweep_1/Sweep_1.ino
Cleanup Motori
[sketchbook_andrea] / motors / servo / Sweep_1 / Sweep_1.ino
1 /* Sweep
2
3    Rotazione di un servomotore tramite la librerio Servo.h .
4
5 L'utilizzo della libreria Servo rende inutilizzabile analogWrite()
6 sui pin 9 e 10 dato che utilizza i timer associati a questi PIN.
7
8 Power: un servo da 9g puo' arrivare ad impegnare 750mA sotto carico
9 (se viene opposta resistenza al movimento del servo), un  SG90 prende 
10 ~62mA se il movimento e' libero. Quindi in fase di test il servo puo'
11 essere alimentato direttamente da una scheda Arduino (200ma dal PIN 5v)
12 ma per l'uso finale dovra' essere alimentato autonomamente.
13
14 Schema: https://www.arduino.cc/en/uploads/Tutorial/sweep_bb.png
15         http://microbotlabs.com/images/mearm-uno-servo-1.jpg
16    */
17
18 #include <Servo.h> 
19  
20 Servo myservo;  // create servo object to control a servo 
21                 // a maximum of eight servo objects can be created 
22  
23 int pos = 0;    // variable to store the servo position 
24 const byte min = 10; // Ai servo economici non piace arrivare agli estremi ;)
25 const byte max = 170;
26 const int pausa = 15;
27  
28 void setup() 
29
30   myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
31
32  
33  
34 void loop() 
35
36   for (pos = min; pos < max; pos += 1)  // goes from 0 degrees to 180 degrees 
37   {                                  // in steps of 1 degree 
38     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
39     delay(15);                       // waits 15ms for the servo to reach the position 
40   } 
41   for (pos = max; pos >= min; pos -= 1)     // goes from 180 degrees to 0 degrees 
42   {                                
43     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
44     delay(pausa);                       // waits 15ms for the servo to reach the position 
45   } 
46