Larger data display

Years ago, I built a little Arduino Uno project to read an open collector water meter and an actuated valve. This setup has been running beautifully (mostly due to the help found on this forum).

I've begun tinkering with this again and want to expand it's capabilities.

The system has a float actuated valve that opens and refills a tank then closes. Currently I've got 2, 4 row lcd's running on i2c. I'm displaying a number of data points but I'd like the capability to show the total flow and average flow of the last 24 hours worth of valve cycles. Each full cycle is roughly 40 minutes assuming normal flow. Shorter if there's a leak.

I can show both numbers on the same row assuming the display is wide enough but I am wanting 40 - 60 rows.

The question is, what's the best way to display this much data at once? I haven't been able to find an lcd screen big enough.

Please keep in mind, I am only as knowledgeable as what it took to built this unit... so barely even a beginner.

Thanks

First, decide if you want to simply embed a terminal-like flat panel (think of a laptop or tablet), running something like a terminal program. Minimal time investment, all it needs is to receive serial data via USB and display it. Could even do it with Serial Monitor, but then you need to install the IDE.

2 Likes

have a look at Tutorial for 2.8" Arduino TFT LCD Touchscreen Module (Colour Screen) which plugs directly onto a UNO
if you require more lines you could use the touch to scroll up and down

1 Like

So you want to display 80 to 120 values at once? That's not going to be easy on the eye. You might easily miss something important in that deluge of information.

I suggest representing the data graphically could be a much better option. The eye/brain can take in and process information much more quickly if it is visual.

So I suggest a graphic display. There are graphic LCD and OLED, but I'm not sure I would recommend OLED, because the image will be pretty static and OLED displays suffer from burn-in.

Some graphic displays have i2c interfaces, some SPI interfaces, which are faster, although that may not matter much.

Some graphic displays can take a lot of the Arduino's memory, especially the monochrome ones, because a single byte of data controls up to 8 pixels, so it's necessary to use a memory buffer for the screen. Some colour ones, somewhat surprisingly, take less because each pixel has one or more of its own bytes, so can be updated without disturbing nearby pixels.

If you like this idea, take a browse of Arduino compatible graphic displays, but post a link here so we can advise if it's suitable before you buy.

The coding is going to be more of a challenge, but if you are prepared to learn and put in the effort, the forum can give lots of help.

1 Like

You might look into using bluetooth and a phone, especially if you have an old phone and then scroll your data.

A raspberry Pi computer can connect to any HDMI flatscreen TV and connect to your data collector through USB or wifi. A halfway smart TV can be stood in portrait mode and show many lines at the same time.

You have options to check!

1 Like

I have to admit... I forgot just how awesome this community is!

After reading through your suggestions, I'm loving the idea of graphing the data on an old tablet or smart tv. The system doesn't currently have any wireless communication capability but I'm sure that could be added easily. (side note: eventually I do want to add wifi capabilities in order to email or upload data daily.)

I haven't yet had the time to dig into this but I did lay out the questions I believe I need to research. Please add to, or correct these thoughts as you see fit:

    • What communication method?
      ---Wi-Fi, Bluetooth or USB
  • -What device?
    --- Android Tablet or TV

    • What software or app to display data and graphic?

TIA

WiFi, in my opinion.

Rather than add WiFi, replace the Uno with a WiFi capable board such as one based on ESP8266 or ESP32.

Anything with a web browser (Chrome/Firefox/Edge etc)

The web browser.

An important question to consider is where do you want to access the data? If only locally (when connected to your home LAN) then the Arduino can host the web page(s). If you want to access from anywhere, you need to use a remote web server or an IoT data logging & visualisation service. There are lots of these available, Arduino have one of their own for example, but most are not free.