#include <Stepper.h>
#define ledsoldadura 23
#define ledchispa 25
int tiemposoldadura = 0;
int minimobrazo = -100; //invertida
int maximobrazo = 100; //invertida
int contadorbrazo = 0;
int minimotijeras = -100;
int maximotijera = 100;
int contadortijeras = 0;
#define intercambiador 53
int contadorintercambiador = 0;
int estadointercambiador = 0;
//stepper brazo
const int pasosparavuelta2 = 200; // change this to fit the number of steps per revolution
const int vueltaporminuto2 = 15;
const int x_pin = A5; // analog pin connected to X output
Stepper motorbrazo (pasosparavuelta2, 8, 9, 6, 7);
//Stepper plataforma tijeras
const int pasosparavuelta = 200; // change this to fit the number of steps per revolution
const int vueltaporminuto = 10;
const int y_pin = A4; // analog pin connected to X output
Stepper plataformatijeras(pasosparavuelta, 10, 11, 12, 13);
void setup() {
pinMode(ledsoldadura, OUTPUT);
pinMode(ledsoldadura, OUTPUT);
plataformatijeras.setSpeed(vueltaporminuto);
motorbrazo.setSpeed(vueltaporminuto2);
pinMode(y_pin, INPUT);
pinMode(x_pin, INPUT);
pinMode(intercambiador, INPUT);
Serial.begin (9600);
}
void loop() {
estadointercambiador = digitalRead(intercambiador);
if (estadointercambiador == HIGH){
contadorintercambiador++;
delay (200);
Serial.println(contadorintercambiador);
}
if (contadorintercambiador == 0){
motoresfase1();
}
}
//****SUBRUTINA MOTORES FASE 1****
void motoresfase1(){
int horizontal = analogRead(x_pin);
int vertical = analogRead(y_pin);
if (contadortijeras > minimotijeras && contadortijeras < maximotijera){
if (vertical < 300) {
plataformatijeras.step(-1);
contadortijeras--;
}
else if (vertical > 700) {
plataformatijeras.step(1);
contadortijeras++;
}
}
else if ( contadortijeras == minimotijeras && vertical > 700 ) {
plataformatijeras.step(1);
contadortijeras++;
}
else if ( contadortijeras == maximotijera && vertical < 300 ) {
plataformatijeras.step(-1);
contadortijeras--;
}
if (contadorbrazo > minimobrazo && contadorbrazo < maximobrazo){
if (horizontal < 300) {
motorbrazo.step(-1);
contadorbrazo--;
}
else if (horizontal > 700) {
motorbrazo.step(1);
contadorbrazo++;
}
}
else if ( contadorbrazo == minimobrazo && horizontal > 700 ) {
motorbrazo.step(1);
contadorbrazo++;
}
else if ( contadorbrazo == maximobrazo && horizontal < 300 ) {
motorbrazo.step(-1);
contadorbrazo--;
}
if (contadorbrazo <= -98){
soldadura();
}
else{
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
tiemposoldadura = 0;
}
}
//****SUBRUTINA SOLDADURA****
void soldadura(){
tiemposoldadura++;
delay (1);
if (tiemposoldadura == 1){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 301){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 401){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 701){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 1401){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 1501){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 1601){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 1901){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 2001){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 2401){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 2501){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 2601){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 3301){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 3501){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 3601){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 3801){
digitalWrite(ledsoldadura, HIGH);
}
if (tiemposoldadura == 4301){
digitalWrite(ledsoldadura, HIGH);
digitalWrite(ledchispa, HIGH);
}
if (tiemposoldadura == 4401){
digitalWrite(ledsoldadura, LOW);
digitalWrite(ledchispa, LOW);
}
if (tiemposoldadura == 4501){
tiemposoldadura = 1;
}
}