I’ve been playing with the RaspberryPi SenseHAT to see how easy it would be to code some live data logging of environmental factors like temperature or air pressure.
The Python matplotlib library makes it easy to plot nice graphs, and you can even update them. The Python code below takes a reading from the air pressure sensor on the SenseHAT every second for 20 seconds, and writes the readings into a list called pressure_list. It also logs the air pressure readings in the console you get a live readout which may be useful later…
It also writes numbers up 20 in a list called x to give us some numbers to go on the x-axis of our graph.
When the 20 seconds are up, it plots a bar chart of the readings, zoomed in to show only air pressures between 1026.7 and 1027 millibars – this is roughly the current range of air pressures in my lounge and the plt.axis command ensures we can easily see the differences in the bar chart. I also check to see if there are any exceptionally high or low pressure readings in each 20 second cycle, and take those into account when plotting the bar chart, though this gets reset on the next pass. You may need to fiddle with values for max_pressure and min_pressure depending on the weather!
It then repeats the process, wiping the list and starting again with 20 new air pressure readings.
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!