]> git.piffa.net Git - sketchbook_andrea/blobdiff - motors/servo/Knob_2/Knob_2.ino
Cleanup Motori
[sketchbook_andrea] / motors / servo / Knob_2 / Knob_2.ino
index 08bd2098d0dfdc99f8fec90c5386d184b8251532..c50275fff7c15c885cbcb87060730857b77d4a04 100644 (file)
@@ -1,5 +1,19 @@
-// Controlling a servo position using a potentiometer (variable resistor) 
-// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 
+/* Knob
+
+   Rotazione di un servomotore tramite un potenziometro
+
+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 
+~62mA 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.
+
+Schema: 
+- https://www.arduino.cc/en/uploads/Tutorial/knob_bb.png
+*/
 
 // Schema: https://lab.piffa.net/schemi/potenziometro_bb.png
 
@@ -18,7 +32,8 @@ void setup()
 void loop() 
 { 
   val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
-  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
+  constrain(val,0,1023);
+  val = map(val, 0, 1023, 10, 170);    // scale it to use it with the servo (value between 10 and 170) 
   myservo.write(val);                  // sets the servo position according to the scaled value 
   delay(15);                           // waits for the servo to get there 
 }