#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
int temp;
int tempConsigna;
bool paro;
bool marcha;
void setup()
{
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
digitalWrite(13, HIGH);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.display();
}
void loop()
{
digitalWrite(13, HIGH);
paro = false;
temp = map(analogRead(A1),953,115,-24,80);
tempConsigna = map(analogRead(A0),0,1023,25,80);
marcha = digitalRead(2);
if(marcha)
{
delay(160);
while (digitalRead(2));
delay(160);
while(!paro)
{
paro = digitalRead(3);
temp = map(analogRead(A1),953,115,-24,80);
tempConsigna = map(analogRead(A0),0,1023,25,80);
if (temp<tempConsigna)
{
digitalWrite(13, LOW);
}
else
{
digitalWrite(13, HIGH);
}
display.clearDisplay();
display.setCursor(0, 0);
display.print("temp: ");
display.print(temp);
display.println(" C");
display.print("tempConsigna: ");
display.print(tempConsigna);
display.println(" C");
if(paro)
{
display.print("OFF");
digitalWrite(13, LOW);
}
else
{
display.print("ON");
}
display.display();
}
}
display.clearDisplay();
display.setCursor(0, 0);
display.print("temp: ");
display.print(temp);
display.println(" C");
display.print("tempConsigna: ");
display.print(tempConsigna);
display.println(" C");
display.print("OFF");
display.display();
//Serial.print(temp);
//Serial.println(" ºC");
}