Potenciómetro y comunicación serial (Vídeo)
En esta entrada vamos a hacer uso de un potenciómetro para leer valores analógicos de entrada y transferir estos datos al puerto serie.
Potenciómetro
Un potenciómetro es un actuador que proporciona una cantidad variable de resistencia según rotamos su eje móvil. Este efecto sirve para regular un voltaje de entrada dado. Nosotros vamos a hacer uso de la función analogRead para leer el valor analógico (0..1023) correspondiente a la resistencia que aplica en cada momento el potenciómetro.
A continuación podemos ver qué apariencia tiene un potenciómetro:
Para construir nuestro prototipo, conectaremos una patilla del potenciómetro a 5V, otra al pin analógico A0 de Arduino, y la última a GND. El esquema de montaje es el siguiente:
Comunicación serial
Un puerto serie es una interfaz de comunicaciones que transmite datos digitales bit a bit. Para poder realizar este intercambio de datos se necesitan, al menos, dos conexiones: RX (recepción) y TX (transmisión). En Arduino UNO los pines empleados son el 0 (RX) y el 1 (TX). Arduino Mega y Arduino Due tienen cuatro puertos serie, representados por:
- Puerto serie: 0 (RX) y 1 (TX)
- Puerto serie 1: 19 (RX) y 18 (TX)
- Puerto serie 2: 17 (RX) y 16 (TX)
- Puerto serie 3: 15 (RX) y 14 (TX)
Para establecer comunicación serie podemos usar cualquiera de las parejas de puertos anteriores. Sin embargo, la forma más sencilla de trabajar con el puerto serie en Arduino UNO y Mega es usar el puerto USB. ¿El USB es un puerto serie? !Correcto! USB viene de las siglas en inglés Universal Serial Bus. El uso del USB nos permite simplificar enormemente la comunicación serie entre nuestro ordenador y Arduino.
De acuerdo, ya sé qué es la comunicación serie. ¿Cómo comunico mi Arduino con el ordenador usando el USB? Para ello haremos uso de las opciones que ofrece el IDE de Arduino. En el menú Herramientas – Monitor Serie (o con el atajo Ctrl+Mayús+M) abrimos la consola del puerto serie. En ella se muestra qué información se va recibiendo además de poder enviar información desde un cuadro de texto.
AnalogReadSerial: Jugando con potenciómetro y puerto serial
El siguiente sketch muestra cómo inicializar correctamente el puerto serie, leer del pin analógico en el que está conectado el potenciómetro y finalmente enviarlo al puerto serie:
void setup() { // Inicializamos la comunicación serie a 9.600 bits por segundo Serial.begin(9600); } void loop() { // Leemos la entrada del pin analógico 0 int valorLeido = analogRead(0); // Enviamos al puerto serie el valor leído Serial.println(valorLeido); delay(1000); // Esperamos un segundo entre lecturas para mejorar la estabilidad }
Estudiante de Ingeniería Informática en la intensificación de Tecnologías de la Información. Universidad de Murcia.
Redes de Comunicaciones, Seguridad e Internet of Things.
Muchas gracias Sergio por tu articulo. Me entusiásmate con esto y ahora voy a meterme en el mundo de ardruino. Mucho tiempo estaba buscando información de este tipo hasta que di con tu
pequeño tutorial existo en tus proyectos
Eduardo Parejo de venezuela
Muchas gracias a ti Eduardo por seguir nuestro blog. Espero que te hayan gustado las entradas y que hayas aprendido. Pronto tendremos más entradas sobre Arduino para profundizar más. ¡Un saludo!