mercoledì 20 novembre 2019

Arduino N° 24 - Pilotaggio di posizione angolare servo

Arduino N° 23

 Achille De Santis

Arduino N° 25




/* ------------------------------------ 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);     }

// ------------------ Fine Programma -----------------------------------------------------------

Nessun commento:

Posta un commento