3. Hardware

Under the polycarbonate panels of the device, there is quite a lot of electronics:

Power source  

  • Converts the 230V alternating current to 12V direct current.
  • Easy to use terminals with proper labels.
  • Non-insulated, needs caution.
  • Power cord was taken from an old coffee machine. 
  • Strain relief as shown below was made by printing a clamp inside the device.

Voltage regulator

  • Drops the voltage to 5V for Arduino.
  • Needs a circuit board 


Arduino microcontroller

  • A regular UNO or similar works fine.
  • With enough motors, an Arduino with more pins is needed.


Motor shield 

  • 16 channels -> 16 separate motors
  • Uses I2C to communicate with Arduino


Servo motors


Behaviour of the servos is inspected with a help of different sensors:


Load cell amplifiers

  • Amplify the signal coming from the load cells.
  • Placed in a solderable copper plated circuit board.
  • HX711 is quite a common example and has a good library.


Load cells


Optical switches

  • For measuring the rotational speed of servos.
  • Plates with holes were printed and attached to servos. Optical switch detects the holes when the servo rotates. The speed is then counted from the time taken to rotate the certain angle between the holes. 
  • Need to be positioned precisely.


Optical switch and load cell.

To operate all this, a user interface is needed:


Display

  • Connected to Arduino via I2C.
  • Common model, available both with or without I2C module.


Buttons and toggle switches