Main Content

How to make a scrolling weather station that displays the temperature, air humidity and relative atmospheric pressure, and Time.

Story
From one of my previous projects (Bluetooth-controlled scrolling text), I have a finished 8x56 LEDs matrix consisting of 7pcs MAX7219 Led matrix modules 8x8, and located in the appropriate box. I used this ready-made matrix to make a scrolling weather station that displays the temperature, air humidity and relative atmospheric pressure, as well as the current time.

For this purpose, I use a BME280 sensor and a DS3231 real-time clock module, so the device works independently of an Internet connection. The BME280 board is placed on the outer side of the case for more accurate readings, and it can also be placed outside with the help of a four-wire cable. Let me mention that these matrix modules are older type, and as you see (in the given picture), contain DIL IC on the front. The new modules are made in smd technology and usually composed of 4 coupled matrices, and they are turned 90 degrees clockwise.

In this project, using the library “Max72xxPanel” the position of the contents of each matrix can be rotated in code with command “matrix.setRotation”, so we can use matrices of any type. Also the number of matrices in the array can be changed, and is defined by the command:

int numberOfHorizontalDisplays = 7; //we can simple change this numberaccording to number of matrices we use

As I mentioned before, the device is very simple to build and contains the following components:

- Arduino Nano microcontroller
- 7 pieces 8x8 Led Matrix modules driven by MAX7219 chip
- BME280 sensor module
- And DS3231 real-time clock module

Immediately after switching on, the scrolling text appears in order

- Day of the week
- current time
- Temperature in degrees Celsius
- Air humidity
- and Relative Atmospheric Pressure in hectopascals

Due to the large number of diodes, the device should be powered by an external source that should provide a current of 2 Amps or more.

The intensity of the LEDs, as well as the speed of the scrolling text, can be easily adjusted in code.

int wait = 25; // speed

matrix.setIntensity(3); // Use a value between 0 and 15 for brightness

On the video you can watch a short description of how this device is made.”

Link to article