X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=motors%2Fservo%2FKnob_2%2FKnob_2.ino;h=c50275fff7c15c885cbcb87060730857b77d4a04;hb=fd843739e632cc71f079bdf3c94d9d5f8e9a3b13;hp=08bd2098d0dfdc99f8fec90c5386d184b8251532;hpb=ea8d99c7d1bf9824a769c81533fe90e437ccd360;p=sketchbook_andrea diff --git a/motors/servo/Knob_2/Knob_2.ino b/motors/servo/Knob_2/Knob_2.ino index 08bd209..c50275f 100644 --- a/motors/servo/Knob_2/Knob_2.ino +++ b/motors/servo/Knob_2/Knob_2.ino @@ -1,5 +1,19 @@ -// Controlling a servo position using a potentiometer (variable resistor) -// by Michal 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 }