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
--- /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);
+ }
+ }
+ */
+}
+
