#include <Servo.h>
#define dirPin 5 //pin dir pasoapaso-TROQUEL
#define stepPin 4 //pin STEP pasoapaso-TROQUEL
#define EnaPin 6 //pin ENA pasoapaso-TROQUEL
int base_giratoria = 0;
int tiempo_troquelado = 1000;
int tiempo1_aire = 2000; //Tiempo de soplo por filtro
Servo myservo; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
Servo myservo3; // create servo object to control a servo
Servo myservo4; // create servo object to control a servo
Servo myservo5; // create servo object to control a servo
Servo myservo6; // create servo object to control a servo
//Servo myservo5; // create servo object to control a servo
int angulo1 = 90; //ángulo para cerrar la base del troquel
int angulo2 = 180; //ángulo para abrir la base del troquel
int angulo3 = 120; //ángulo para segundo ciclo
int posc = 0;
int BST1 = 10; //Boton START
int troquel = 9; //Troquel
int aire = 12;//solenoide
int SH1 = 13;//sensor herradura 1
int scontador = 9;//sensor contador
int contador = 0;//variable contador
int estado2 = 0;
int sensor_capacitivoN=1;
int sensor_capacitivoT=12;
void setup() {
//CONFIGURAR SERVOMOTORES
myservo.attach(2, 600, 2300); // (pin, min, max)
myservo2.attach(11, 600, 2300); // (pin, min, max)
myservo3.attach(9, 600, 2300); // (pin, min, max)
myservo4.attach(3, 600, 2300); // (pin, min, max)
myservo5.attach(7, 600, 2300); // (pin, min, max)
myservo6.attach(8, 600, 2300); // (pin, min, max)
//POSICIÓN INICIAL SERVOMOTOR 1 A 0°
myservo.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
myservo5.write(0);
myservo6.write(0);
//myservo5.write(0);
//POSICIÓN INICIAL SERVOMOTOR 2 A 0°
myservo2.write(0);
// put your setup code here, to run once:
pinMode(BST1, INPUT);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT); // Set the spinning direction CW/CCW:
pinMode(EnaPin, OUTPUT);
digitalWrite(dirPin, HIGH);
pinMode(aire, OUTPUT);
pinMode(troquel, OUTPUT);
pinMode(SH1, INPUT);
pinMode(sensor_capacitivoN, INPUT);
pinMode(sensor_capacitivoT, INPUT);
digitalWrite(aire, LOW);
digitalWrite(EnaPin, LOW);
}
void loop() {
if (digitalRead(BST1) == LOW) {
//POSICIONAR BASE GIRATORIA
while (base_giratoria == 0) {
digitalWrite(EnaPin, LOW);
digitalWrite(dirPin, LOW);
digitalWrite(stepPin, HIGH);
delayMicroseconds(900);
digitalWrite(stepPin, LOW);
delayMicroseconds(900);
if (digitalRead(SH1) == LOW) {
//DOSIFICADOR DE VÁLVULAS
myservo.write(13);
myservo2.write(90);
myservo3.write(90);
myservo4.write(90);
delay(500);
myservo.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
delay(500);
// DOSIFICADOR ACEITE
if (digitalRead(sensor_capacitivoN)==HIGH){
myservo5.write(180);
delay(500);
myservo5.write(0);
}
if (digitalRead(sensor_capacitivoT)==HIGH){
myservo6.write(180);
delay(500);
myservo6.write(0);
}
//base_giratoria = 1;
}
}
}
}