Horse & Chariot
This project was developed as part of the Computational design and digital fabrication seminar at ITECH master´s program, by Cornelius Carl, Samuel Losi and Paula Castel.
Through audio transmission, touch input, drawing ability, audio reception and motor power, this Arduino project takes a satirical stance on the creation of useful devices in order to explore capabilities of physical computing. It consists of two robots, the Horse and the Chariot who must work together in order to draw a user-defined path. Conceptually, this project takes a single robot with a path-planning drawing function and, for no useful reason, decides to separate it into two different robots that are connected via a string and sound.
The Chariot is the brains of the operation, it receives a drawing from the user via a touchpad. It rationalizes a path into a set of movement commands then encodes it into a series of floating point numbers. One by one, the Chariot transmits the commands as audio (one approximately every 3 seconds) to the Horse.
The Horse is the wheels of the operation. Using a microphone, it receives the floating point number over audio from the Carriage and decodes it into a movement command, which it promptly executes. The Horse pulls the Carriage along with it via a string and together they traverse the path. All the while, the Carriage drags chalk to mark out the users’ drawing.
Supplies
Electronics
(1) Arduino Nano 33 BLE
(1) Arduino Nano 33 BLE Sense (for embedded microphone use)
(1) Breadboard
(2) Piezo Speaker
(1) 1k Ohm Resistor
(1) 3.5” IPS capacitive Touchscreen Display
(2) DC motor
(2) Matching wheel
(1) Arduino Shield L298N
(2) Battery Pack (9V + 12V)
A handful of wires
Materials
Chalk
PLA
Weight or elastic bands
Electrical tape
Castor wheels (amazon link)
Tools
3d printer
Soldering iron
Wire stripper
Screwdriver
Drill
Caliper or ruler
Setting Up the Boards
Robot 1 (Horse): Nano BLE, speakers, LCD touchscreen, Piezo speakers, 1k Ohm resistor, battery
Robot 2 (Chariot): Nano BLE Sense, on-board mic, DC motors, wheels, battery, Arduino Shield L298N
The Code & Its Logic
Share self-defined object with encode/decode
Robot 1 (Horse): Path reading through touchscreen drawing/ Path division and vector generation/ Command encoding / Audio Transmission
Robot 2 (Chariot): Audio reading / Command decoding / Movement
Please find the complete code in the following Github link
Assembling the Machines
The circuits can be easily assembled on wooden, 3d printed or simple cardboard bases. We went for a minimal aesthetic and 3d printed transparent plates in which all components sit on. The chalk cartridge is being redone and we will update this instructable tutorial once it works with the new design :) It will need enough weight to pull the chalk down, and therefore the castor wheels should be positioned accordingly to balance out the pulling force. To connect both robots, simply drill a hole on each plate and connect via a string.
We hope you enjoy making this project by unleashing your senses through touch, sound, and visual stimulation!