Escolar Documentos
Profissional Documentos
Cultura Documentos
mx/proyectos/potenciometroMonitorSerial
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.
/*
*/
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.
/*
*/
void setup() {
// Aunque no es necesario incializa el pin del boton como de
entrada
pinMode(pinSensor, INPUT);
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.