Programación Específica > Microcontroladores ATMEL
Controlar Sensor De Temperatura
Ingeniero:
Hola a tod@s,
Soy un estudiante de ingenieria electronica y tengo problemas con el software del proyecto.
Quiero controlar el sensor de temperatura AD7416, y cambiar una serie de parametros, para ello voy a utilizar un Atmega16, por un puerto le conecto el teclado, que lo utilizare para introducir los diferentes parametros, por otro puerto saldra el LCD.
El sensor utiliza la comunicacion I2C por lo que utilizare las patillas de SDA y SCL
para compilar utilizo el codevision.
me surguen muchas dudas de como hacerlo, por eso agradeceria a alguien que me guiara el como poder terminar el proyecto.
yo he creado dos funciones de la comunicacion i2c,pero no se si estaran bien, y no se como comprobarlo.
uc--> unsigned char
uc i2c_getchar (uc dir) // leer dato y generar Nack
{
uc u; // variable auxiliar
i2c_start(); //genera el start
i2c_write /dir|1); //scribi la direccion +RD (supuestamente lo hace esta funcion de codevision)
u= i2c_read(0); // lee el dato y genera el nack
i2c_stop (); // genera el stop
return u; // devuelve el valor
}
void i2c_putchar (uc dir, uc, dato, uc reg) // escribir el dato
{
i2c_start(); //genera start
i2c_write(dir&0xFE); //genera start
i2c_write(reg); //add pointer
i2c_write(dato);// escribir dato
i2c_stop(); // gener el stop
}
void main (void)
{
variable= i2c_getchar (dir);
registro=0x00;//reg. temperatura
i2c_putchar(dir,dato, registro)
}
este es el programa que e hecho para poder leer los datos del sensor, si alguien podria echarle un vistazo se lo agardeceria.
tambien tengo problemas con el teclado o con el lcd que no me presenta nada en pantalla y no se si es porque no me lee el teclado o porque no me presenta el LCD.
voy a seguir trabajando en esto a ver si consiguo que me funcione
tb utilizo el proteus para simularlo, cosa que aveces consigo que funcione y otras veces no
Gracias de antemano
Un saludo
© Jonathan ©:
Antes que nada Bienvenido ;) . Bueno, para hacer tu proyecto mas facil de rebizar y corregir, deberias implementar en el chip una comunicacion serial entre el chip y el PC, de esta manera podrias comprobar si el teclado escribe y si el LCD imprime enviando y recibiendo datos atraves del hiperterminal de windows. La idea es ir atando cabos, son muchas dudas sueltas, primero deberias asegurarte que el LCD imprime, hacete alguna rutina simple para imprimir datos en el LCD y depurala hasta que estes seguro que funciona de 10, luego has lo mismo con el teclado y una ves que tengas ambos le das de lleno a la comunicacion I2C, no se que esquema estaras usando, pero en la comunicacion debes respetar algunas normas como por ejemplo colocar las resistencias pullup, te agradeceria si colocas adjunto tu ejemplo en proteus para seguir la simulacion y el circuito del proyecto.
La mayoria de los usuarios de nuestro foro estan cortos de tiempo y aprovechan el poco tiempo libre para ojear el foro y responder consultas breves, en tu caso esta algo extenso, ya que para resolver todas las dudas hay que ponerse de lleno en el proyecto. Yo prometo aportar con todo lo que este a mi alcance, solo dejame los datos que te pido y ve colocando poco a poco cada experiencia y resultado con los codigos para el LCD y el teclado.
Saludos Cordiales.
Ingeniero:
Gracias por contestar y tendre encuenta lo que me comentas, ire dejando mis avances.
dejo el circuito en proteus, falta colocar el sensor peor este ira en el puerto c, en las lineas de SDA, SCL
hay un problema con el proteus y no es la primera vez que me ocurre con otros progrmas y esque cuando le das a simular hay patillas que estan en gris, com que no estan conectadas, las e borrado y vuelto a pintar pero nada de nada.
Ingeniero:
subo el archibo hecho con codevision, deberia funcinar pero no hace lo que tendria que hacer
no me acuerdo que archivos se valdrian para ai que e comprimido todos y los e subido
Ingeniero:
subo lo que tengo hecho, e cambiado algo del programa, de como leer el teclado, pero sigue sn funcionarme, tb e cambiado las patillas de entarda del teclado, el lcd no tengo problemas porqeu ya se com funciona, o almenos algunas funciones que necesito, lo que me preocupa esque el teclado no soy capaz de leerlo!!!
tb e pensado en meter una interrupcion para evitar rebotes, que mas o menos la tengo hecha pero no la e metido ya que no se si funcionara y no quiero meter muchos fallos en el programa, cuando tenga esto solcionado ya la intentare meter
gracias y saludos
Navegación
[#] Página Siguiente
Ir a la versión completa