// C++ code // #define temperatura A0 #define interruptor 2 #define led1 3 #define led5 7 #define motor 8 #define lampara 9 int temp_inicial; int temp_nuevo; void setup() { Serial.begin(9600); pinMode(2, INPUT); pinMode(3, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); } void loop() { temp_inicial=analogRead(A0); temp_nuevo=map(temp_inicial,20,358,-40,125);// funcion MAP Serial.print("Temperatura en : "); Serial.print(temp_nuevo); Serial.println(" °C"); delay(1000); if(digitalRead(interruptor)==1) // solo funciona con interruptor { digitalWrite(motor,0); if(temp_nuevo>=100) // apaga motor y prende bombilla { digitalWrite(lampara,0); digitalWrite(motor,1); } if(temp_nuevo<20) // solo prende el led verde { digitalWrite(3,1); digitalWrite(7,0); digitalWrite(lampara,1); } if(temp_nuevo>=20 && temp_nuevo<45) // solo prende el led naranja { digitalWrite(3,1); digitalWrite(7,0); digitalWrite(lampara,1);// } if(temp_nuevo>=45 && temp_nuevo<80) //solo prende el led amarillo { digitalWrite(3,0); digitalWrite(7,1); digitalWrite(lampara,0); digitalWrite(motor,1); } if(temp_nuevo>=80&& temp_nuevo<100)// solo prende el led blanco { digitalWrite(3,0); digitalWrite(7,1); digitalWrite(lampara,0); digitalWrite(motor,1); } if( temp_nuevo>=100) // solo prende el led rojo, prende la bombilla de emergencia y tambien apaga el motor { digitalWrite(3,0); digitalWrite(7,1); digitalWrite(lampara,0); } } }