This project involves the implementation of an instrument cluster as the second DES (Distributed Embedded Systems) project in the SEA:ME curriculum.
An instrument cluster, also known as a dashboard cluster or gauge cluster, is a critical component of a vehicle’s dashboard. It provides the driver with essential information about the vehicle’s status and performance through various gauges, indicators, and warning lights. Here, we implement an instrument cluster showing real-time speed data on a screen with GUI.
You can also find those topics on our Wiki.
- WaveShare JetRacer AI Kit)
- MH Infrared Speed Sensor Module (FC-03)
- Arduino Nano
- MCP2515 CAN BUS Module
- SeeedStudio 2-CH CAN FD HAT
- Raspberry Pi 4B
- WaveShare 7.9inch DSI LCD
- Main application: C++(Qt framework)
- Firmware(for Arduino): C
- Host OS(for development): Ubuntu 20.04
- Raspberry Pi: Rasbian Desktop 64bit
- IDE: Qt Creator, Arduino IDE
- Version control: Git
After we have written RaspberryPi OS (Debian Bookwarm, 64bit) to a sd card, we have added lines below to 'config.txt' at the root of the sd card file system. And ejected the sd card and boot up our Raspberry Pi, and we were able to see the display working as expected.
(...)
# WaveShare 7.9inch LCD
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,7_9_inch
Followed instructions on here To activate CAN protocol on Raspberry Pi, you need to run:
sudo ip link set can1 up type can bitrate 500000
# /etc/xdg/autostart/InstrumentCluster.desktop
[Desktop Entry]
Type=Application
Exec=/home/pi/InstrumentCluster
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=InstrumentCluster
Name=InstrumentCluster
Comment[en_US]=Start Instrument Cluster at startup
Comment=Start Instrument Cluster at startup