Hasta ahora solo había utilizado el nRF24L01
como emisor en un módulo y receptor en otro módulo.
En este montaje el mismo módulo nRF24L01 hace de emisor y
receptor, gestionándose automáticamente.
Para probar el cambio de emisor/receptor se me ocurrió hacer dos
circuitos detectores de temperatura que emiten a una base de
sensores.
Los sensores de temperatura solo responde a petición de la base
de sensores.
El funcionamiento es el siguiente:
- -La base de sensores emite una petición de temperatura a
un sensor determinado (en este caso solo hay 2 sensores, se
pueden implementar hasta 255).
- -La base de sensores se pone en escucha esperando la
respuesta del sensor.
- -Todos los sensores escuchan la petición de la base, pero
solo el numero de sensor al que ha llamado responde.
- -El sensor al que ha preguntado se pone en modo emisión, y
manda la temperatura a la base.
- -La base escucha al sensor que emite la temperatura y nos
lo manda a través del puerto serie.
La petición a cada sensor se hace cada 8 segundos
aproximadamente.
Cada sensor lee la temperatura del ds18B20 cada 10
segundos aproximadamente.
La estructura de los datos es la siguiente:
Base de sensores
|
|
|
Emisor
|
Receptor
|
Petición
|
0
(Base sensores) |
1/2
|
1
(temperatura)
|
Sensor
|
|
|
|
|
Emisor
|
Receptor
|
Respuesta
|
Dato1
|
Dato2
|
1/2
|
0
(Base sensores)
|
1
(temperatura)
|
|
|
Aunque según vemos en el programa se envían 7 datos, solo se
utilizan 5.
Los otros dos se pueden emplear para control de errores u otros
datos extras.