I am working on developing a mobile/tablet app for my cable-driven plotter project. My current plan is to use the mobile device to determine the next plotter movement, communicate the movement to Arduino via Bluetooth, then the Arduino commands the stepper motors to move. The mobile app will calculate the next move and communicate it to the Arduino in real time - one move/step at a time.
I haven't worked with interfacing a mobile device and Arduino before but I have a hunch that timing may be an issue when controlling stepper motor speed in real time. The simplest method I can think of to control stepper motor speed is control the frequency at which the mobile device sends the one step stepper motor commands to the Arduino. If I was to use the simple method I would assume that the stepper motor speed will be limited by either the processing power of the mobile device (when calculating the next movement) or the max speed of the stepper motor driver whichever is slower. My plan is to play around with the setup until I find the max speed that the system can handle. [u]Am I overlooking a simpler or already well understood method to do these types of communications?[/u]
I will be using an Android app, Arduino Nano, Bluetooth module, and Easydriver stepper motor driver.
For details on what a cable-driven plotter is refer to my blog: http://www.slantwiseguy.com/
The bluetooth module I will be using: http://www.amazon.com/JY-MCU-Arduino-Bluetooth-Wireless-Serial/dp/B009DZQ4MG?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_detailpage_o01_s00