While developing the robotic arm (A.R.M.A.X) I wanted it to be easy to control, I developed a small prototype that allowed me to control the arm with two joysticks and an antenna, this I where decided to make it into a multi-purpose controller for more projects besides the arm as well as adding more features to it.
Since the controller is multi-purpose it requires features for a range of uses, those features are:
A LCD 16X2 screen: for displaying information, (example: X/Y coordinates, connection status).
2 Joysticks: allows control of multiple movable parts or different objects (motors, servos)
Joysticks buttons: extra usability for controller.
2 Toggle Switches: extra functionality options for controller
Buzzer: adds sound warnings for specific conditions
Blue LED: adds light warnings or sequences for specific conditions.
NRF24 antenna: transmits communication from the controller to a receiver
I designed the controller to be programmed based on how the user wants or how the project requires it to be, its versatile for a variety of uses based on all the elements that the controller provides.
When designing the controller I wanted it to be:
Comfortable
Large to be held with both hands
Easy to use
Aesthetically pleasing
Original design was smaller but due to power issues with the Arduino Nano the micro-controller was replaced to a different one.
Instead of designing and printing a 3D case cover for the controller i decided to learn and use a laser cutter to produce 2 plastic cover for the controller, the reasons being:
Faster production of covers instead of hours with a 3d printer
Little experience with laser cutters compared to 3D printers
Transparent look of components and controller parts.
This project was interesting to develop as it first started as a prototype controller solely for a robotic arm but with the addition of more features I decided to make it multi-purpose so it could assist me in all future projects instead of developing a new controller every single time.
The controller has multiple features but remains simple as it can satisfy my needs at this current moment, as my knowledge expands I will need a more capable controller with more features such as:
Screen capable of displaying colours.
Extra methods of communication: Bluetooth, WIFI.
Better Joysticks
More buttons and switches
A faster micro-controller.
One issue i had while designing the plastic covers was the sizes used, the original PCB frame was designed on EASYEDA software which its hard to obtain precise round numbers. When creating new PCBs from now on, the frame will be designed and measured in Solidworks and then exported to EASYEDA for better and precise results