Tu máquina CNC utiliza un CNC-SHIELD por lo tanto contamos con una ventaja ya que este módulo utiliza un Arduino de base.
Si observas la imagen, en la imagen superior izquierda verás que están disponibles los pines GND, TX y RX; los cuales puedes usar para conectar un dispositivo que se
comunique directamene por Serial.
En tu caso habrá dos Arduinos. El primero de ellos será el que tenga el código del GBRL. Ahora mismo lo utilizas para conectarlo al PC y via cable USB mandar el código G. Puedes dejar ese Arduino libre: alimentarlo a través del DC-Jack con una tensión superior a los 7 voltios sin conectarlo via USB.
El otro Arduino podrás conectarlo via Serial al puerto que dispone el CNC-Shield. Será este Arduino al que conectarás los mandos "manuales" para mover el plotter. Además de leer los mandos tendrá la función de enviar el código correspondiente al motor.
Esto depende de como quieras usar el modo manual, y ahi tendrás que pelear con el código para que haga lo que tu quieres.
Pongamos un ejemplo: tienes un botón para mover a la izquierda un milimetro. Cuando pulses dicho botón deberá enviar una instrucción G1 X-1, estableciendo previamente el modo de movimiento a relativo con respecto la coordenada actual (comando G91)...
BotonSimple izq(pin);
void loop()
if ( izq.read()==APRETANDOLO ) {
Serial.println("G91");
Serial.println("G1X-1");
}
Esto es una idea. Puede que haya otra posible solución. Y el código deberá ajustarse.
Eso si, te recomiendo que aprendas como funciona el CNC-SHIELD, que aprendas los códigos G más importantes. Hay bastantes tutoriales y videos en la red para ello.
En mi caso, estoy realizando un proyecto muy similar digitalizando un torno CNC que iré desarrolando en mi tiempo libre poco a poco, y cuando tenga algo bien avanzado lo publicaré en el foro, pero puede que tarde unos meses.
