Arduino Matrix Scrolling Weather Station and Clock With BME 280 and DS3231
by mircemk in Circuits > Arduino
687 Views, 3 Favorites, 0 Comments
Arduino Matrix Scrolling Weather Station and Clock With BME 280 and DS3231
How to make a scrolling weather station that displays the temperature, air humidity and relative atmospheric pressure, as well as the current time.
Supplies
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
Description
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
Building
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.
Schematic Diagram, and Code
And finally, the device is built into a suitable housing made of PVC board with a thickness of 3mm and 5mm