In this part we created 9 buttons to use them for the direction control. When the user wants to move the wheelchair in any direction, he just has to click on the desired direction button. We made arrows pictures on the buttons to make a friendly use for the gui. After clicking, the gui will send a specific character to the Arduino microcontroller via serial protocol.Here is the GUI python code flowchart:

In this part, we created 5 buttons to use them for the speed control. When the user wants to move the wheelchair in any direction with specific speed, he just has to click on the desired speed button. We made pictures of numbers on the buttons to make a friendly use for the gui. After clicking, the gui will send a specific character to the Arduino microcontroller via serial protocol. 

In this part we used openCV library for video capturing purpose and the procedures of doing that are as follows:

  • Reading the data from the USB port.
  • Convert color to RGB.
  • Convert video to frames of arrays.
  • Configure the window of video with the GUI.
  • Show. Fourth Part: Direction Indications:

In this part we improved the GUI to increase the facilities and features, so when the user clicks on any button of the direction buttons, there is a label that will be on with an indication text to inform the user the current status. 

Fifth Part: Speed Indications:

In this part we improved the GUI to increase the facilities and features, so when the user clicks on any button of the direction buttons, there is a label that will be on with an indication text to inform the user the current status. 

Sixth Part: Optimization:

In this part we optimize the with extra features like permanently blinking message ("Have a good driving"), with two different colors and when the user moves the wheelchair with the maximum speed the message will be replaced with another blinking message ("Slow down") with warning red color. Also in the final gui we add some effects for the labels to make them in groove form as well as adding a scale slider that changes with speeds change.

 Arduino Code for the Direction Control:

As we saw in the below flowchart after reading from the serial,so if received character is the one for forward movement so the commands that will be sent to the motors will move the wheelchair in forward direction and so on.

If received character is the one for any speed level so the commands that will be sent to the motors will move the wheelchair with that speed level and so on.