This project was for my Electrical Engineering Senior Design project at the University of South Florida. My team of 4 decided to build an autonomous machine that could paint an interior wall much quicker and more efficiently than an individual (or even a group) of human painters.
For this project, we decided to use a microcontroller that could perform well with the different operations it would have to do. Initially, we tried to implement a PIC microcontroller for their size and simplicity, but eventually ended up using the ever beloved Arduino (UNO) down the line since the PIC needed additional circuitry for pretty much every control operation.
I used C programming for controlling the PIC 18F4550 microcontroller using the MPLABX IDE. Later on since the Arduino UNO was used, I used C++ in the Arduino IDE. In terms of the mechanical elements, we used two powerful DC motors since we needed a lot of torque for the wheel at the base of the robot to move the weight as well as relatively high rotational speed for the entire paint nozzle canvas to be lifted by the canvas motor. For the painting nozzles, we decided to use solenoid valves which can be turned on and off via a control voltage from the microcontroller.
Click on the images to see them in a full view.