]> git.piffa.net Git - sketchbook_andrea/blob - motors/servo/Knob_2/Knob_2.ino
Cleanup Motori
[sketchbook_andrea] / motors / servo / Knob_2 / Knob_2.ino
1 /* Knob
2
3    Rotazione di un servomotore tramite un potenziometro
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: 
15 - https://www.arduino.cc/en/uploads/Tutorial/knob_bb.png
16 */
17
18 // Schema: https://lab.piffa.net/schemi/potenziometro_bb.png
19
20 #include <Servo.h> 
21  
22 Servo myservo;  // create servo object to control a servo 
23  
24 const int potpin = A0;  // analog pin used to connect the potentiometer
25 int val;    // variable to read the value from the analog pin 
26
27 void setup() 
28
29   myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
30
31  
32 void loop() 
33
34   val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
35   constrain(val,0,1023);
36   val = map(val, 0, 1023, 10, 170);    // scale it to use it with the servo (value between 10 and 170) 
37   myservo.write(val);                  // sets the servo position according to the scaled value 
38   delay(15);                           // waits for the servo to get there 
39