Real-time drawing robot. Using a SCARA arm and a web interface, it draws simultaneously to the user.
This was a quick prototype, built over the course of a few evenings to see what was possible with these relatively simple (or cheap, at least) pieces of equipment.
Raspberry Pi Zero
PCA9685 Servo Motor Driver
I quickly designed the two arms using the brilliant Tinkercad website, screwing the 'shoulder' servo straight down onto an acrylic board and attaching the arms after 3D-printing.
The MG996R servos for the upper/lower arm sections are connected up to the PCA9685 which has its own separate power supply from the Pi. As this project was just a prototyping exercise, the pen is simply bolted in place with a little pipe ring clip style attachment.
A node server is run on the Pi which allows user interaction through a canvas web interface and Socket.IO connections. The SCARA angles for the arm joints in relation to the mouse (or finger on mobiles) position are calculated client-side (to spread the processing load), then sent to the server which sets the servo positions without hesitation via the PCA9685 node module.
In this instance there is no dampening, physical or mechanical (springs) so it's.. it's pretty intense in the way it moves but it does its job!
I learnt a lot in building this and hope to re-build the project from scratch with a more professional-looking aesthetic. My original idea was actually for it to draw with a pencil that never lifts off the paper and just sketches over and over to darken the drawing where needed, hence the name 'Sketchy', but in actuality using servos isn't suitable for this. Servos move relatively quickly and with strength but aren't nearly precise enough to plot accurately in this fashion, so it could never sketch out a block with a pencil - the gaps between angles too large and inprecise (too 'sketchy', ironically).
However, the fact that it moves so pleasinly in real-time more than makes up for it so I'll build a more built-up version in future and possibly even a stepper-motor plotting incarnation one day.
Hard pass! As a quick prototype project it was both successful and taught me many a lesson.