Sensor de Temperatura One Wire DS18B20

Este Sensor de Temperatura One Wire de 2m de largo tiene una sonda impermeable y forma de cable largo, adecuado para detección de temperatura por inmersión. El chip dentro de este sensor es DS18B20 que es ampliamente adoptado. El original incluye tres cables en su interior, necesitas añadir una resistencia extra para que funcione. Para este sensor, lo ajustamos a un puerto Grove y tuvimos una resistencia pre-ensamblada en el interior para que puedas usarlo como un sensor Grove regular. ¡Este artículo va a ilustrar el uso del sensor en Raspberry Pi y divertirse!
Actualizable a Sensores Industriales
Con el controlador S2110 y el registrador de datos S2100 de SenseCAP, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con la creación de prototipos sino que también te ofrece la posibilidad de expandir tu proyecto con la serie SenseCAP de sensores industriales robustos.
Los sensores industriales de la serie SenseCAP S210x proporcionan una experiencia lista para usar para detección ambiental. Por favor consulta el Sensor Inalámbrico de Temperatura y Humedad S2101 con mayor rendimiento y robustez para monitoreo de calidad del aire. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC, y una estación meteorológica 8-en-1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.
Sensor Industrial SenseCAP |
S2101 Temp. y Humedad del Aire |
Características
- Requiere solo un cable para la interfaz de datos
- Resistente al agua
- Compatible con Grove
- Acepta alimentación de 3.0V a 5.5V
- Amplio rango de temperatura: -55°C a +125°C
- Alta precisión: ±0.5°C (-10°C a +85°C)
La parte del cable no puede estar expuesta a temperaturas superiores a 70°C durante largos períodos.
Especificaciones
Voltaje de Operación | 3.0-5.5V |
Chip | DS18B20 |
Longitud | 2m |
Temperatura de Operación | -55°C a +125°C |
Plataformas Compatibles
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Comenzando
Después de esta sección, puedes hacer funcionar el Sensor de Temperatura One Wire con solo unos pocos pasos.
Jugar con Arduino
Materiales Requeridos
Seeeduino Lotus V1.1 | Sensor de Temperatura One Wire |
---|---|
![]() | ![]() |
Obtener UNO Ahora | Obtener UNO Ahora |
Conexión de Hardware

Por favor conecta el cable USB y la Interfaz del Sensor de Temperatura One Wire al Seeeduino Lotus V1.1 con cuidado, de lo contrario podrías dañar el puerto.
-
Paso 1. Conecta el Sensor de Temperatura One Wire a la interfaz D2 del Seeeduino Lotus V1.1 con un cable Grove.
-
Paso 2. Conecta el Seeeduino Lotus V1.1 a la PC mediante un cable USB.
-
Paso 3. Descarga el código, por favor consulta la parte de software.
-
Paso 4. Ejecuta el código y el resultado se mostrará en la pantalla del Monitor Serie en tu Arduino IDE.
Software
Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que veas Primeros Pasos con Arduino antes de comenzar.
-
Paso 1. Descarga la Librería para Onewire y la Librería para Control de Temperatura de Arduino
-
Paso 2. Copia todos los archivos de OneWire y Arduino-Temperature-Control-Library y pégalos en tu carpeta de librerías del Arduino IDE.
-
Paso 3. Sube el código de demostración del Código de Software que aparece a continuación. Si no sabes cómo subir el código, por favor consulta Cómo subir código.
Código de Software
// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
/*
* The setup function. We only start the sensors here
*/
void setup(void)
{
// start serial port
Serial.begin(115200);
Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library
sensors.begin();
}
/*
* Main function, get and show the temperature
*/
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
// After we got the temperatures, we can print them here.
// We use the function ByIndex, and as an example get the temperature from the first sensor only.
float tempC = sensors.getTempCByIndex(0);
// Check if reading was successful
if(tempC != DEVICE_DISCONNECTED_C)
{
Serial.print("Temperature for the device 1 (index 0) is: ");
Serial.println(tempC);
}
else
{
Serial.println("Error: Could not read temperature data");
}
}
Si todo va bien, puedes ir al Monitor Serie para ver un resultado como el siguiente:

Jugar con Raspberry Pi
Materiales requeridos
Raspberry Pi 4 Model B | Grove - Base Hat for Raspberry Pi | One Wire Temperature Sensor |
---|---|---|
![]() | ![]() | ![]() |
Obtener Uno Ahora | Obtener Uno Ahora | Obtener Uno Ahora |
Conectando el hardware

Paso 1. Conecta el Sensor de Temperatura One Wire al puerto D5 del Grove - Base Hat para Raspberry Pi, conectado a la Raspberry Pi 4 Model B. Y luego conecta la Raspberry Pi 4 Model B con una PC.
Paso 2. Después de acceder al sistema de Raspberry Pi, clona con git Seeed_Python_DS18B20 e instala grove.py insertando el siguiente comando:
pip3 install Seeed-grove.py
O en sistemas GNU/Linux compatibles como la Raspberry Pi, puedes instalar el controlador localmente desde PyPI:
pip3 install seeed-python-Ds18b20
Paso 3. Para instalar en todo el sistema (esto puede ser requerido en algunos casos):
sudo pip3 install seeed-python-Ds18b20
Y puedes insertar el siguiente comando para actualizar el controlador localmente desde PyPI:
pip3 install --upgrade seeed-python-Ds18b20
Software
import seeed_ds18b20
import time
def main():
DS18B20 = seeed_ds18b20.grove_ds18b20()
print("Please use Ctrl C to quit")
while True:
temp_c,temp_f = DS18B20.read_temp
print('temp_c %.2f C temp_f %.2f F' % (temp_c,temp_f),end=" ")
print('\r', end='')
time.sleep(0.5)
if __name__ == "__main__":
main()
Al ejecutar el código de demostración en Raspberry Pi, es POSIBLE que se te recuerde habilitar la interfaz 1-Wire. Entonces deberías usar el comando sudo raspi-config y reiniciar para habilitar el dispositivo 1-Wire:


Paso 4. Ejecuta la demostración con el siguiente comando:
cd Seeed_Python_DS18B20
python3 examples/BasicRead.py
El resultado se mostrará como sigue si todo va bien:

Recursos
[PDF] DS18B20-Datasheet.
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.