I succeeded in programming a system of thermoregulation using Arduino. This system holds the temperature of a plate at 37°C. I used a PID corrector to realize this.

What I want to do now is make a graphic interface that can communicate with the Arduino, allowing me to see a graph of the temperature.

I would like an explanation of how to send temperature data to a graphic interface using Arduino Uno.


There are two main possibilities.

The first one is to make a GUI on the Arduino itself. Add a TFT screen, touchscreen if you want the user to interact, or a non-touchscreen (cheaper) if you just want to display. Then, within your Arduino code, you can display the temperature data, and if you go the touchscreen route, interact with the user.

I own a couple of Arduino Esplora devices, and they would be near perfect for this, as they have a non-touch TFT screen, a joystick, buttons and a pot. All the equipment you need to display the temperature. Oh, and it has temperature and light sensors onboard.

My Esplora Sketch

The second way would be to make a GUI on your desktop/laptop machine. In your Arduino code, you could send your temperature data through USB (Serial), Bluetooth (SoftwareSerial), WiFi, Ethernet, nRF, etc etc etc. If you don't mind having the Arduino tethered to your computer by a cable, USB<-->Serial is the easiest solution. The software on the computer listens on a serial socket and when it receives temperature data, it displays it within its GUI.



It all depends on what graphical interface. There's many ways of doing it. You have TFT screens that the Arduino controls directly (take a look at UTFT for example), or serially connected displays (such as the ones offered by 4D Systems).

First you need to decide what kind of display device you want to use - and that is deciding:

  1. What your budget is
  2. How many Arduino resources you can dedicate to the interface
  3. What IO you have available on your Arduino

And more.

  • @zakaria That's even more vague than before. Is this a program you already have (if so WHAT program?!), or do you want to write your own PC program? (We don't know how, ask on a PC programming website). – Majenko Nov 20 '15 at 11:06
  • no I don't have the program before and i want to write my own PC program. but anyway I want to understand how can arduino send the data to another program, by using sockets? – zakaria Nov 20 '15 at 11:10
  • 2
    @zakaria Now you throw sockets into the mix as well...! What you ask is not trivial. I think you need to go back to basics and work out exactly what you want and how to articulate that into words and then google the different aspects of it. – Majenko Nov 20 '15 at 11:19
  • 1
    Does your Arduino mount an Ethernet shield? If not, the only chance is to send data to your PC via the "serial" interface trough the USB port. Hence, the PC need to be kept close/connected to Arduino, and turned on. Then, on the PC, there are plenty of option to fetch such data and do whatever you want with them (graphing including). – Damiano Verzulli Nov 20 '15 at 19:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.