FISICA II TERMÓMETRO DIGITAL
Enviado por Eric • 26 de Abril de 2018 • 1.426 Palabras (6 Páginas) • 297 Visitas
...
[pic 4]
Imagen 3 (LCD 16x2)
- Características de LCD 16x2:
- Numero de Caracteres 16 x 2 líneas (62x18mm).
- Tamaño: 84x44x14mm.
- Voltaje backlight: 5V DC.
- Color backlight: Azul / Verde
Simulacion del circuito
[pic 5]
Imagen 4 (Simulacion)
Montaje de los componentes
[pic 6]
Imagen 5 (Circuito del termómetro)
- MATERIALES Y COSTO
Material
Costo ($)
1 Protoboard
3.50
1 Arduino UNO (Controlador)
18.00
1 Sensor de temperatura LM35
2.50
1 Potenciometro (Resistencia Variable)
0.35
1 LCD de 16x2
5.00
1 Pulsador
0.25
2 Resistencias
0.10
3 metros de cable de timbre
0.50
total
30.20
SCRIPT DE PROGRMACION ARDUINO
/* Termómetro digital utilizando el sensor LM35 y una pantalla LCD de 16x2*/
#include //Librería del LCD
LiquidCrystal lcd(5, 6, 8, 9, 10, 11); // Pines del LCD(RS, Enable, D4, D5, D6, D7)
int buttonState =0;
int estado=0;
int pulsadorAnt=0;
int lm35 = A0; // Entrada analógica A0 para leer sensor
float temp=0;
int sig=1;
void setup(){
pinMode(2,INPUT);
lcd.begin(16, 2);
lcd.print("****E.P.N****");
}
/*programa principal*/
void loop(){
temp=analogRead(lm35); // lectura del sensor
temp=(5.0 * temp * 100.0)/1024.0; // conversion de la lectura
lcd.setCursor(1,2);
lcd.setCursor(5,2);
buttonState = digitalRead(2); // lee la entrada del pulsador
if (buttonState==HIGH&& (pulsadorAnt==LOW))
{
estado =1-estado;
}
pulsadorAnt =buttonState;
if(estado==1){
cambiarSiguiente();
estado=0;
}}
void cambiarSiguiente()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temperatura");
lcd.setCursor(1,2);
switch(sig) {
case 1:
{
lcd.print(celsius ());
lcd.setCursor(6,2);
lcd.print(" C");
sig=2;
}
break ;
case 2:
{ lcd.print(kelvin());
lcd.setCursor(6,2);
lcd.print(" K");
sig=3;
}
break ;
case 3:
{lcd.print(rankine());
lcd.setCursor(6,2);
lcd.print(" Ra");
sig=4;
}
break ;
case 4:
{lcd.print(farengheit());
lcd.setCursor(6,2);
lcd.print(" F");
sig=1;
}
break ;
}
}
float celsius ()
{
return(temp);
}
float farengheit ()
{
return((9*temp/5)+32);
}
float kelvin ()
{
...