TODOPIC
Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: coronado88 en 10 de Septiembre de 2016, 00:57:39
-
buenas estoy haciendo un termómetro y solo logre que aumentara la temperatura pero no logro disminuir la temperatura espero una orientancion y que me ayuden con esa parte ya que tengo dias luchando para disminuirl. y tambien colocar un tope minimo y un Maximo
#include <LiquidCrystal.h>
float tempC=0;
int tempPin=0;//el pin de arduino que obtiene voltajes
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int SetTempUp = 6; // pin 6 de Arduino con boton de incremento de temperatura
const int SetTempDown = 7; // pin 7 de Arduino con boton de decremento de temperatura
int TemButtonCounter = 32; // contador de veces que se incrementa
// o decrementa el ajuste de temperatura
// valor inicial es de 32 grados
int TempButtonUpState = 0; // estado actual del boton de incremento de temperatura
int TempButtonDownState = 0; // estado actual del boton de decremento de temperatura
int lastTempButtonState = 0; // ultimo estado (si se incremento o decremento la temperatura)
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(SetTempUp, INPUT);
pinMode(SetTempDown, INPUT);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print(" UNEXPO"); // imprime texto LCD
lcd.setCursor(0, 1);
lcd.print("Temperatura LM35"); // imprime texto LCD
delay(1000); // aguarda 5ms
lcd.clear(); // limpa LCD
}
void loop()
{
TempButtonUpState = digitalRead(SetTempUp); // lectura del boton de incremento de temperatura
if (TempButtonUpState != lastTempButtonState) // comparar TempButtonState con su estado previo
{
if (TempButtonUpState == 1) // si el ultimo estado cambio, incrementar el contador
{
TemButtonCounter++;
delay(50);
}
}
// guardar el estado actual como ultimo estado,
// para la proxima vez que se ejecute el lazo
lastTempButtonState = TempButtonUpState;
// lectura del boton de decremento de temperatura
TempButtonDownState = digitalRead(SetTempDown);
if (SetTempDown != lastTempButtonState) // compara el estado del boton (incremento o decremento) con el ultimo estado
{
if (SetTempDown == 1) // si el ultimo estado cambio, decrementar el contador
{
TemButtonCounter--;
}
}
// guardar el estado actual como ultimo estado,
// para la proxima vez que se ejecute el lazo
lastTempButtonState = SetTempDown;
tempC=(5*analogRead(tempPin)*100.0)/1024.0;
{
lcd.setCursor(0,0);
lcd.print(TemButtonCounter);
lcd.print("\337C ");
lcd.setCursor(0,2);
lcd.print("Temp: ");
lcd.setCursor(5,2);
lcd.print(tempC);
lcd.print("\337C ");
lcd.setCursor(7,2);
delay(400);
}
{
Serial.print("Temperatura: ");
Serial.print(TemButtonCounter);
Serial.println("\337C");
}
if(tempC < TemButtonCounter)
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
}
}