Autor Tema: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL  (Leído 27652 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #15 : septiembre 28, 2011, 12:26:15 pm »
Esa son compuertas NOT o no?
si, se les llama tambien inversores
N/A

Desconectado ernestoelunico

  • The Communiter-
  • *
  • Mensajes: 3088
  • Laa shay'a waqi'un Mutlaq bala kul'un mumkin
    • Cositas E-shop
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #16 : septiembre 28, 2011, 01:14:28 pm »
se prodia tambien usar ADC0804 , LM35 y 3 Displays 7-Seg

esta ba leyendo que conalgo asi saldria uno que trabaje de -50 c a 150 depende de como lo acoples al ADC0804

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #17 : septiembre 28, 2011, 03:04:51 pm »
se prodia tambien usar ADC0804 , LM35 y 3 Displays 7-Seg

esta ba leyendo que conalgo asi saldria uno que trabaje de -50 c a 150 depende de como lo acoples al ADC0804
el ADC0802 es un poco mas caro que el PIC y usando el ADC0802 tendrias que agregar circuiteria extra para el despliegue en los displays
N/A

Desconectado RJCorp

  • Sv Full Member
  • *
  • Mensajes: 524
  • §♪♪♪♪♪®_®♪♪♪♪♪§
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #18 : septiembre 28, 2011, 09:50:09 pm »
me estaban comentando que el LM35DZ es un sensor muy preciso usado para establecer temperaturas de referencia, que seria mejor usar un termistor como este:


porque son mas sensibles a los cambios rapidos de temperatura  y se pueden usar dentro del case sin necesidad de estar haciendo contacto directamente con los dispositivos, el LM35DZ no es muy sensible a los cambios de temperatura( tarda un poko ). Y parese ser que tiene que tener cierto contacto con el despositivos a medir. y me comentaron tambien sobre unas sondas que venden para multimetros con opcion de medidor de temp, no se, si se podrian usar para este proyecto eso si son un poko mas caras del que propones y hay a nivel local, pero que opinas al respecto  :drinks:

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #19 : octubre 09, 2011, 03:24:42 pm »
todavia estoy viendo que rumbo va a tomar este volado.

porque ya que es para modding, seria chivo que fuera vistoso y con mas posibilidades de despliegue.

he estado probando la libreria LCD del MikroC PRO PIC

es super facil de usar, y como dije, los modulos LCD son baratos.

aqui un demo funcionando



y este es el simple código:

Código: [Seleccionar]
/*
Lab 4: Blink Character Message on LCD
Internal Clock @ 4MHz, MCLR Enabled, PWRT Enabled, WDT OFF
Copyright @ Rajendra Bhatt
October 9, 2010
*/
// Define LCD module connections.
 sbit LCD_RS at RC4_bit;
 sbit LCD_EN at RC5_bit;
 sbit LCD_D4 at RC0_bit;
 sbit LCD_D5 at RC1_bit;
 sbit LCD_D6 at RC2_bit;
 sbit LCD_D7 at RC3_bit;
 sbit LCD_RS_Direction at TRISC4_bit;
 sbit LCD_EN_Direction at TRISC5_bit;
 sbit LCD_D4_Direction at TRISC0_bit;
 sbit LCD_D5_Direction at TRISC1_bit;
 sbit LCD_D6_Direction at TRISC2_bit;
 sbit LCD_D7_Direction at TRISC3_bit;
// End LCD module connection definition
// Define Messages
 char message1[] = "HELLO SVC";
 char message2[] = "NARUTO LCD TEST";
 void main() {
  ANSEL = 0b00000000; //All I/O pins are configured as digital
  CMCON0 = 0x07 ; // Disbale comparators
  TRISC = 0b00000000; // PORTC All Outputs
  TRISA = 0b00000000; // PORTA All Outputs, Except RA3
  Lcd_Init();                      // Initialize LCD
  do {
   Lcd_Cmd(_LCD_CLEAR);             // CLEAR display
   Lcd_Cmd(_LCD_CURSOR_OFF);        // Cursor off
   Lcd_Out(1,4,message1);            // Write message1 in 1st row
   Lcd_Out(2,1,message2);           // Write message2 in 2nd row
   Delay_ms(1000);                       // Wait for 1 sec
   Lcd_Cmd(_LCD_CLEAR);     // Clear display
   Delay_ms(1000); // Wait for 1 sec
  } while(1);             // Infinite Loop
 }
N/A

Desconectado hepl2000

  • The Communiter-
  • *
  • Mensajes: 1559
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #20 : octubre 10, 2011, 12:27:31 am »
Para los amigos que no conocen mucho de MICROCONTROLADORES PIC

Si lo hacemos con PIC puedo mandar a pedir varios de estos para los que quieran.

OTRO DETALLE, para los que quieran que se los programe tambien se los puedo programar ya que tengo programador de PICs. :)

Lo mejor es Hacerlo con PIC la logica discreta ya quedo solo para funciones secundarias.
Yo tambien tengo un quemador de PIC por In Circuit Programing (JDM) y Algunos PIC (de los Caros de Josnab aunque ultimamente vi que trajeron Omega88 de Atmel)
Pero aun carezco de los Display y Sensores que aca ni en sueños los he visto. asi que seria super buena onda armar un buen Grupo de Communiters para traerlos de Fuera del Pais mas baratieres... me uno al proyecto,


Ya he hecho algunas travesuras con ellos y hasta pude comercializar un Timbre Automatico para Escuelas y Colegios con un 12F629 enano sin pantalla, se programa la hora a base de pulsos y trabaja solo los dias de la semana que ellos escojan, asi la Secretaria del Cole se olvida por completo de tocar el timbre o apagarlo, todo es automatico. Claro que le puse baterias alcalinas de Respaldo para que no pierda la hora en los apagones y el PIC en modo bajo consumo -Se despierta Cada 2 Segs para hacer su rutina de unos micro segundos y si no hay nada que ejecutar se duerme otros 2 Segs para ahorrar bateria- .  Luego pienso añadirle un UPS para que aun sin energia puede funcionar a 110 (para ello el pic debe encender el UPS solo al momento de timbrar, luego apagarlo para ahorrar bateria)

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #21 : octubre 10, 2011, 12:45:14 am »
Lo mejor es Hacerlo con PIC la logica discreta ya quedo solo para funciones secundarias.
Yo tambien tengo un quemador de PIC por In Circuit Programing (JDM) y Algunos PIC (de los Caros de Josnab aunque ultimamente vi que trajeron Omega88 de Atmel)
Pero aun carezco de los Display y Sensores que aca ni en sueños los he visto. asi que seria super buena onda armar un buen Grupo de Communiters para traerlos de Fuera del Pais mas baratieres... me uno al proyecto,


Ya he hecho algunas travesuras con ellos y hasta pude comercializar un Timbre Automatico para Escuelas y Colegios con un 12F629 enano sin pantalla, se programa la hora a base de pulsos y trabaja solo los dias de la semana que ellos escojan, asi la Secretaria del Cole se olvida por completo de tocar el timbre o apagarlo, todo es automatico. Claro que le puse baterias alcalinas de Respaldo para que no pierda la hora en los apagones y el PIC en modo bajo consumo -Se despierta Cada 2 Segs para hacer su rutina de unos micro segundos y si no hay nada que ejecutar se duerme otros 2 Segs para ahorrar bateria- .  Luego pienso añadirle un UPS para que aun sin energia puede funcionar a 110 (para ello el pic debe encender el UPS solo al momento de timbrar, luego apagarlo para ahorrar bateria)

hey que chivo! esta buena la idea en realidad.

como haces para calcular los dias de la semana? usas un chip RTC? o llevas un calendario programado en el microC?

y a cuanto lo vendes por cierto? ya me dio curiosidad, porque quiero comenzar a ver si comercializo los inventos que haga.
y lo de hacer el grupo de comunos, te dire que es SUPER RARO que a alguien de por aqui le interese tanto algo asi al punto de hacerlo, muchos lo leen y lo siguen pero no le hacen entrada, tal ves porque no manejan mucho la electrónica básica ni la programación.

y tu idea del timbre esta muy buena, se le puede dar una pulida y dejarlo mas piquetero :D
N/A

Desconectado hepl2000

  • The Communiter-
  • *
  • Mensajes: 1559
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #22 : octubre 10, 2011, 01:39:32 am »
hey que chivo! esta buena la idea en realidad.

como haces para calcular los dias de la semana? usas un chip RTC? o llevas un calendario programado en el microC?

y a cuanto lo vendes por cierto? ya me dio curiosidad, porque quiero comenzar a ver si comercializo los inventos que haga.
y lo de hacer el grupo de comunos, te dire que es SUPER RARO que a alguien de por aqui le interese tanto algo asi al punto de hacerlo, muchos lo leen y lo siguen pero no le hacen entrada, tal ves porque no manejan mucho la electrónica básica ni la programación.

y tu idea del timbre esta muy buena, se le puede dar una pulida y dejarlo mas piquetero :D

Pienso que es porque el foro esta mas orientado a cosas mas superfluas que la tecnologia o al menos yo percibo que la gente no entra al foro por aprender Electronica sino mas que todo a sacar dudas sobre el Diario vivir en sus PCs o pajarear un rato, pero si hacemos bulla como se dice y movemos algunas ramas yo se que la gente reacciona y algunos que ignoran que aca ya existen los Microcontroladores y que los estudiaron en el Bach. o la U pues se nos pueden unir, conozco un vato que trabaja en Josnab que me dio su correo para ponernos en algo pues El estudio electronica en el bachillerato y maneja la idea de que los Pics son una tecnologia aun fuera del alcance cotidiano, cosa que no es cierto, porque quiza les han enseñado soft super enredado placas prefabricadas y cosas que los desaniman.
El sistema del timbre es relativamente Sencillo(Despues de darle vuelta al asunto lo mejor es lo mas sencillo) Nada de RTCs simplemente el tiempo lo llevo con un oscilador que le quite a un reloj de cuarzo de pared, especificamente la salida a la bobina, eso me proporciona 1 pulso positivo cada 1 o dos segundos dependiendo del tipo de reloj (Por el Pque libertad encontras barbaridad de estos relojes arruinados, pero con su oscilador bueno) basicamente lleva 4 contadores o variables incrementales, 1. 0-59 Segundos   2. 0-59Minutos,  3. 0-23Horas,   4. 1-7Dias de la semana.  Luego en el ciclo repetitivo lo que hace es leer varios Bytes de la Eeprom donde vienen la hora del toque en formato de 24 horas, la cantidad de toques, duracion de toques y duracion de pausas, ademas de los dias de la semana que se tocan (es suficiente un byte para encender o apagar cada bit que representa el dia de la semana que esta activo este toque) aunque por lo general solo tocan de lunes a viernes porlo que mejor implemento una rutina que descarta cualquir toque si se encuentra en fin de semana (Dia 6y7)

Pues lee toda la Eeprom en busca de un toque para ese instante y si lo encuentra lo ejectua la rutina correspondiente y regresa otra vez al estado anterior de busqueda.

Lo que si resulta algo engorroso es la parte de programar la hora, pues como carce de pantalla lo hago de forma audible con pulsos largos o cortos o multiples para indicar en que campo estoy (Dia-Hora-Min)

El precio pues depende del modelo y de que tanta memoria eeprom necesita pues algunos colegios poseen mas de un horario de timbrados para separar a los infantes de parvularia y 1er ciclo de los de 2 y 3er ciclo y a veces poseen dos timbres con sonidos distintos para cada grupo de alumnos.
en fin van desde los 100 varitas en adelante...

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #23 : octubre 10, 2011, 08:21:32 am »
100$ y sin pantalla! te va bien vos :D

ponerle un LCD no cuesta ni shit como podes ver aqui, si queres te hecho la mano con esa onda.

cuando mande a pedir los pics te aviso :thumbsup:
N/A

Desconectado hepl2000

  • The Communiter-
  • *
  • Mensajes: 1559
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #24 : octubre 10, 2011, 01:31:07 pm »
100$ y sin pantalla! te va bien vos :D

ponerle un LCD no cuesta ni shit como podes ver aqui, si queres te hecho la mano con esa onda.

cuando mande a pedir los pics te aviso :thumbsup:

Ok quiero mandar traer sensores, LCDs y Pics claro, en fin todo para armar proyectos decentes

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #25 : octubre 10, 2011, 02:08:26 pm »
Yo siempre insisto en que esto está bien.

¿Pero esto cómo nos ayuda a aprender realmente a quienes necesitamos ganar la experiencia de por lo menos 5 años de trabajos pesados en electrónica?

¿O tendremos que hacer nuestros propios tutoriales cuando tengamos tiempo?

En internet hay mucho material, pero así en desorden o empezando en un nivel de dificultad al azar no funciona para aprender.

Entonces se quedaría entre el círculo de los que han llevado carrera de electrónica. ¿Qué sentido tiene para quienes ya saben y en qué beneficia eso a nivel de todo el resto de los usuarios?
tutoriales de electrónica básica llevan mucho concepto y tiempo.
las bases son bien amplias en lo que a formulas, funcionamiento, elementos y todo lo relacionado a la misma se refiere.

este proyecto es BIEN SIMPLE y pueda que quede a nivel de conocimiento básico de electrónica.

es como que alguien haga un tutorial de como tocar una cancion en guitarra y ponga los acordes y yo le diga que de que me sirve a mi si no se tocar guitarra.

a los que sepan y a mas de algun autodidacta entusiasta le va a servir.
N/A

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #26 : octubre 21, 2011, 01:22:16 pm »
despues de las lluvias pretendo retomar este proyecto.

al final por el balance entre precio y componentes se opté por usar lo siguiente

PIC16F688  como unidad de procesamiento del programa (yo actualmente tengo otro modelo pero el código no debe cambiar)
LCD con base en el HD44780 para despliegue de datos (ya lo tengo)
LM35 como el sensor de temperatura (lo tengo que mandar a pedir o buscar en las tiendas locales)

aun no hago los calculos para ver si voy a necesitar acondicionamiento de la señal del LM35 para sacar la escala de temperatura.

haré los calculos este fin de semana.

para los que me leen, cambio y fuera :)
N/A

Desconectado hepl2000

  • The Communiter-
  • *
  • Mensajes: 1559
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #27 : octubre 29, 2011, 10:14:13 pm »
ok, te seguimos, y si traes el sensor de temp. de fuera, traeme uno a mi y un lcd. hay arreglamos lo del money por MP

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13254
  • some text
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #28 : noviembre 01, 2011, 05:20:04 pm »
ANALISIS DE COMO CALCULAR LA TEMPERATURA CON EL ADC DEL PIC

haciendo calculos de como sacar la temperatura con el convertior ADC del PIC hice lo siguiente

el registro del cada ADC del pic PIC16F688  es de 10 bits

es decir 2^10 = 1024 niveles a la escala

esto significa que el ADC tiene una resolución de 10 bits, osea que puede registrar variaciones tan pequeñas de 1/(2^10) sobre el voltaje de referencia

regularmente el voltaje de referencia del ADC es 5v (por convencion y porque es lo comun como fuente de voltaje del PIC)

pero puede ponerse un voltaje distinto de referencia.



teniendo lo anterior claro, procedemos a describir el sensor de temperatura LM35

el LM35 presenta variaciones de 10mV/°C
lo que significa que por cada grado centigrado el dispositivo entrega 10mV mas

por ejemplo:

a 2° debe entregar 20mV
a 23° debe entregar 230mV
a 150° debe entregar 1.5V

mas información en la hoja técnica del sensor
http://www.national.com/ds/LM/LM35.pdf

si elegimos el rango completo del sensor, 2° - 150° es suficiente para el uso que le daremos.

como el voltaje esperado mayor es 150° -> 1.5V ponemos este voltaje como la referencia (basicamente en el pin de Vref del PIC se alambra hacia un punto fijo que proporcione 1.5V (luego discutiremos como lograr esto)

entonces la proporcion ya en el registro de 10 bits es
0v -> 0
1.5V -> 1023

la proporcion es 1.5V/1023  o 150°/1023

con esa division podemos saber segun el valor del registro cuanto es el voltaje que se está midiendo

por ejemplo, si el registro nos muestra un valor de 123, cuanta temperatura estamos leyendo?

123 * (150/1023) = 18.03°C

ya tenemos una formula con la que podemos tener una resolucion de parcial de 1 decimal para la temperatura, porque digo parcial, porque por la naturaleza de la formula, hay valores de temperatura que no se podran presentar, por ejemplo



en la tabla vemos que no aparece el valor de temperatura 0.2°, 0.5°, 0.8°, 1.1°, 1.4° etc
porque no aparecen?

partiendo del hecho que para tener desde 0.0 hasta 150.0 son 1500 valores posibles, con un registro de 10 bits solo podemos contar hasta 1024.
si hubieramos optado por representar de 0.0 a 100.0 como full escala, nos bastaria con los 1024 registros para tener un decimal completo de despliegue, pero para visualizacion y control es suficiente un decimal parcial.

la temperatura esta redondeada a 1 decimal


N/A

Desconectado RJCorp

  • Sv Full Member
  • *
  • Mensajes: 524
  • §♪♪♪♪♪®_®♪♪♪♪♪§
Re: [TUTORIAL :: EN PROGRESO] TERMOMETRO DIGITAL
« Respuesta #29 : noviembre 01, 2011, 10:38:53 pm »
EXELENTE  :drinks: