Tabla de contenido:

Obtenga el número de serie de un DS18B20 con un Arduino: 5 pasos
Obtenga el número de serie de un DS18B20 con un Arduino: 5 pasos

Video: Obtenga el número de serie de un DS18B20 con un Arduino: 5 pasos

Video: Obtenga el número de serie de un DS18B20 con un Arduino: 5 pasos
Video: Cómo utilizar un Sensor de Temperatura 🌡 DS18B20 con ARDUINO 2024, Mes de julio
Anonim
Obtenga el número de serie de un DS18B20 con un Arduino
Obtenga el número de serie de un DS18B20 con un Arduino

Esta es una guía rápida sobre cómo obtener los números de serie individuales de sus sensores de temperatura de 1 cable DS18B20.

Esto es útil para proyectos que requieren múltiples sensores.

Cosas que necesitas:

  • Arduino 5v (UNO, Mega, Pro Mini, etc.) - Arduino UNO R3 - AliExpress - eBay
  • Sensor de temperatura DS18B20 - AliExpress - eBay
  • Resistencia THT de 4,7 k - 1 / 4w - AliExpress - eBay
  • Placa de pruebas - AliExpress - eBay
  • Cables de puente - macho a macho - AliExpress - eBay
  • Una computadora con Arduino IDE instalado

Paso 1: agregue la biblioteca requerida a Arduino IDE

Agregue la biblioteca requerida a Arduino IDE
Agregue la biblioteca requerida a Arduino IDE
  1. Abra Arduino IDE (estoy usando 1.8.1)
  2. Haga clic en "Sketch" -> "Incluir biblioteca" -> "Administrar bibliotecas …"
  3. Seleccione la barra de búsqueda y escriba "dallas"
  4. Haga clic en "DallasTemperature" y haga clic en "Instalar"

Alternativamente, puede descargar la biblioteca desde aquí:

Esta biblioteca incluye la biblioteca OnWire.

Paso 2: Conecte el DS18B20

Conecte el DS18B20
Conecte el DS18B20
Conecte el DS18B20
Conecte el DS18B20

Usando una placa de prueba, conecte + 5V, GND y el pin digital 2 (el pin 2 ya está configurado en el boceto de ejemplo) desde el Arduino usando puentes de placa de prueba macho a macho.

Conecte el DS18B20 en paralelo a las tiras de terminales 3x en la placa de pruebas.

  • Pin 1 (GND) -> GND (Tierra 0 V)
  • Pin 2 (DATOS) -> Pin digital 2
  • Pin 3 (Vdd) -> + 5V

Para el modo de energía normal, conecte una resistencia de 4.7K de + 5V al cable digital Pin 2 en la placa de pruebas.

El siguiente enlace es un gran recurso para el sensor de temperatura de 1 cable DS18B20.

www.tweaking4all.com/hardware/arduino/ardu…

Paso 3: Cargue el boceto de ejemplo "Único"

Cargar el boceto de ejemplo
Cargar el boceto de ejemplo
Cargar el boceto de ejemplo
Cargar el boceto de ejemplo

Una vez que lo haya conectado, estará listo para cargar el IDE de Arduino SketchOpen "Single" de Dallas Temperature (estoy usando 1.8.1) Haga clic en "Archivo" -> "Ejemplos" -> "Temperatura de Dallas" -> "Single" que agregué en retraso (5000); en la línea 103 para darme tiempo de copiar el número de serie. Seleccione el formulario de placa correspondiente "Herramientas" -> "Placa" Seleccione el puerto correspondiente "Herramientas" -> "Puerto" Ahora "Cargue" el boceto "Boceto" -> "Cargar" Haga clic en "Herramientas" -> "Monitor en serie" asegúrese de que la velocidad en baudios coincida con la mía es 9600 Si el boceto no se cargó, verifique su placa, puerto, controladores USB, etc.

Paso 4: copie el número de serie

Copiar el número de serie
Copiar el número de serie
Copiar el número de serie
Copiar el número de serie

Desde el "Monitor de serie", verá que la cuarta línea es "Dirección del dispositivo 0: xxxxxxxxxxxxxxxx"

Este es el número de serie del DS18B20

Si es "0000000000000000", entonces hay un problema al leer su DS18B20.

Resáltelo con su mouse y presione CTRL + C en su teclado y luego péguelo en el Bloc de notas

Para mis otros proyectos, mi código usa una matriz de estos números. Volví a formatear la cadena HEX al siguiente formato.

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x70, 0x42, 0x98, 0x70,, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x62, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x28, 099, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Paso 5: terminado

Finalizado
Finalizado

Ahora puede identificar cada sensor de temperatura de 1 cable DS18B20 individual en su código y usar una función como esta:

float getTemperature (byte j) {

Sensores.requestTemperaturesByAddress (tempSensorSerial [j]);

flotador tempC = sensores.getTempC (tempSensorSerial [j]);

return tempC;

}

Recomendado: