Este documento describe la construcción de un termómetro digital simulado en el programa Processing. Se conectó un termistor LM35 al Arduino para medir la temperatura y enviar los datos por serial a Processing. En Processing se creó una interfaz gráfica que muestra la temperatura actual, una gráfica de barras para la temperatura y círculos indicadores de rango de temperatura. La práctica demostró con éxito el funcionamiento de la comunicación serial entre Arduino y Processing para simular un termómetro digital.
Este documento describe la construcción de un termómetro digital simulado en el programa Processing. Se conectó un termistor LM35 al Arduino para medir la temperatura y enviar los datos por serial a Processing. En Processing se creó una interfaz gráfica que muestra la temperatura actual, una gráfica de barras para la temperatura y círculos indicadores de rango de temperatura. La práctica demostró con éxito el funcionamiento de la comunicación serial entre Arduino y Processing para simular un termómetro digital.
Este documento describe la construcción de un termómetro digital simulado en el programa Processing. Se conectó un termistor LM35 al Arduino para medir la temperatura y enviar los datos por serial a Processing. En Processing se creó una interfaz gráfica que muestra la temperatura actual, una gráfica de barras para la temperatura y círculos indicadores de rango de temperatura. La práctica demostró con éxito el funcionamiento de la comunicación serial entre Arduino y Processing para simular un termómetro digital.
Cd. Victoria, Tam. Introduccin. En esta prctica se elabor un termmetro digital en el programa proporcionado por el profesor procesing. Los materiales necesarios para llevar acabo la prctica fueron arduino mega, una computadora, el software procesing, un termistor LM35 y cables para conexin. Los pasos para obtener los resultados esperados fueron en primer lugar generar la pantalla en la cual se mostrara el termmetro y los grados Celsius en el ambiente, despus de implement la grfica que consta de dos cuadros para generar la simulacin de incremento de temperatura, en seguida se utiliz una sentencia for para incluir la graduacin de la grfica de barra. Despus se realiz otra grafica que marca el voltaje de entrada al arduino que manda el termistor y al final se implementaron indicadores que cuentas de dos elipses para generar la simulacion de encendido de un led.
Desarrollo. La prctica efectuada se llev a cabo en el programa processing, construyendo en este las instrucciones con las cuales se realiz el termmetro digital. Para lograr el envio de datos por el serial del arduino a processing se compilo y cargo el programa FIRMATA al arduino y de esta manera generar la comunicacion serial. El cdigo utilizado fue el siguiente:
Import processing. Serial.*; Import cc.arduino.*; int[] xvals; // Array que almacenara los valores ledos int val; // Valor ledo int arrayindex = 0; // Puntero o ndice del array Arduino arduino; int potPin=0; PShape square, indicador1, indicador2, indicador3; float Temp=0; void setup(){ size(510, 535,P2D); //cuadro para relleno de grafica de barra square = createShape(RECT, 0, 0, 50, 50); square.setFill(color(0, 0, 255)); square.setStroke(false); //indicador 1 indicador1 = createShape(ELLIPSE, 0, 0, 50, 50); indicador1.setFill(color(0, 0, 255)); indicador1.setStroke(false); //indicador 2 indicador2 = createShape(ELLIPSE, 0, 0, 50, 50); indicador2.setFill(color(0, 0, 255)); indicador2.setStroke(false); //indicador 3 indicador3 = createShape(ELLIPSE, 0, 0, 50, 50); indicador3.setFill(color(0, 0, 255)); indicador3.setStroke(false); xvals = new int[width]; arduino = new Arduino(this, Arduino.list()[0], 57600); }
void draw(){ noStroke(); background(0); //definicion de valor de entrada del arduino a la variable "val" val = arduino.analogRead(potPin); xvals[width-1] = val/4; Temp = val; //Formula para obtener la temperatura Temp = (5.0 * Temp * 100.0)/1024.0; //linea para la grafica de entrada de voltaje for(int i=1; i<width; i++) { xvals[i-1] = xvals[i]; } for(int i=1; i<width; i++) { stroke(0,0,255); point(i, 528-xvals[i]); } for (int e=0; e<=5;e++){ text(e+"V --",255, 533-(e*51)); } //textos text("Grafica de voltaje de entrada al arduino",130, 255); text("Valor analogico: "+val, 130, 230); text("Voltaje: "+5.0*(xvals[width-1]/255.0)+"V",265,230); text("Sensor de temperatura con LM35",170,15); text("TEMPERATURA:"+Temp+"C",15, 45); //grafica de barra noStroke(); rect(50,55, 30,205); shape(square, 50, 55,30,(205-(Temp*2.7))); square.setFill(color(255,0,0)); for(int s=0;s<=80;s+=20){ text(s+"C -",10,260-(s*2.5)); } //indicadores noStroke(); ellipse(182,82,25,25); if(Temp>=0 && Temp<18){ shape(indicador1, 170, 70,25,25); indicador1.setFill(color(0,0,255)); } ellipse(282,82,25,25); if(Temp>=18 && Temp<40){ shape(indicador2, 270, 70,25,25); indicador2.setFill(color(0,255,0)); } ellipse(382,82,25,25); if(Temp>=40 && Temp<=80){ shape(indicador3, 370, 70,25,25); indicador3.setFill(color(255,0,0)); }
Conclusiones. En esta prctica se comprob el funcionamiento de processing con interfaz arduino y de esta manera generar en la pantalla una simulacin la cual represent un termmetro con varias formas bsicas de muestreo de dicho aparto de medicin, como lo son muestreo digita, en una grfica e indicadores.