View Single Post
Old 10-09-2024, 01:08 PM   #1 (permalink)
CigaR007
Master EcoModder
 
CigaR007's Avatar
 
Join Date: Jul 2010
Location: Canada
Posts: 710

GreenTurtle (Retired) - '01 Toyota Echo Sedan
90 day: 44.85 mpg (US)

Zulu - '14 Honda CR-Z
90 day: 49.05 mpg (US)
Thanks: 153
Thanked 270 Times in 164 Posts
Arduino-based GUI for active grille block

I have been working on this GUI (graphical user interface) for the past week or so. It is based on open-source LVGL graphics library.

My current active grille block is controlled via an Arduino UNO. An 1602 LCD display reports the grille block position. A physical pushbutton cycles the different positions (SHUT, MID, OPEN) sequentially. See this thread for more details : https://ecomodder.com/forum/showthre...ock-41348.html

My current setup is somewhat limited and does not really allow for much upgrades. Which is why I decided to upgrade to a more robust and capable arduino board; the GIGA R1. The nice thing about the R1 is that there is a very neat GIGA display shield add-on, which seamlessly connects to it, making it one assembly. The display shield has touch capabilities which open the door to many GUI design considerations.









Below is a demo of my design thus far. The next step will be integrating my existing arduino code for the servo into the LVGL code that renders the GUI.

As you can see, there is a lot of flexibility for GUI design. This setup allows for future add-ons to be integrated into the GUI by simply adding another virtual screen. As it stands there is only 1 screen which mainly allows for the control of the active grille block and some status information, such as the radiator fan or the A/C fan. I also added a cooling drag status bar and airflow arrows depicting the cooling flow.

On the plus side, this setup will also eliminate a bunch of wiring that is being used by the current physical pushbutton switch and segment LCD screen.




  Reply With Quote
The Following User Says Thank You to CigaR007 For This Useful Post:
Logic (10-23-2024)