Você está na página 1de 5

http://arduineando.matem.unam.

mx/proyectos/potenciometroMonitorSerial

Sensando un potenciometro con el Monitor Serial


- componentes - circuito - diagrama - cdigo - variantes - referencias - otros -

En este proyecto vamos a sensar los valores que obtendremos de un


potencimetro y para conocerlos, vamos a desplegarlos en nuestra
computadora. Para poder desplegarlos, vamos a utilizar el Monitor
Serial del IDE.
El potencimetro es una resistencia variable que nos proporcionar los
valores anlogicos de un voltaje, valores entre el mximo y el mnimo
del voltaje al que est conectado. Estos valores los podremos obtener
utilizando la funcin analogRead() en uno de los puertos analgicos
del arduino.
Para poder desplegarlos en el Monitor Serial del IDE, vamos a utilizar
la biblioteca Serial, que nos permite enviar datos desde el arduino
hacia la computadora y desplegarlos en la pantalla.
La idea del proyecto es utilizar estas herramientas para conocer de
manera indirecta los valores de un sensor analgico muy simple. Estas
mismas herramientas las podremos utilizar despues en otros sketchs,
para conocer como funcionan distintos sensores analgicos y
utilizarlos en nuestros proyectos.
- al inicio

Componentes
arduino
protoboard
un potenciometro

- al inicio

Circuito
El circuito de este proyecto es muy simple. El potenciometro es un
componente que tiene tres conectores o patas. Dos de ellas son los
extremos de una resistencia fija. La tercera, la central, es la de un
contacto movil, que al deslizarse de un extremo a otro de la resistencia
fija la divide en dos y nos da los distintos valores del voltaje en cada
punto.
Para utilizarlo, conectamos una de las patas a la alimentacin de 5
Volts, la otra la conectamos a tierra y la pata central, donde tenemos
la resistencia variable, la conectamos a un pin analgico del arduino.
Es en esta pata central donde sensaremos los valores del voltaje que
nos da el potenciometro.
- al inicio

Diagrama
- al inicio

Cdigo
En el cdigo de este proyecto vamos a usar la
funcin analogRead() para leer los valores analgicos que nos
proporciona el potenciometro.
A esta funcin, igual que con el digitalRead(), hay que pasarle un slo
parmetro, el nmero del pin analgico que queremos leer o sensar.
El valor que nos devuelve esta funcin es un valor entre 0 y 1023. Estos
valores son el resultado de la conversin de los valores anlogicos del
voltaje, entre 0 y 5 Volts, a un valor digital entero, que podremos usar
en nuestros sketchs. La conversin la hace el microcontrolador
utilizando un nmero de 10 bits, donde el minimos ser entonces un 0
para 0 volts, el mximo 1023, equivalente a 5 Volts y por ejemplo, 512
equivalente a 2.5 Volts.
Como los puertos anlogicos son de slo lectura, no es necesario
inicializarlos como de entrada, pero no hay ningn problema si lo
hacemos. El hacerlo puede darle mayor claridad a nuestro cdigo.
Para transmitir los datos a la computadora usaremos la
biblioteca Serial. sta es una biblioteca que ya est incluida en el
lenguaje y slo tenemos que inicializarla para poder hacer uso de ella.
La inicializamos en la funcin setup con la velocidad a la que queremos
transmitir la informacin, Serial.begin(9600);
Para enviar datos del arduino hacia la computadora usamos la
funcin Serial.print() o Serial.println(). La segunda forma enva
adems del dato, un retorno de carro.
/*

En este proyecto leemos el valor que nos da un potenciometro

El valor leido lo enviamos a la computadora


utilizando la biblioteca Serial

*/

const int pinSensor = A0; // pin del sensor analogico, con un


potenciometro

int valorAnalogico = 0; // variable para guardar el valor


leido del sensor

void setup() {
// Aunque no es necesario Incializa el pin del boton como de
entrada
pinMode(pinSensor, INPUT);
// Inicializa la comunicacion serial
Serial.begin(9600);
}

void loop(){
// lee el valor del sensor
valorAnalogico = analogRead(pinSensor);
// manda el valor por el serial
Serial.print("Valor del sensor analogico = ");
Serial.println(valorAnalogico);
// espera 1000 milisegundos para leer y enviar la siguiente
lectura del sensor
delay(1000);
}

- al inicio

Variantes
Podemos no declarar el puerto analgico como de entrada. Como los
analgicos son puertos de slo lectura, por defecto son de entrada.
Podemos cambiar la velocidad de transmisin por una mayor a 9600
bps. Si hacemos esto, debemos configurar ambos puntos de la
comunicacin a la misma velocidad, en nuestro sketch y el Monitor
Serial.
Podemos modificar el sketch para que enve el valor del voltaje al
monitor serial.
/*

En este proyecto leemos el valor que nos da un potenciometro

Y lo convertimos al Voltaje correspondiente

El valor obtenido lo enviamos a la computadora


utilizando la biblioteca Serial

*/

const int pinSensor = A0; // pin del sensor analogico, con un


potenciometro

int valorAnalogico = 0; // variable para guardar el valor


leido del sensor

float voltaje = 0; // variable para guardar el valor del


voltaje

void setup() {
// Aunque no es necesario incializa el pin del boton como de
entrada
pinMode(pinSensor, INPUT);

// Inicializa la comunicacion serial


Serial.begin(9600);
}

void loop() {
// lee el valor del sensor
valorAnalogico = analogRead(A0);
// convierte el valor analogico (de 0 a 1023) al del voltaje
(0 - 5V):
float voltaje = valorAnalogico * (5.0 / 1023.0);
// manda el valor por el serial
Serial.println(voltaje);
// espera 1000 milisegundos para leer y enviar la siguiente
lectura del sensor
delay(1000);
}
- al inicio

Referencias:
Arduino Reference: analogRead()
Referencia Arduino: analogRead()
Funcin para leer el estado de un pin analgico.

Arduino Reference: Serial.begin()


Referencia Arduino: Serial.begin()
Funcin para inicializar la biblioteca Serial y definir la velocidad de comunicacin.

Arduino Reference: Serial.print()


Referencia Arduino: Serial.print()
Funcin para enviar por el puerto serial los datos. Con println(), enva tambien un
retorno de carro.
- al inicio

Você também pode gostar