Our Robotic Paint Dispenser consists of 3 main components:
- Electronics – Hardware & Software
- Design
- Colour Calibration
The robot paint maker project comprises three integral components that seamlessly interconnect to achieve its functionality.
The electronics segment, encompassing both hardware and software, serves as the project’s nervous system. The touchscreen interface allows users to select a color, initiating a series of events. Regardless of which input mode was chosen by the user, the colour would be converted to its relevant RGB values. The chosen RGB values would then be converted to the corresponding RYBWB values through the embedded color conversion algorithm. Subsequently, these RYB ratios are communicated back to the Arduino, which acts as the project’s central processing unit. The Arduino not only translates the color data but also orchestrates the dispensing system through peristaltic pumps.
This brings us to the second facet of the project โ design. The design aspect incorporates the physical setup, encompassing the peristaltic pumps with tubing connecting to the containers storing the paint, and a platform to place the electronics. The dispensing system precisely releases paint in the calculated RYB ratios, with total volume approximating to 2 mL.ย
The third facet involves color calibration, a crucial step for achieving accurate color reproduction. This calibration phase fine-tunes the system, ensuring that dispensed colors align with user-selected hues.
In essence, the interplay between electronics, design, and color calibration results in a cohesive and responsive robot paint maker, enabling users to effortlessly translate their color preferences into tangible artworks.
First, the user can choose the colour of their choice via 4 available input modes:
- Hue Saturation Lightness (HSL)
- Sliders are initialised at the maximum value for all 3 aspects
- Hue ranges from 0 to 360. Varying it affects the colour
- Saturation ranges from 0 to 100. Varying it affects the concentration of colour.
- Lightness ranges from 0 to 100, Varying it affects the shade of the colour
- HEX Colour Codes (HEX)
- Users can key in the specific HEX colour code into the user interface (UI) screen
- Red Green Blue (RGB)
- 0 signifies no representation of the color and 255 signifies the highest possible concentration of the color.
- Sliders are initialiased at 255
- Cyan Magenta Yellow Black (CMYK)
- CMYK ranges from 0 to 100
After the colour is chosen, the users simply have to press “SELECT”, and the paint will start dispensing!ย Approximately 2 ml of paint will be dispensed.
โ
Controlling ratio of paint dispensed
When the user selects a colour, its information regarding the HSL/HEX/RGB/CMYK will be read by the following code and converted into the ratio of paints dispensed. The sliders for the colour selection will also reset after a colour is dispensed.
The following shows the code for the conversion of hue to the ratio of cyan paint needed, which will be used to determine how much the motor moves. The other colours will have similar codes to this as well.
Following this, this code converts the paint ratio needed into movement in the motor (peristaltic pump). After the user presses the “SELECT” button, the peristaltic pump rotates the desired number of rotations as controlled by the number of steps in the code. The number of rotations will determine the volume of paint dispensed.