Tutorial - Comunicación serial (Quinta parte)

Usaremos como referencia un tutorial anterior (ver el siguiente link: "Comunicación serial (Segunda parte)"), vamos a leer el valor de la resistencia de un potenciómetro conectado al pin A0 de Arduino. Éstos datos se van a mostrar a través de Processing usando un cajetín mostrado en pantalla que va de 0 a 5V con decimales.

La conexión es la siguiente:
# PIN A0 : Arduino UNO => PIN CENTRAL : Potenciómetro 
# GND : Arduino UNO => EXTREMO : Potenciómetro 
# 5V : Arduino UNO  => EXTREMO : Potenciómetro 


El programa usado para el Arduino es el que se muestra:
/* PROGRAMA DE PRUEBA DE COMUNICACION SERIAL
   CONEXION:
             Arduino (A0) : Pin central potenciometro
             Arduino (GND): Pin extremo potenciometro
             Arduino (5V) : Pin extremo potenciometro
   
   El siguiente programa nos ayuda a realizar la lectura del votlaje del potenciometro y mostrarlo por puerto serial.
   
   Autor: Carolina G.
   http://beetlecraft.blogspot.pe/
  
   El siguiente programa es de uso publico, cualquier modificacion o mal uso del mismo que pudiera ocasionar el mal funcionamiento
   de la plataforma de uso de la misma no es responsabilidad del autor
*/
int sensor = 0; // Indica el pin de entrada analogico
int val = 0;    // Variable de almacenamiento de lectura del potenciometro

void setup() {
  Serial.begin(9600); // Inicia el Puerto Serial
}

void loop() {
  val = analogRead(sensor) / 4; // Lee el valor del potenciometro y lo convierte en 1 byte (0 a 255)
  Serial.write(val);            // Envia la variable al puerto serial
  delay(100);                   // Espera 100 milisegundos
}
Al abrir el Monitor Serial de Arduino obtenemos el siguiente resultado:


El programa que va en Processing es el siguiente:
/* PROGRAMA DE PRUEBA DE COMUNICACION SERIAL
   CONEXION:
             Arduino (A0) : Pin central potenciometro
             Arduino (GND): Pin extremo potenciometro
             Arduino (5V) : Pin extremo potenciometro
    
   El siguiente programa nos ayuda a realizar la lectura del voltaje del potenciometro y muestra el valor en un cajetin
   en pantalla
    
   Autor: Renato Hurtado
   http://beetlecraft.blogspot.pe/
   
   El siguiente programa es de uso publico, cualquier modificacion o mal uso del mismo que pudiera ocasionar el mal 
   funcionamiento de la plataforma de uso de la misma no es responsabilidad del autor
*/

import processing.serial.*; // Inicio de la comunicación serial
Serial puerto;              // Crea el puerto serial
float val;                  // Variables de lectura

void setup() {
  size(450, 80); // Tamaño de la pantalla ancho, alto
 
  String ArduinoPuerto = Serial.list()[0];        // Encuentra el primer puerto serial para iniciar la comunicacion
  puerto = new Serial(this, ArduinoPuerto, 9600); // Inicio de la comunicacion con el primer puerto encontrado
}

void draw() {
  lectura();
  
  // Creacion de la etiqueta
  fill(0, 102, 153);       // Valor de rojo, verde y azul de la letra
  textSize(30);            // Tamano en pixeles de la letra
  text("VOLTAJE", 20, 50); // Texto, coordenada en x, coordenada en y
  
  // Muestra del dato por pantalla
  fill(255, 255, 255);      // Valor de rojo, verde y azul del cajetin
  rect(190, 20, 250, 40);   // Creacion del cajetin para dato coordenada x, y, ancho, alto
  fill(0, 102, 153);        // Valor de rojo, verde y azul de la letra
  textSize(30);             // Tamano en pixeles de la letra
  text(val + " V", 200, 50); // Texto de presentacion del dato, coordenada en x, coordenada en y
}

void lectura(){
  if (puerto.available() > 0) {                 // Si hay datos en el buffer del puerto serial
    val = puerto.read();                        // Lectura de los datos del puerto serial
    val = map(val, 0, 255, 0, 5);               // Conversion del valor leido
    println("Valor del potenciometro: " + val); // Muestra el dato en el puerto serial
  }  
}
Los resultados obtenidos son los siguientes:




Autor: 

No hay comentarios:

Publicar un comentario