#include <OneWire.h>
#include <DallasTemperature.h>
#define LED_1 3
#define LED_2 4
#define LED_3 5
#define BOTON 6
#define ON 1
#define OFF 0
#define TRUE 1
#define FALSE 0
OneWire oneWire(10);
DallasTemperature sensor(&oneWire);
String inputString="";
bool stringComplete =false;
void setup(){
pinMode(LED_1,OUTPUT);
pinMode(LED_2,OUTPUT);
pinMode(LED_3,OUTPUT);
pinMode(BOTON,INPUT);
Serial.begin(9600);
sensor.begin();
}
void loop(){
task_led_1();
task_led_2();
task_led_3();
task_sensor();
}
void task_led_1(){
static long ultimo_cambio =0;
static int Estado_LED = OFF;
long hora=millis();
if(hora - ultimo_cambio>1000){
ultimo_cambio=hora;
if(Estado_LED == ON){
digitalWrite(LED_1,LOW);
Estado_LED=OFF;
}
else{
digitalWrite(LED_1,HIGH);
Estado_LED=ON;
}
}
}
void task_led_2(){
static long ultimo_cambio =0;
static int Estado_LED = OFF;
long hora=millis();
if(hora - ultimo_cambio>250){
ultimo_cambio=hora;
Estado_LED= !Estado_LED;
digitalWrite(LED_2,Estado_LED);
}
}
void task_led_3(){
digitalWrite(LED_3,digitalRead(BOTON));
}
void task_sensor(){
static long ultimo_cambio =0;
static int Estado_LED = OFF;
long hora=millis();
if(hora - ultimo_cambio>500){
ultimo_cambio=hora;
sensor.requestTemperatures();
Serial.print("T:");
Serial.println(sensor.getTempCByIndex(0));
}
}
void serialEvent(){
while(Serial.available()){
char inChar = (char)Serial.read();
inputString += inChar;
if(inChar=='\n'){
stringComplete=true;
}
if(stringComplete){
Serial.println(inputString);
inputString="";
stringComplete=false;
}
}
}