-
Turning the ProArm Into a Bartender
07/24/2022 at 05:33 • 0 commentsWith the parallel port emulator hooked up, the possibilities for this robot are wide open. Which is amazing!!
I have chosen to program this robot to be a bartender. I have included some photos of the conceptual representations of this idea.
My ultimate goal is to be able to send drink orders to the robot through the internet. In other words, people could order their drink from a website on their phone and the robot will prepare it for them.
Connecting this ProArm to the internet raises some complexity. To achieve this I will connect the Arduino to a RaspberryPi. The RaspberryPi will host a website locally on my wifi. More scripts will be needed to initiate a specific set of moves for the robot to make to prepare the wifi-ordered drink.
To start I will just have the robot pour sodas. To do this, the following hardware is necessary: a drink preparation table, a sensor to detect the presence of a cup, a trash can for waste, and of course the sodas!
-
Creating the Parallel Port Emulator
07/23/2022 at 15:44 • 0 commentsReference the Interfaces and Handshake protocol file on this project.
The base of the ProArm houses all the drivers for the stepper motors, a microcontroller (TI Z80), power interface, programming interface, and some other extra interfaces (you can read more in the manual).The microcontroller comes preprogrammed with the robot. It holds the logic for executing commands and for acknowledging/initiating the handshake protocol for the system. As detailed in the manual, the microcontroller expects to receive 8bit combinations of numbers and specific ascii characters.
Because my hack-it-back solution is non-invasive to the robot control system, the old manual for the ProArm still remains relevant. In other words, the manual can be referenced to create the commands I would like to send to the ProArm.
Knowing that I could use the manual to understand what commands to send, I just needed to create a script to translate the ascii characters and numbers into 8bit packages.
In my script, sets of commands are stored in an array. Then a function within the script translates the commands to binary, 8bit lines. Lastly the handshake protocol is initialed and the translated array is sent line by line to the ProArm. That’s a high level explanation. You’ll be able to diver deeper into this Arduino script.
The last important piece I had to develop was the handshake protocol. I was unable to find the specifics for this in the manual. However, I eventually found the specifics on the website of a Spanish professor. His website was all about the ProArm and how to develop MS-DOS and C++ programs for this robot with its originally intended parallel port.
In this case, the handshake protocol relied on the STROBE pin of the programming interface. It with the right timing sequence, the Arduino was able to perform the right handshake protocol.