Introduction: Arduino Esplora Controls UArm SwiftPro
This Instructable provides a step-by-step guide how to control a robot arm called SwiftPro with an Esplora with TFT LCD screen and using its built-in joystick, switch buttons and other sensors.
It's an easy way to learn programming and quickly build prototypes. All sensors required come with the Esplora, all actuators activated are in the SwiftPro, and the TFT LCD screen provides visual feedback on status so you don't have to wire up sensors and actuators with a breadboard - it's all plug and play.
I used the end result to move LEGO and Jenga pieces around to show the smooth and precise manual control of the robot arm from an Esplora. What will you move it with?
Step 1: Get the Hardware
Step 2: Get the Software
- Arduino IDE (I used version 1.8.3)
Step 3: Upload the Program Sketch
Follow these steps
- Download the .ino sketch available from GitHub repository
- Open sketch on Arduino IDE
- Connect Arduino Esplora to PC
- Select Tools> Port> ...Esplora
- Select Tools> Board > Arduino Esplora
- Upload sketch to Esplora
- Select Sketch> Verify/Compile
- Select Sketch> Upload
- Once uploaded with no errors, open serial monitor
- Select Tools> Serial Monitor
Step 4: Connect the Devices
Follow these steps:
- Connect uArm Swift Pro via USB to PC
- Power on
- From Arduino IDE, close serial monitor (which is connected to Esplora)
- Switch port and board from Esplora to uArm
- Select Tools> Board> ....Mega 2560
- Select Tools> Port> Arduino/Genuino Mega 2560
- Open serial monitor
- Set baud rate to "115200"
- Set terminal return to "Newline"
- SwiftPro will beep and print several lines of text over serial monitor and it should look like the screenshot
- Place cursor on serial monitor input field
Step 5: Action!
The video here is the longer and full version and explains the setup process and more shots of the play with LEGO and Jenga.
Step 6: End Notes
I just wanted to share what has been achieved so far. The current sketch can still be enhanced, like making the code leaner, or displaying more feedback from SwiftPro status to the LCD screen, etc. There are many, many ways to improve on it, or create variations from here - constructive comments, suggestions and questions are welcome.
Thanks for viewing and enjoy!