lunes, 16 de enero de 2017

PRACTICA # 9 TEMPERATURE SENSOR (I2C)

OBJETIVO:
       Haremos uso de la interface RIIC0 con el que cuenta el MCU R5F562N8 de la tarjeta de evaluación YRDKRX62N. Haremos funcionar el sensor de temperatura ADT7420 cuyo protocolo es I2C e imprimiremos su valor en la LCD gráfica en grados Celsius.
  •  Inicializaremos el módulo RIIC0
  •  Se crearán rutinas de lectura y escritura I2C
  •  Se implementará la API del sensor de temperatura para manejo de sus funciones.

DESARROLLO:
  •  Del YRDKRX62N schematic ubicamos el sensor de temperatura y su dirección:

PASOS:
  • Creación de un proyecto:
1.- Abrir el software e2studio
2.- New/ C Project / Renesas RXC ToolChain


3.- Seleccionar el target R5F562N8, debug hardware Segger jLink, después next


4.- Seleccionar C/C++ Source file y por ultimo Finish.


5.- Las rutinas de lectura del sensor de temperatura se encuentran en el archivo TemperatureSensor.c

/* ADT7420 IIC Registers */
#define ADT7420_ADDR                0x90
#define ADT7420_TEMP_MSB_REG        0x00
#define ADT7420_CONFIG_REG          0x03
#define   BSP_TEMP_ADDR  (ADT7420_ADDR >> 1)


void Temperature_Init(void)
{
            uint8_t temp_data[2];

            temp_data[0] = ADT7420_CONFIG_REG; /* configure temperature sensor                   */
            temp_data[1] = 0x00;
            I2C_Write(BSP_TEMP_ADDR, &temp_data[0], 2, true);
}

unsigned int Temperature_Get(void)
{
            uint8_t temp_data[2];
            uint16_t temp;

            temp_data[0] = ADT7420_TEMP_MSB_REG;
            I2C_Write(BSP_TEMP_ADDR, &temp_data[0], 1, false);

            I2C_Read(BSP_TEMP_ADDR, &temp_data[0], 2, false);
            temp = temp_data[0] << 8;
            temp += temp_data[1];

            return temp;
}


6.- La API I2C se encuentra en el archivo I2C.c cuyas rutinas son:

·                 void I2C_Start(void);
·           void I2C_Read(uint8_t  addr, uint8_t *p_data, uint32_t   len, bool  start)
·           void I2C_Write(uint8_t  addr, uint8_t *p_data, uint32_t   len, bool  stop)

  •  Agregar código, compilar y debug:
1.- Bajar el código de:

2.- Compilar con el icono del martillo y debug con el icono del insecto:


VÍDEO:

No hay comentarios.:

Publicar un comentario