Cómo conectar un sensor Dallas a la placa OpenMote B

Obtén la temperatura con un sensor externo DS18B20 conectado a la placa openmote B
16 de febrero de 2022 por
Cómo conectar un sensor Dallas a la placa OpenMote B
Boot & Work Corp. S.L., Fernandez Queralt Martinez

Índex

A veces, cuando utilizamos nuestra placa openmote B, tenemos la necesidad de conectar sensores externos a nuestro dispositivo.

En esta entrada del blog, aprenderemos lo siguiente:

  1. Primero, cómo conectar un sensor Dallas a nuestra placa openmote.

  2. En segundo lugar, cómo descargar los archivos necesarios para programar nuestro dispositivo openmote B.

  3. Y en tercer lugar, cómo visualizar las temperaturas que el sensor Dallas envía a la placa openmote B.

Requisitos

1. Cómo conectar un sensor DALLAS a la placa Openmote B

Para obtener la temperatura de nuestro sensor Dallas, primero tenemos que conectarlo como se muestra en la siguiente imagen.

* Las antenas y las baterías no son necesarias

Conexión del sensor Dallas - Cómo conectar un sensor Dallas a la placa OpenMote B

2. Cómo descargar los archivos de Openmote B

a. Ahora, haz clic en el último openmote-fw.tar.bz2 de here >>

Índice de Openmote - Cómo conectar un sensor Dallas a la placa OpenMote B

b. Una vez descargado, descomprima el paquete.

tar -xvf openmote-fw.tar.bz2


c. Entra en el directorio y lista los archivos para ver el contenido:

cd openmote-fw/
ls


d. Si se listan los archivos de prueba, se verán todas las pruebas que se pueden programar a tu Openmote B:

Pruebas que puedes programar en tu Openmote B - Cómo conectar un sensor Dallas a la placa OpenMote B

3. Cómo obtener la temperatura del sensor Dallas con la placa Openmote B


Para obtener la temperatura de nuestro sensor, primero necesitaremos instalar docker-compose. Por favor, instálalo desde here >>


Luego, dentro de la carpeta test, está la carpeta llamada test-ds18b20, que será el proyecto que vamos a ejecutar.


Así, desde la carpeta openmote-fw/, ejecutaremos el siguiente comando:

docker-compose run --rm openmote test-ds18b20


Por último, instala la pantalla si no la tienes:

sudo apt update
sudo apt install screen


Y comprueba la temperatura que te da tu sensor Dallas ejecutando el siguiente comando:

screen /dev/ttyUSB1 115200


Temperatura que está recibiendo de su sensor de Dallas

Salir de la pantalla pulsando Ctrl+a + \

Q&A

1. ¿Cómo puedo inspeccionar el código que se está ejecutando?

Puedes verlo en la siguiente ruta: openmote-fw/test/test-ds18b20/src/main.cpp  


2. ¿Qué pasa si obtengo el siguiente error "ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'" la primera vez que intento subirlo?

Vuelve a subirlo. Eso ocurre a veces cuando lo haces por primera vez. Debería funcionar la próxima vez.


3. ¿Cuál es la salida esperada en el terminal?

Algo así:

Creating openmote-fw_openmote_run ... done
Running SCons with 8 threads.
Building project=test-ds18b20 for board=openmote-b using platform=cc2538 and toolchain=arm-none-eabi.
Parsing folder=board.
Parsing folder=drivers.
Parsing folder=freertos.
Parsing folder=sys.
Parsing folder=platform.
Parsing folder=test.
arm-none-eabi-size build/openmote-b/test/test-ds18b20/test-ds18b20.elf
OpenMoteCC2538_bootload(["build/openmote-b/test/test-ds18b20/test-ds18b20.phonyupload"], ["build/openmote-b/test/test-ds18b20/test-ds18b20.hex"])
Starting bootloading on /dev/ttyUSB1
   text    data     bss     dec     hex filename
  29196     468    8192   37856    93e0 build/openmote-b/test/test-ds18b20/test-ds18b20.elf
Opening port /dev/ttyUSB1, baud 400000
Reading data from build/openmote-b/test/test-ds18b20/test-ds18b20.hex
Firmware file: Intel Hex
Connecting to target...
CC2538 PG2.0: 512KB Flash, 32KB SRAM, CCFG at 0x0027FFD4
Primary IEEE Address: 00:12:4B:00:19:35:68:7E
    Performing mass erase
Erasing 524288 bytes starting at address 0x00200000
    Erase done
Writing 524256 bytes starting at address 0x00200000
Write 232 bytes at 0x0027FEF88
    Write done                                
Done bootloading on /dev/ttyUSB1



4. ¿Por qué conectamos el cable de datos amarillo del sensor de temperatura de Dallas al pin PB0 del openmote B?

Porque lo asignamos en el código por defecto. Como puedes ver en la imagen de abajo, el puerto y el pin de un cable están asignados a la base GPIO B y al pin GPIO 0, respectivamente. Si cambiamos el número 0 por el número 1, podrías programarlo igualmente, y podrías trabajar con el puerto PB1, y así.

Puerto y pin de un cable - Cómo conectar un sensor Dallas a la placa OpenMote B

Buscar en nuestro blog

Cómo conectar un sensor Dallas a la placa OpenMote B
Boot & Work Corp. S.L., Fernandez Queralt Martinez 16 de febrero de 2022
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>