{"id":275,"date":"2010-10-09T01:47:47","date_gmt":"2010-10-08T22:47:47","guid":{"rendered":"http:\/\/pinguino.walii.es\/archives\/275"},"modified":"2011-01-31T09:23:48","modified_gmt":"2011-01-31T08:23:48","slug":"pinguino-pic-sensor-de-temperatura-e-iluminacion","status":"publish","type":"post","link":"https:\/\/pinguino.walii.es\/?p=275","title":{"rendered":"PING\u00dcINO PIC sensor de temperatura e Iluminaci\u00f3n"},"content":{"rendered":"

Bueno hoy estoy con un proyecto f\u00e1cil, pero que al principio de mis tiempos con PICs, me cost\u00f3 su trabajo.<\/p>\n

B\u00e1sicamente el proyecto toma 10 lecturas de temperatura con el sensor LM35 y 10 lecturas del LDR, luego realizamos el promedio de estas y lo imprimimos por el puerto serie, para m\u00e1s tarde hacer lo que queramos con estos valores. Graficarlos en una p\u00e1gina web o simplemente en PROCESSING<\/p>\n

\"\"<\/p>\n

\"\"<\/p>\n

\n

El c\u00f3digo es simple.<\/p>\n

[sourcecode language=\u00bbpy\u00bb]
\n<blockquote>
\n\/*
\n=============
\nSensor de temperatura y luz
\nwalii
\nOctubre 2010
\n*\/
\n#define PIC18F4550
\n#define RUNLED PORTAbits.RA4
\nint samples[10];
\nint max=0;
\nint min=100;
\nint tempc=0;
\nint tempf=0;
\nint lux=0;
\nint i,x;
\nfloat val1;
\nfloat val2;<\/p>\n

void setup() {
\n\/\/Solo el serial es necesario para enviar los datos.
\nSerial.begin(9600);
\n}
\nvoid loop() {
\n\/\/Realizamos un ARRAY para hacer un promedio de 10 mediciones
\nfor (i=0;i<=9;i++){
\nval1=analogRead(13);
\nsamples[i]=(4.65*val1*100)\/1024.0;
\ntempc=tempc+samples[i];
\ndelay(100);
\n}
\n\/\/Dividimos por la misma cantidad de lecturas
\ntempc=tempc\/10.0;
\n\/\/Convertimos en Farhenheit
\ntempf=(tempc*9)\/5+32;
\n\/\/Capturamos los valores de minimos y maximos.
\nif(tempc>max){max=tempc;}
\nif(tempc<min){min=tempc;}<\/p>\n

\/\/Ahora le toca el turno a la luz, tomamos 10 lecturas
\nfor (x=0;x<=9;x++){
\nval2=analogRead(16);
\nsamples[x]=val2*100\/1024.0;
\nlux=lux+samples[x];
\ndelay(100);
\n}
\n\/\/Dividimos el resultado por el mismo numero de lecturas
\nlux=100-(lux\/10.0);
\n\/\/Controlamos que las lecturas no sobrepasen los valores de 0-100.
\nif(lux>=100)lux=100;
\nif(lux<=0)lux=0;
\n\/\/Imprimimos todo en el serial
\nSerial.print("Pinguino.walii.es");
\nSerial.print("\\n\\r");
\nSerial.print("#####################");
\nSerial.print("\\n\\r");
\nSerial.print("Temperatura: ");
\nSerial.print(tempc,DEC);
\nSerial.print(" C");
\nSerial.print("\\n\\r");
\nSerial.print("#####################");
\nSerial.print("\\n\\r");
\nSerial.print("Temp maxima: ");
\nSerial.print(max,DEC);
\nSerial.print(" C");
\nSerial.print("\\n\\r");
\nSerial.print("Temp minima: ");
\nSerial.print(min,DEC);
\nSerial.print(" C");
\nSerial.print("\\n\\r");
\nSerial.print("Temp fahrenheit: ");
\nSerial.print(tempf,DEC);
\nSerial.print(" F");
\nSerial.print("\\n\\r");
\nSerial.print("#####################");
\nSerial.print("\\n\\r");
\nSerial.print("Nivel de Luz: ");
\nSerial.print(lux,DEC);
\nSerial.print("%");
\nSerial.print("\\n\\r");
\nSerial.print("#####################");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\nSerial.print("\\n\\r");
\n\/\/indentificacion que todo funciona bien, el runled parpadea.
\nRUNLED=1;
\ndelay(50);
\nRUNLED=0;
\ndelay(50);
\n}
\n[\/sourcecode]<\/p>\n

El sensor LM35 lo conectaremos en la puerta AN0, patilla numero2 o puerta 13 de nuestro PINGUINO 18f4550 (recordemos que por alg\u00fan motivo JeanPear a cambiado los n\u00fameros de las patillas, pero viendo el diagrama nos ubicamos bien.)<\/p>\n

El LDR para medir la incidencia de luz lo conectaremos en la puerta AN3, patilla numero 5 o puerta 16 de nuestro PING\u00dcINO 18f4550<\/p><\/blockquote>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"

Bueno hoy estoy con un proyecto f\u00e1cil, pero que al principio de mis tiempos con PICs, me cost\u00f3 su trabajo. B\u00e1sicamente el proyecto toma 10…<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/275"}],"collection":[{"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275"}],"version-history":[{"count":5,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/275\/revisions"}],"predecessor-version":[{"id":282,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/275\/revisions\/282"}],"wp:attachment":[{"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pinguino.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}