
This is a remote control tester, it uses a CNC, Ethernet Communication with a JAVAFX interface and a PLC in order to control some valves.
Dependencies: EthernetInterface mbed-rtos mbed
Fork of CNC_CONTROLLER by
Diff: main.cpp
- Revision:
- 0:7cedfb720712
- Child:
- 1:ef18c260ce02
diff -r 000000000000 -r 7cedfb720712 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Jun 07 13:31:02 2017 +0000 @@ -0,0 +1,91 @@ +#include "mbed.h" +#include "Debug.h" +#include "Stepp.h" +#include "EixoController.h" +#include "EixoMonitoring.h" + +#define LEFT 0 +#define RIGHT 1 +#define FRONT 1 +#define BACK 0 + +// =============== Pinos Driver =============== +PinName clkPinX = p20; +PinName dirPinX = p19; +PinName enPinX = p18; + +PinName clkPinZ = p17; +PinName dirPinZ = p16; +PinName enPinZ = p15; + +PinName swOrignX = p5; +PinName swEndX = p6; + +PinName swOrignZ = p7; +PinName swEndZ = p8; +// ============================================ + + +// =============== Pinos Swtches =============== +DigitalIn swLeft(p5); //X0 --> origem +DigitalIn swRight(p6); //X0 --> origem +DigitalIn swBack(p7); //X0 --> origem +DigitalIn swFront(p8); //X0 --> origem +//DigitalIn swRight(p6);//Xf --> final +// ============================================ + +DigitalIn leituraOlimex(p21); +Debug *debug = new Debug(); + +Stepp* motorX = new Stepp(clkPinX, dirPinX, enPinX); +Stepp* motorZ = new Stepp(clkPinZ, dirPinZ, enPinZ); + +EixoController* eixoX = new EixoController( 49000, 38.10, motorX, swOrignX, swEndX); +//EixoController* eixoZ = new EixoController( 14000, 9.00, motorZ,swOrignZ, swEndZ);//40.55 +EixoMonitoring* eixoMonitoring = new EixoMonitoring( swOrignX, swEndX) ; + +// 0 - esquerda 1 - direita ---> Eixo X +// 1 - frente 0 - trás ---> Eixo Z +// 1 - pressionado 0 - solto ---> Switches + + +int main() { + + bool teste = false; + bool start = true; // mudar p/false com o uso do olimex + + if(start == true){ + + teste = eixoX->goToOrigem(swLeft , LEFT); + + EixoMonitoring::isCalibrated = false; + eixoMonitoring->startThreads(); + + if(teste == 1){// se está na origem + eixoX->calibragem(RIGHT); + EixoMonitoring::isCalibrated = true; + eixoMonitoring->hitSensor = 0; + eixoMonitoring->stopAll = false; + + + eixoX->goToPosition(17,RIGHT); + + } + } + + eixoMonitoring->stopThreads(); + + + /* + wait(0.5); + start = true; + if(start == true){ + teste = eixoZ->goToOrigem(swBack, FRONT); + if(teste == true){// se está na origem + eixoZ->calibragem(FRONT); + eixoZ->goToPosition(3,FRONT); + } + } + */ +} +