TERMÓMETRO DIGITAL DS1624

Documentos relacionados
Ventajas del BUS I2C

Protocolo MODBUS para procesadores M850-W-x y M850-P-x

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

Introducción a BMP085 Versión 1.0

MICROCONTROLADORES PIC

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

EL BUS I2C CARACTERISTICAS. Fernando Remiro

Control de un módulo LCD a través del bus I2C

CAPÍTULO 2. ARQUITECTURA Y COMPONENTES.

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas

MODBus RTU en los registradores CAMRegis

Memoria 24LC256 I. I NTRODUCCIÓN

Clase 02: Representación de datos

Tipos de datos y Operadores Básicos

COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001

TEMA V SISTEMAS DE NUMERACIÓN

Comunicación Serie IIC: Inter-Integrated Circuit

Curso de. Módulo 10 MSSP: I2C. Ricardo Gómez González Andrés Prieto-Moreno Torres

Control de LCD y sensor de temperatura

8 Bits para temperatura y 8 Bits para humedad

Definición de Memoria

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

TEMA EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC)

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA

MODBus RTU en los registradores CAMRegis

Introducción a la Programación 11 O. Humberto Cervantes Maceda

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

Materia Introducción a la Informática

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS.

Práctica 5MODBUS: Bus Modbus

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:

5.2. Sistemas de codificación en binario

INTRODUCCIÓN. Comunicación Serial.

El circuito integrado ADC1230, fabricado

Tema 2: Sistemas de numeración

Funciones Lógicas X5

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Ejercicio nº 1 Configuración de una CPU maestro-dp con varios esclavos DP simples

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Electrónica Digital I (ED21) Sesión: 3 Aritmética Binaria. Ing. José C. Benítez P.

Controladores Logicos Programables II

Sistemas de Numeración Operaciones - Códigos

A veces queremos almacenar algún elemento que es Verdadero o Falso. Este tipo de dato se llama Booleano y su representación es sencilla, para cada

2. Programación en Arduino

Guía rápida para gestionar el puerto paralelo del PC

COMUNICACIÓN CON PANTALLAS MP-MERCURY MEDIANTE PROTOCOLO TCP-ASCII

AR 15 P. Sensor de Temperatura Inteligente. (Sistema de ambientación.)

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

MANUAL DE USUARIO Sensor de temperatura y humedad digital MCI-SEN REV. 1.0

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Mod. I, Unid. 1, Obj. 1 Criterio de Dominio 1/1

Bus I 2 C. Introducción

TRABAJO FINAL TECNICAS DIGITALES II

Para implementar una memoria de mayor capacidad se deben considerar los siguientes pasos:

Organización del Computador. Prof. Angela Di Serio

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión.

Sistemas de numeración, operaciones y códigos

TEMA 1 Representación de la información

INTRODUCCIÓN PROTOCOLO MODBUS TCP MAPA GENERAL DE DIRECCIONES... 3 SALIDAS INTERNAS. ADDR BASE

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

Proyecto Final: Controlador de Acuarios

Funciones Lógicas X10

Estructura de Computadores

Medidas de Distancia mediante Rayos Infrarrojos

MIDIENDO DISTANCIAS CON UN SENSOR DE ULTRASONIDOS

NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL

SERIE DE EJERCICIOS 3

Tema 2: Sistemas y códigos numéricos

Estructura de Computadores Tema 2. Representación de la información

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Capítulo 2 Representación Interna de Datos 2.1 Introducción

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

PUERTOS DE ENTRADA / SALIDA EN UN MICROCONTROLADOR

CP1E-NA con Analogía Integrada

Usando un PIC para la Generación de Tonos de Audio

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

Guía 01: Sistemas Numéricos

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

Clase 6: Sensores II. Conviértete en un Joven Inventor PENTA UC

Memoria y Entrada/Salida Tecnología Organización - Expansión

Fundamentos de Programación. Sabino Miranda-Jiménez

SISTEMAS DE NUMERACION

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

APLICACIÓN CON SENSORES INTELIGENTES

UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA

Tema 2: Sistemas de numeración

Capítulo 1: Conceptos básicos de informática


E/S: Processing & Arduino Marco Pérez Hernández

Transcripción:

TERMÓMETRO DIGITAL DS1624 Centro CFP/ES COMUNICACIÓN I2C 1

CARACTERÍSTICAS DEL DS1624 El DS1624 tiene una resolución de 13 bits. Como la mayoría, sigue midiendo temperaturas en el rango de 55 C a +125 C, pero ahora lo hace con incrementos de 0.03125 C. Este incremento se debe a que la parte fraccionaria es de 5 bits y ya sabemos que eso da 1/32 = 0.03125. CARACTERÍSTICAS DEL DS1624 Fabricado por Dallas Semiconductors Dispositivo conectable al bus I2C No requiere componentes externos para realizar la medida La temperatura es leida como un valor digital de 2 bytes que incluye el signo Realiza la conversión de temperatura en un tiempo máximo de un segundo Posee 256 bytes de memoria EEPROM para almacenar datos Se puede alimentar entre 2,7 y 5 V 2

CARACTERÍSTICAS DEL DS1624 Tiene dos modos de operación: de Conversiones Continuas y One Shot. En cualquier modo, permanecerá en Standby mientras no se esté convirtiendo una temperatura, esto es, luego de terminada una conversión en One Shot o después de detener las conversiones (con Stop Convert T) en modo de Conversiones Continuas. DIRECCIONAMIENTO COMO ESCLAVO El dispositivo se activa cuando recibe la dirección válida. 1 0 0 1 A2 A1 A0 R/W A2, A1 y A0 se conectar a masa, si solamente hay un dispositivo, la dirección ob10010001 es en lectura y 0b10010000 es escritura. Permitiría conectar hasta 8 dispositivos en el mismo bus. 3

REGISTRO DE CONFIGURACIÓN El registro de Configuración está implementado en EEPROM. Una escritura en él tomará un tiempo típico de 10 ms y máximo de 50 ms. En ese lapso el DS1624 responderá con un NACK a los siguientes datos que reciba. LECTURA DE TEMPERATURA El dispositivo realiza la lectura de la temperatura mediante 2 bytes en complemento a 2. El dato es transmitido por el bus I2C, siendo el primero MSB MSB 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 La temperatura es de 25,0625 ºC La temperatura se expresa en grados centígrados con 4 decimales Se almacena en 2 bytes donde el byte superior es la parte entera y el inferior la parte decimal La temperatura se expresa en complemento a 2, por lo que el bit más alto de la parte entera indica el signo, 0 para positivas y 1 para negativas. 4

LECTURA DE TEMPERATURA Los 4 bits más bajos del byte de la parte decimal están siempre a 0 La parte decimal se obtiene sumando el valor posicional de los 4 bits más altos que son: 0,5, 0,25, 0,125 y 0,0625 según donde se encuentre el 1 respectivamente. VEAMOS UN EJEMPLO Qué temperatura leera el dispositivo si tenemos la siguiente secuencia? 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 LECTURA DE TEMPERATURA En la parte entera tenemos: 0b00010110 = 128*0+64*0+32*0+16*1+8*0+4*1+2*1+1*0=+22ºC En la parte decimal tenemos: 0b10110000 = 0,5*1+0.25*0+0.125*1+0.0625*1= 0.6875ºC La temperatura leida es: +22.6875 ºC 5

INSTRUCCIONES INSTRUCCIONES Según la tabla anterior y los datos del fabricante los pasos son los siguientes: 1. Configurar el dispositivo: 1. Llamar al dispositivo: 0b10010000 -> 0x90 2. Acceso al registro de configuración: 0b10101100 -> 0xAC 3. Solo realiza una lectura el 1SHOT del sensor a 1: 0b00000001 -> 0x01 1. Inicializar el dispositivo: 1. Genera el primer byte de control (1001A2A1A0W): 0b10010000 -> 0x90 2. Inicializa la primera conversión de temperatura: 0b11101110-> 0xEE 2. Leer el valor de temperatura: 1. Llamar al dispositivo: 0b10010000 -> 0x90 2. Comienza la lectura de temperatura: 0b10101010 -> 0xAA 3. Genera primer byte de lectura (1001A2A1A0-R), R es por el 1 del 0x91: 0b10010001 -> 0x91 3. Seguidamente hacemos dos lecturas una para la parte baja y otra para la parte alta: 1. Leemos la parte entera del dato: datoh=i2c_read(); 2. Leemos la parte decimal y lo pasamos a 0 para indicar esperando respuesta: datol=i2c_read(0); 6

LIBRERÍA DS1624 void temp_config() //Configura el registro del DS1624 { i2c_start(); i2c_write(0x90); //dirección asignada para la escritura i2c_write(0xac); //Acceso a la configuración i2c_write(0x01); //Solo realiza una única lectura, el 1SHOT del sensor a 1 i2c_stop(); } void init_temp() //Inicializa la primera conversión { temp_config(); //Acceso a la función tem_config descrita más arriba delay_ms(50); //Retardo de 50 ms. i2c_start(); //Comienzo de la comunicación i2c_write(0x90); //Genera el primer Byte, de control (1001A2A1A0W) i2c_write(0xee); //Inicializa la conversión i2c_stop(); // Final de la comunicación } LIBRERÍA TEMP_DS1624 float read_temp() // Retorna el valor en Celsius o Farenheit { int datah,datal; float dval; i2c_start(); i2c_write(0x90); //Genera el primer Byte (1001A2A1A0-W), W es por el 2º 0 del 0x90 i2c_write(0xaa); //Comienza la lectura i2c_start(); //Vuelve a llamar a un start antes de un stop, esto dependerá de la respuesta del esclavo. i2c_write(0x91); //Genera primer Byte (1001A2A1A0-R), R es por el 1 del 0x91 datah=i2c_read(); //Lectura de la parte entera datal=i2c_read(0); //Lectura de la parte decimal, pasando 0 para indicar el NACK. i2c_stop(); 7

MONTAR EL SIGUIENTE CIRCUITO MONTAJE EN PLACAS TRAINER 8

VIDEO DE FUNCIONAMIENTO TERMÓMETRO DIGITAL DS1624 9