$24
Objective
The main goal of this lab is to create a graphical user interface (GUI) to display certain data sent from both the DAQ Arduino and the Main Controller Arduino. The RPM of the wheel, battery level, normal operation LED, high temperature LED, low coolant LED are among the pieces of information being displayed. In addition to displaying data, the GUI provides a way for the user to start and stop the system as well as input numerical values for the maximum load (the threshold at which the cooling fan will turn on) and calibration factor for the load cell.
Equipment List
Arduino Mega 2560
USB Cable
MATLAB
Procedure
The graphical user interface (Figure 1) will be used as the main interface between both the data acquisition Arduino and the main controller Arduino. In order to receive data from both Arduinos, one must use serial communication. This includes being able to read and write from the serial port that the Arduino is connected to on the computer. The GUI parses over the string of data being sent from the Arduinos every second and updates (in real-time) the values for RPM, battery life, distance traveled, e-stop status, normal operation indicator, high temperature indicator, and low coolant indicator.
The user must also input a value for the maximum RPM. This value is used as the threshold at which the cooling fan will turn on – i.e. if the RPM of the wheel exceeds this value, the fan will turn on. The user must also input a value for the calibration factor. This value is used to adjust the calibration setting on the load cell. In order to send these two values to the Arduinos, the user must either press the “Send Data” button or stop and start the system.
In addition to displaying and sending data, the GUI has three buttons – Start, Stop, and Reset. In typical automation systems, if there is a fault or the system goes into e-stop, the user must “acknowledge” this issue by hitting the reset button. As such, the user must press the reset button prior to pressing the start button to run the system.
Deliverables
Graphical User Interface