//Video Tutoriales En Linea //by Jorge #include "DHT.h" #include "LedControl.h" #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); LedControl lc=LedControl(12,11,10,1); int rojo = 6; int azul = 3; int verde = 5; int r = 0; int v = 0; int a = 0; void setup() { Serial.begin(9600); dht.begin(); lc.shutdown(0,false); lc.setIntensity(0,0); lc.clearDisplay(0); } void loop() { delay(2000); int h = dht.readHumidity(); int t = dht.readTemperature(); int n; int m; byte numero[10][3]; numero[0][0] = B01111100; numero[0][1] = B01000100; numero[0][2] = B01111100; numero[1][0] = B00000100; numero[1][1] = B01111100; numero[1][2] = B00100100; numero[2][0] = B01110100; numero[2][1] = B01010100; numero[2][2] = B01011100; numero[3][0] = B01111100; numero[3][1] = B01010100; numero[3][2] = B01000100; numero[4][0] = B01111100; numero[4][1] = B00010000; numero[4][2] = B01110000; numero[5][0] = B01011100; numero[5][1] = B01010100; numero[5][2] = B01110100; numero[6][0] = B01011100; numero[6][1] = B01010100; numero[6][2] = B01111100; numero[7][0] = B01111100; numero[7][1] = B01000000; numero[7][2] = B01000000; numero[8][0] = B01111100; numero[8][1] = B01010100; numero[8][2] = B01111100; numero[9][0] = B01111100; numero[9][1] = B01010100; numero[9][2] = B01110100; if (isnan(h) || isnan(t)) { Serial.println("No se pudo leer desde el sensor DHT11!"); return; } int hic = dht.computeHeatIndex(t, h, false); n = t/10; m = t - n*10; lc.setRow(0,4,numero[n][0]); lc.setRow(0,5,numero[n][1]); lc.setRow(0,6,numero[n][2]); lc.setRow(0,0,numero[m][0]); lc.setRow(0,1,numero[m][1]); lc.setRow(0,2,numero[m][2]); Serial.println(t); control(t); } void control(int t) { int r2,v2,a2; if(t<=5) { r2 = 150; v2 = 150; a2 = 150; } else if(t>35) { r2 = 255; v2 = 0; a2 = 0; } else if(t>5 && t<=10) { r2 = t*10+100; v2 = t*15; a2 = t*15+100; } else if(t>30 && t<=35) { r2 = (t-30)*10+200; v2 = 50-(t-30)*10; a2 = 0; } else if(t>25 && t<=30) { r2 = 250-10*(t-25); v2 = 150-20*(t-25); a2 = 0; } else if(t>20 && t<=25) { r2 = 50*(t-20); v2 = 250-20*(t-20); a2 = 0; } else if(t>15 && t<=20) { if(t == 16) { r2 = 150; v2 = 0; a2 = 200; } else if(t == 17) { r2 = 250; v2 = 0; a2 = 200; } else if(t == 18) { r2 = 0; v2 = 0; a2 = 250; } else if(t == 19) { r2 = 50; v2 = 250; a2 = 50; } else { r2 = 0; v2 = 250; a2 = 0; } } else if(t>10 && t<=15) { r2 = 200-20*(t-10); v2 = 150-30*(t-10); a2 = 250; } else { r2 = 0; v2 = 0; a2 = 0; } if(r==r2 && v==v2 && a==a2) Serial.println("La temperatura no a cambiado"); else color(r2,v2,a2); } void color(int r2,int v2,int a2) { int i; int nega[3]; int mayor=0; int temp[3]; int men1; int men2; temp[0] = r2-r; temp[1] = v2-v; temp[2] = a2-a; for(i=0;i<3;i++) { if(temp[i] < 0) { temp[i] = -1*temp[i]; nega[i] = 1; } else nega[i] = 0; } for(i=0;i<3;i++) if(mayor