Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Arduino: Motor servo con potenciómetro

El circuito (realizado con Fritzing):

/*
 * Este programa mueve un servomotor en relacion a la lectura de un sensor (potenciometro).
 *
 * 2014 - Guimi (http://guimi.net)
 */

// LIBRERIAS
//----------
#include <Servo.h> // Libreria de Arduino para Servomotores


// VARIABLES
//----------
Servo servo1; // Nuestro servo 1
const byte sensor=0; // Variable que indica el pin del sensor (potenciometro)
int valorSensor=0; // Variable para guardar el valor del sensor [0-1023]


// FUNCION SETUP
//--------------
void setup(){
  // Definimos cada pin como entrada o salida
  pinMode(sensor,INPUT);

  servo1.attach(9); // Indicamos el pin utilizado para el servo

  // Preparamos la comunicacion mediante el puerto serie  
  Serial.begin(9600);
}


// FUNCION LOOP
//-------------
void loop(){
  // Leemos el valor del sensor [0-1023]
  valorSensor=analogRead(sensor);
  // El servo solo gira entre 0 y 180 grados
  valorSensor=map(valorSensor,0,1023,0,179);
  Serial.println(valorSensor);
  
  servo1.write(valorSensor); // Indicamos los grados en el servo

  // Esperamos un tiempo de reaccion para los componentes
  delay(200);
}