Pues tengo un programa muy sencillo hecho con un Arduino Nano y un sensor de humedad.
El sensor obtiene un dato por segundo y lo muestra en el puerto serie con dos valores, el primero con valores de cero a 1023 del sensor y el segundo en porcentajes, separadoros ambos valores por un espacio.
Pongo el sketch de Arduino:
//*Sensor de humedad, Arduino Nano.
//*Por Puerto serie arroja el valor de la conductividad, luego un espacio vacío y
//*luego el valor porcentual
#include <Wire.h>
const int sensorPin = A0; //Sensor de humedad
unsigned long humedad, Porcentaje = 0; //Valor de humedad y su porcentaje
void setup ()
{
Serial.begin(115200); //Inicia el puerto serie
}
void loop ()
{
humedad = 1023 - analogRead(sensorPin); //Invertir el valor (resistencia a conductancia)
//humedad = humedad * log(3);
Serial.print(humedad); //Muestra el valor de conductancia
Serial.print(" "); //Un espacio en blanco
Porcentaje = humedad * 100 / 1023; //Cálculo porcentual
Serial.println(Porcentaje); //Muestra el porcentaje
//Serial.println();
delay(1000);
}
Como introducción diré que con Processing quiero hacer varias ventanas para graficar los datos de formas diferentes, una ventana con el listado de los datos digitales. otra con un gráfico de líneas con la evolución de los datos y otro con un gráfico de barra donde la barra vaya “subiendo y bajando” de acuerdo al valor de la conductancia y al mismo tiempo cambiando de color.
Por ahora el problema es que he hecho la ventana de los datos digitales, en la cual muestro la fecha y la hora pero quiero que haga un listado, y lo que hace ahora mismo es mostrar los datos de fecha y hora siempre en la misma línea, no sé que comandos necesito para que aparezcan listados todos los valores y luego hagan un scrolling al llegar al final de la ventana.
Pongo el Sketh del IDE de Processing:
PImage img;
void setup()
{
size(640,480);// creamos la ventana
textSize(20);// definimos el tamaño de la letra
img = loadImage("Logo_Digital.jpg");
}
void draw()
{
background(300);
int y = 20;
image(img,520, 10);
int Anio = year(); // Valores de 2015, 2014, etc
int Mes = month(); // Valores de 1 a 12
int Dia = day(); // Valores de 1 a 31
fill(255,0,0);
int Segundos = second(); // Valores de 0 a 59
int Minutos = minute(); // Valores de 0 a 59
int Hora = hour(); // Valores de 0 a 23
text(Dia + "/" + Mes + "/" + Anio + " " +
Hora + ":" + Minutos + ":" + Segundos, 10, y);
}