You are on page 1of 3

#include <LiquidCrystal.h> // Incluir el cdigo de biblioteca: # include <LiquidCrystal.h> //incluir la biblioteca del controlador LCD float tempC = 0.

0; //variable para la celebracin de Celcius temp (flotante de pre cisin decimal puntos) float tempf = 0.0; // variable para la celebracin de Fareghneit temp int tempPin = 0; // Declarar la entrada analgica que es 0 ( A0) de la placa Ardu ino. float muestras[8]={ 0b00111, 0b00101, 0b00111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; // matriz para que contenga 8 muestras por medio temp clculo float maxi = 0, mini = 100; // max min variables de temperatura con los valores iniciales. LM35 en configuracin sencilla slo mide temperatura por encima de 0. int i; // Inicializar la biblioteca con los nmeros de los pines de interfaz de LiquidCrystal lcd (12, 11, 5, 4, 3, 2); void setup () { Serial.begin (9600); // abre el puerto serie, establece la velocidad de datos de 9600 bps pinMode (13, OUTPUT); // La Red arduino led lcd.begin (16, 2); // configurar el nmero del LCD de columnas y filas: lcd.setCursor (0, 0);//establecer la posicin del cursor LCD (columna, fila) lcd.print ("Gmen del primero"); //text // impresin de LCD lcd.setCursor (0, 1); lcd.print (" proyecto Arduino "); delay (5000); // espere 500ms lcd.clear (); // pantalla LCD // clear lcd.setCursor (0, 0); lcd.print ("LCD Ambient Temp"); lcd.setCursor (0 , 1); lcd.print ("monitor digital"); delay (5000); lcd.clear (); } void loop () { digitalWrite (13, LOW); // establecer el LED Serial.println (analogRead (tempPin)); // Muestra en el monitor de la serie de v alores muestreados antes de la conversin a la lectura de la temperatura real de // Comienzo de clculos para el bucle. for (i=0 ; i<=7;i++) { // obtiene 8 muestras de temperatura muestras [i] = (4,4 * analogRead (tempPin) * 100.0) / (1024.0 );// conversin mate

mticas de LM35 de la muestra a la temperatura legible y tiendas de resultado a mu estras de matriz. 1024 es la profundidad de bits (cuantificacin) de Arduino. // 5 es el voltaje de suministro de LM35. Cambiar appropriatelly tener una medic in correcta. Mi caso es 4.4Volts. // Serial.println (muestras [i]); Serial.print ("."); // imprimir un punto para cada muestra en el monitor serie // Mostrar Celcius actual Temp para LCD // (nota LCD: la lnea 1 es la segunda fila, ya que cuenta comienza con 0): lcd.setCursor (0, 0), // set LCD cursor posicin lcd.print ("Current T : "); // impresin de LCD lcd.setCursor (12, 0); lcd.print (muestras [i]); // impresin actual muestra Temp para LCD tempC = tempC + muestras [i]; //hacer la adicin de la temperatura media delay (800); //espera 800ms } // fin del bucle FOR Serial.println (""); // Como y CR en serie del monitor Serial.println (""); tempC = tempC/8.0 ;// calcula el averare de 8 muestras en Celcius tempf = ((tempC * 9) / (5 + 32)); // se convierte en fahrenheit if (tempC> maxi) {maxi = tempC;} // set temperatura mxima if (tempC <mini) {mini = tempC;} // Temperatura min / set // Enviar los resultados a Serial Monitor de Serial.println ("Nueva medicin"); Serial.print ("Temperatura media en Celcius es"); //enviar los datos a la comput adora Serial.println (tempC) ;//enviar los datos al ordenador Serial.print ("Temperatura media en Farenait es"); //enviar los datos a la compu tadora Serial.println (tempf) ;//enviar los datos a la computadora Serial.print ("MAX temperatura en grados Celsius es" ); //enviar los datos a la computadora Serial.println (maxi) ;//enviar los datos a la computadora Serial.print ("MIN temperatura en grados Celsius es"); //enviar los datos a la c omputadora Serial.println ( mini) ;//enviar los datos a la computadora //Enviar los resultados de LCD. lcd.setCursor (0, 0); lcd.print ("Av.T Max Min"); // Establecer el cursor a la columna 0, la lnea 1 // (nota: la lnea 1 es la segunda fila, ya que cuenta comienza con 0): lcd.setCursor (0, 1); // imprime la temperatura promedio medido lcd.print ( tempC); lcd.setCursor (6, 1); // imprime la temperatura mxima lcd.print (maxi); lcd.setCursor (12, 1); // imprime la temperatura mnima lcd.print (mini); digitalWrite (13 , HIGH); // establecer el LED delay (3000); // Espera unos 3 segundos para mostrar los resultados a la pantall a LCD acaben de comenzar el ciclo de nuevo

tempC = 0; // Set tempC a 0 para los clculos se puede hacer de nuevo }

You might also like