You are on page 1of 3

#include <LiquidCrystal_I2C.

h>
#include <Servo.h>

LiquidCrystal_I2C lcd(0x27,16,2);

Servo servo1; // servo 1 - rampa


Servo servo2; // servo 2 - rampa
Servo servo3; // servo - compuerta

volatile bool boton=HIGH;


bool encender=LOW;
bool metal;
bool botella;

void setup() {
lcd.init();
lcd.backlight();
lcd.clear();

servo1.attach(3);
servo2.attach(5);
servo3.attach(6);

pinMode(2, INPUT); // Boton ON-OFF


attachInterrupt(digitalPinToInterrupt(2), ONOFF, CHANGE);

pinMode(4, OUTPUT); // Rel� 1 - pist�n


pinMode(7, OUTPUT); // Rel� 2 - pist�n
pinMode(8, INPUT); // sensor inductivo
pinMode(9, OUTPUT); // Led - sensor inductivo
pinMode(10, INPUT); // sensor capacitivo
pinMode(11, OUTPUT); // Led - sensor capacitivo

servo1.write(0);
servo2.write(45);
servo3.write(0);

digitalWrite(4, LOW);
digitalWrite(7, LOW);
}

void loop() {
//boton = digitalRead(2);

// if(boton == LOW)
// {
// encender = ~encender;
// }

if(boton == LOW)
{
servo1.write(45);
delay(100);
servo2.write(0);
delay(500);
servo2.write(45);
delay(100);
servo1.write(0);
delay(2000);
metal = digitalRead(8);
if(metal == HIGH)
{
b_nometal();
}
else if (metal== LOW)
{
b_metal();
}
botella = digitalRead(10);
// if(botella == LOW)
// {
piston();
if(metal == LOW){
servo3.write(90);
delay(1000);
servo3.write(0);
}
else{
servo3.write(45);
delay(1000);
servo3.write(0);
}
// }
}

delay(100);
}

void ONOFF()
{
boton = !boton;
}

void piston()
{
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
delay(8000);// tiempo de estira
digitalWrite(4, LOW);
digitalWrite(7, LOW);
delay(8000);
digitalWrite(4,HIGH);
}

void b_metal()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Metal");
lcd.display();
}

void b_nometal()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("No metal");
lcd.display();
}

You might also like