Práctica 18 – Sensor de temperatura DS18B20

 

INTRODUCCIÓN

 

En esta práctica se implementa la lectura de un sensor de temperatura digital DS18B20, los valores obtenidos se visualizan a través de un display LCD.

 

 

Selecciona la plataforma y entorno de programación.

 

 

PIC
ARDUINO
PIC
PIC C Compiler
PIC C Compiler
Bootloader PIC18FX5K50
Bootloader PIC18FX5K50

Descripción

En esta práctica se realiza una medición de temperatura (ºC) con el sensor DS18B20, visualizando el resultado de la medición a través de un display LCD (16x2), usando los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28 con el PIC18F45K50 o PIC18F25K50.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28Comprar

1 x Potenciómetro de 10 kOhms. Comprar

1 x Display LCD 16x2.

1 x Sensor de temperatura DS18B20.

1 x Juego de cable Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

PIC C Compiler v5.069 o posterior. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente. Es necesario descargar el archivo ya que dentro, se encuentran las librerías necesarias para la correcta compilación.

3. Ejecuta PIC C Compiler, abre el archivo descargado y compila el programa. En el siguiente link encontrarás un manual para compilar en PIC C Compiler.

4.Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5.Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8 DIP 28
X-TRAINER P8

X-TRAINER P8 DIP 40

X-TRAINER P8 DIP 28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Esta práctica consiste en realizar la medición de temperatura por medio de un

sensor LM35 e imprimir la lectura en una pantalla LCD

**************************************************************************/

 

#include <18F45K50.h>                                   // Incluye la librería para el PIC ( para X-TRAINERp8DIP28: #include <<18F45K50.h>> )

#device ADC=10                                              // Configura el ADC a 10 bits

#use delay(internal=48MHz)                             // Configura frecuencia del oscilador interno

#build(reset=0x02000,interrupt=0x02008)        // Asigna los vectores de reset e interrupción para la versión con bootloader

#org 0x0000,0x1FFF {}                                     // Reserva espacio en memoria para el bootloader

//-------------------------------------------------------------------------------

//CONFIGURACION DE PINES LCD

#define LCD_RS PIN_B0                                 //CONTROL del LCD

#define LCD_RW PIN_B1

#define LCD_E PIN_B2

#define LCD_DB4 PIN_B3                               //DATOS del LCD (4 lineas)

#define LCD_DB5 PIN_B4

#define LCD_DB6 PIN_B5

#define LCD_DB7 PIN_B6

//=============================

#define DS1820_PIN PIN_A0                             //Se define pin como entrada digital para leer datos del sensor DS18B20

#define ONE_WIRE_PIN DS1820_PIN

//=============================

#include<1wire.c>                                                //Se eincluyen las librerias correspondientes para el manejo del protocolo 1WIRE

#include<ds1820.c>                                             //Se incluyela librería del driver para el manejo del sensor DS18B20

#include "flex_lcd.h"                                              //LIBRERIA LCD

 

float temperatura;                                                  //Variable

 

void main(void)

{

    port_b_pullups(0xff);

    lcd_init();                                                                  // Comandos de inicialización del lcd.

   delay_ms(50);

//----------------------------Rutina principal ----------------------------

    while (TRUE)

        {

           temperatura = ds1820_read();                           //Lee el sensor

          printf(lcd_putc,"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\fTemperatura \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n%3.1fC", temperatura);       //Imprime en display

            delay_ms(1000);

       }

}

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 18– PIC – Bootloader – CCS

Descargar código en PIC C Compiler de la práctica 18.

ARDUINO

Descripción

En esta práctica se realiza una medición de temperatura (ºC) con el sensor DS18B20, visualizando el resultado de la medición a través de un display LCD (16x2), usando los módulos X-UNO o X-MEGA o X-NANO.

 

Materiales:

1 x Módulo X-UNO, X-MEGA o X-NANO. Comprar

1 x Módulo Programador XCU. Comprar

1 x Potenciómetro de 10 kOhms. Comprar

1 x Display LCD 16x2.

1 x Sensor de temperatura DS18B20. Comprar

1 x Resistencia 220 Ohms. Comprar

1 x Juego de cable Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Arduino IDE. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente. Es necesario descargar el archivo ya que dentro, se encuentran las librerías necesarias para la correcta compilación.

3. Ejecuta Arduino IDE, abre el archivo descargado y compila el programa. En el siguiente link encontrarás un manual para compilar y programar en Arduino IDE.

4. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-UNO
X-MEGA
X-NANO
X-UNO

X-MEGA

X-NANO

 

Código

 

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Esta práctica consiste en realizar la medición de temperatura por medio de un

sensor DS18B20 e imprimir la lectura en una pantalla LCD.

**************************************************************************/

#include <OneWire.h>

#include <DallasTemperature.h>

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);                                                       //Configuración de los pines para la comunicación con la pantalla.

const int pinDatosDQ = 9;                                                                      // Pin donde se conecta el bus 1-Wire

OneWire oneWireObjeto(pinDatosDQ);                                                 // Instancia a las clases OneWire y DallasTemperature

DallasTemperature sensorDS18B20(&oneWireObjeto);


void setup()

{

lcd.begin(16, 2);                                                                                   //Indicamos que tenemos una pantalla de 16×2.

lcd.home();                                                                                          //Mover el cursor a la primera posición de la pantalla (0,0).

sensorDS18B20.begin();                                                                     // Iniciamos el bus 1-Wire

lcd.print("Sensor de");

lcd.setCursor(0,1);                                                                               //Columna,reglón

lcd.print("Temperatura DS18");

delay (2500);

lcd.clear();

}

void loop() {

sensorDS18B20.requestTemperatures();                                                // Mandamos comandos para toma de temperatura a los sensores

lcd.setCursor(2, 0);

lcd.print("Temperatura");

lcd.setCursor(0, 1);

lcd.print(sensorDS18B20.getTempCByIndex(0));

lcd.print(" C");

delay(1000);

}

 

 

Descargas

Práctica 18 – Arduino

Descarga código en Arduino de la práctica 18.

Fecha

agosto 13, 2019

Categoría

Prácticas XIDE

× WhatsApp