/* ------------------------------------ Inizio Programma ------------------------------------------
Controlla la posizione angolare (escursione) di un servo attraverso un potenziometro
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013 by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
Aggiunta routine da Achille De Santis - 26-02-2019
usare una resistenza in serie al potenziometro di uguale valore.
In questo modo si riduce la corrente nel potenziometro e si limita l'escursione di tensione.
*/
#include <Servo.h>
// --------------------------------
#define U 9 // uscita servo
#define potpin 0 // piedino analogico usato per collegare il potenziometro
// --------------------------------
Servo myservo; // crea l'oggetto servo per controllare un servomotore
int val; // variabile per leggere il valore dall'ingresso analogico
void setup()
{
myservo.attach(U); // associa il servo al pin di uscita (9)
Serial.begin(9600);
}
void muoviservo(Servo x, int v, int p)
{ // questa routine può essere convenientemente usata per altri servo
v=analogRead(p); // legge il livello del potenziometro (tra 0 e 1023)
Serial.print(v); Serial.print(' ');
v=map(v, 0, 900, 0, 180); // scala il valore in gradi, per usarlo con il servo (valore tra 0° e 180°)
x.write(v); // assegna la posizione al servo, in gradi
Serial.println(v);
delay(15); // ritarda
}
void loop()
{ muoviservo(myservo, val, potpin); }
Controlla la posizione angolare (escursione) di un servo attraverso un potenziometro
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013 by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
Aggiunta routine da Achille De Santis - 26-02-2019
usare una resistenza in serie al potenziometro di uguale valore.
In questo modo si riduce la corrente nel potenziometro e si limita l'escursione di tensione.
*/
#include <Servo.h>
// --------------------------------
#define U 9 // uscita servo
#define potpin 0 // piedino analogico usato per collegare il potenziometro
// --------------------------------
Servo myservo; // crea l'oggetto servo per controllare un servomotore
int val; // variabile per leggere il valore dall'ingresso analogico
void setup()
{
myservo.attach(U); // associa il servo al pin di uscita (9)
Serial.begin(9600);
}
void muoviservo(Servo x, int v, int p)
{ // questa routine può essere convenientemente usata per altri servo
v=analogRead(p); // legge il livello del potenziometro (tra 0 e 1023)
Serial.print(v); Serial.print(' ');
v=map(v, 0, 900, 0, 180); // scala il valore in gradi, per usarlo con il servo (valore tra 0° e 180°)
x.write(v); // assegna la posizione al servo, in gradi
Serial.println(v);
delay(15); // ritarda
}
void loop()
{ muoviservo(myservo, val, potpin); }
// ------------------ Fine Programma -----------------------------------------------------------
Nessun commento:
Posta un commento