nRF24plus and Atmega328P radio probe Red
red nRF, transmitter for miscellaneous sensor data. Mega clock and Logger server version
The origin of the sensors dates back to the MEGA_CLOCK RGB LEDs. The codes and libraries have since evolved.
The first probe is based on an ATmega328P clocked at 8 MHz, with a single DS18B20 sensor responsible for measuring the outside temperature.
Transmission is via an nRF24plus module.
Power is supplied by an 18650 Li-ion cell through a 1N4007 diode. (V<sub>ATT</sub> 3.6 V nominal, 4.2 V full load).
Diagram: SONDE_NRF_NORD_color or nb The operating cycle is as follows :
The microcontroller is asleep most of the time. It wakes up every 4 minutes via the Watchdog Timer. The temperature measurement is taken.
The data is transmitted by the NRF24L01+.
The system immediately returns to deep sleep.
This strategy allows for significant battery life without requiring a high-capacity battery.
A second module has been assembled and placed south of my house ; it forms the core of the weather station.
It also uses an 8 MHz ATmega328P processor paired with the GY-21P shield, which incorporates a Si7021 and a BMP280.
Data transmission is also performed via an nRF24plus module.
The following measurements are acquired :
temperature via Si7021
relative humidity via Si7021
atmospheric pressure via BMP280
Diagram: SONDE_NRF_SUD_color or nb The system is powered by an 18650 battery connected to a solar panel and an HW373 charging module.
To limit power consumption, the sensors are powered only during the measurement phase via a transistor-controlled ON/OFF switch.
The operating cycle is as follows :
The microcontroller sleeps most of the time. It wakes up every 4 minutes via the Watchdog Timer.
The sensors are powered on.
Temperature, humidity, and atmospheric pressure measurements are acquired.
The data is transmitted by the NRF24L01+. The peripherals are powered off.
The microcontroller returns to deep sleep.
To inform the receiver of the type of radio information received, I used a letter-to-integer format on transmission.
Example:
messRadio T:193 -> Temperature south 19.3°C
messRadio H:6094 -> Humidity %RH 6094
messRadio A:1003 -> Atmospheric pressure 1003 hPa
messRadio N:186 -> Temperature north 18.6°C I
subsequently created other devices equipped to receive and process the data transmitted by the sensors.
METEO_LOGGER: This module displays data on a TFT LCD and records it to an SD card.
It allows you to keep a complete history of environmental measurements. https://www.elektormagazine.fr/labs/part-3-grow-data-radio-visio-logger I2C_CLOCK:
A clock with four RGB displays using an I2C bus.
https://www.elektormagazine.fr/labs/master-i2c-simple-clock
I subsequently added the transmission of the wind direction angle value to the south probe code.
messRadio V:80 -> west wind
https://www.elektormagazine.fr/labs/win-replica-la-rose-des-vents-connectee

Updates from the author