Вы находитесь на странице: 1из 10

Control gap arduino 555

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display

void setup();
void loop();
void leer_gap();

LiquidCrystal_I2C lcd(0x27, 16, 2);

//////////////// DECLARACION DE ENTRADAS DIGITALES /////////


int boton_menu=11;
int boton_subir=10;
int boton_bajar=9;

int led_star=7;
int led_stop=6;

int opto_star=5;
int opto_pausa=4;
int opto_stop=3;
int opto_retro=2;

int tensor_hilo=8;

const int sensor_gap = A3;


/////////////// CONSTANTES E INICIALISACIONDE VARIABLES////////
float gap; ///lectura analogica gap
float vgap; /// comvert voltage gap
int estado=1; /// estado para entrar al menu star, stop
float sp=50;
float mm=5;
float vmax=10;
float vmin=10;
int menu=0; //////menu de modificacion de bariables 4
int ccc=0;
int cca=0;
char zona[][3] = { "->", "<-", "ok", "cc", "ca"} ;
int i=0;

///////////////////////////////////////////////////////////////////////////////////
//////////////
////////////////////////////// SETUP
////////////////////////////////
Página 1
Control gap arduino 555
///////////////////////////////////////////////////////////////////////////////////
/////////////
void setup()
{
lcd.begin();

// Turn on the blacklight and print a message.


lcd.backlight();

lcd.setCursor(0,0);
lcd.print("CONTROL DE ESPAC");
lcd.setCursor(0,1);
lcd.print("GAP DE ELECTROER");
delay(4000);

pinMode(boton_menu,INPUT);
pinMode(boton_subir,INPUT);
pinMode(boton_bajar,INPUT);

pinMode(led_star,OUTPUT);
pinMode(led_stop,OUTPUT);

pinMode(opto_star,OUTPUT);
pinMode(opto_pausa,OUTPUT);
pinMode(opto_stop,OUTPUT);
pinMode(opto_retro,OUTPUT);

pinMode(tensor_hilo,INPUT);

}
///////////////////////////////////////////////////////////////////////////////////
//////////////////////
//////////////////////// LOOP
//////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////

void loop()
{
//////////////// STOP
///////////////////////////////////////////////////////////////////////
while(estado==1)///
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("STOP CONT.GAP");
lcd.setCursor(0,1);
lcd.print("V GAP=");
Página 2
Control gap arduino 555
lcd.setCursor(6,1);
lcd.print(vgap);
digitalWrite(opto_pausa, HIGH);
delay(50);
digitalWrite(opto_stop, HIGH);
delay(50);
////estado
while(estado==1)///
{ digitalWrite(opto_star, LOW);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, LOW);
digitalWrite(opto_retro, LOW);

digitalWrite(led_stop,HIGH); ////PARAR HILO Y PULSO


digitalWrite(led_star,LOW);

if(digitalRead(boton_menu)== HIGH) ////SALIR DE MENU


STOP//////////////
{delay(200);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("INGRESO MENU PRG");
lcd.setCursor(0,1);
lcd.print("menu============");
delay(1000);
estado=2;
}
}
}
////////////////STAR///////////////////////////////////////////////////////////////
/////////////
while(estado==3)
{
leer_gap();

lcd.setCursor(0,0);
lcd.print("star gap ");
lcd.setCursor(0,1);
lcd.print("SP= VG=");

lcd.setCursor(11,1);
lcd.print(vgap);

lcd.setCursor(3,1); ///// mostrar el set point


lcd.print(sp,1);
lcd.setCursor (14,0);
lcd.print (zona[i]); //Temperature value

Página 3
Control gap arduino 555
digitalWrite(led_star, HIGH);
digitalWrite(led_stop,LOW);
delay(500);

if(digitalRead(boton_menu)== HIGH) //SALTO A STOP ------------------boton


{lcd.setCursor(0,0);
lcd.print("SALTO A STOP ");
lcd.setCursor(0,1);
lcd.print("****************");
digitalWrite(led_star,LOW);
digitalWrite(led_stop,HIGH);
delay(4000);
estado=1;
}
if(digitalRead(tensor_hilo)== HIGH) //tencion de hi detectar
------------------boton
{lcd.setCursor(0,0);
lcd.print("TENCION DE HILO SUELTO");
lcd.setCursor(0,1);
lcd.print("****************");

digitalWrite(opto_pausa, HIGH); /////PARA MACH3


delay(50);
digitalWrite(opto_stop, HIGH); /////PARA MACH3
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, LOW);
digitalWrite(led_star,LOW);
digitalWrite(led_stop,HIGH); //////ENSENDER LED STOP ROJO
delay(4000);
estado=1;
}

if(ccc>40) //tencion de hi detectar ------------------boton1||


{lcd.setCursor(0,0);
lcd.print("STOP POR CC");
lcd.setCursor(0,1);
lcd.print("****************");
digitalWrite(opto_pausa, HIGH); /////PARA MACH3
digitalWrite(opto_stop, HIGH); /////PARA MACH3
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, LOW);
digitalWrite(led_stop,HIGH); //////ENSENDER LED STOP ROJO
delay(4000);
estado=1;
}

Página 4
Control gap arduino 555
if(cca>40) //tencion de hi detectar ------------------boton1||
{lcd.setCursor(0,0);
lcd.print("STOP POR CA");
lcd.setCursor(0,1);
lcd.print("****************");
digitalWrite(opto_pausa, HIGH); /////PARA MACH3
digitalWrite(opto_stop, HIGH); /////PARA MACH3
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, LOW);
digitalWrite(led_stop,HIGH); //////ENSENDER LED STOP ROJO
delay(4000);
estado=1;
}

//////////////// MENU DE PROGRAMACIOM


/////////////////////////////////////////////////////////
while(estado==2)///
{
//lcd.clear();
lcd.setCursor(0,0);
lcd.print("PROG.PARAM.V.GAP");
lcd.setCursor(0,1);
lcd.print("menu ======== <-");

if(digitalRead(boton_menu)== HIGH) ////SALIR DE MENU STOP/////


{delay(500);
estado=3;

}
if(digitalRead(boton_bajar)== HIGH) ////INGRESAR AL MENU DE
PROGRAMACION/////
{delay(500);
menu=1;
lcd.clear();
}

///////////////////////////////////////////////////////////////////////////////////
//////
//////////////// MENU DE PROGRAMACION
///////////////////////////

///////////////////////////////////////////////////////////////////////////////////
///

Página 5
Control gap arduino 555
while(menu==1)//////////////// MODIFICAR VARIABLE SET
POINT/////////////////MMMMMMMMMMMMMMM
{

lcd.setCursor(0,0);
lcd.print("SP= MM= ");//// MODIFICAR SETPOINT Y
MAS MENOS POINT
lcd.setCursor(0,1);
lcd.print("VS= VI= "); ////MODIFICAR VOLTAGE
SUPERIOR Y VOLTAGE INFERIOR

lcd.setCursor(3,0);
lcd.print(sp,1);/////////////////// VARIAR EL SETPOINT

if(digitalRead(boton_subir)== HIGH) /////// BOTON


SUVIR SETPOINT
{delay(500);
sp=sp+1;
}
if(digitalRead(boton_bajar)== HIGH) ////// BOTON
BAJAR SETEPOIN
{delay(500);
sp=sp-1;
}
if(digitalRead(boton_menu)== HIGH) ///////BOTON MENU
MODIFICAR SIGUIENTE VARIABLE
{delay(500);
menu=2;
}

/////////////////////////////////////////////////////////////////////////////////
while(menu==2)////////////////////modificar
variable mas meno////MMMMMMMMMMMMMMM
{
lcd.setCursor(11,0);
lcd.print(mm,1);
//////////////////VARIAR MAS MENOS
if(digitalRead(boton_subir)== HIGH)
/////// BOTON SUVIR mas menos
{delay(500);
mm=mm+1;
}
if(digitalRead(boton_bajar)== HIGH)
////// BOTON BAJAR mas menos
{delay(500);
mm=mm-1;
}
if(digitalRead(boton_menu)== HIGH)
Página 6
Control gap arduino 555
///////BOTON MENU MODIFICAR SIGUIENTE VARIABLE
{delay(500);
menu=3;
}

//////////////////////////////////////////////////////////////////////
while(menu==3)////////////MENU
3////////////////////////////////////
{
lcd.setCursor(3,1);
lcd.print(vmax,1);////
MODIFICAR VOLTAGE SUPERIOR

if(digitalRead(boton_subir)== HIGH) /////// BOTON SUVIR mas menos


{delay(500);
vmax=vmax+1;
}

if(digitalRead(boton_bajar)== HIGH) ////// BOTON BAJAR mas menos


{delay(500);
vmax=vmax-1;
}

if(digitalRead(boton_menu)== HIGH) ///////BOTON MENU MODIFICAR SIGUIENTE VARIABLE


{delay(500);
menu=4;
}

//////////////////////////////////////////////////////
while(menu==4)
///////////MENU4 /////////////////////
{
lcd.setCursor(11,1);
lcd.print(vmin,1);
////MODIFICAR VOLTAGE INFERIO

if(digitalRead(boton_subir)== HIGH) /////// BOTON SUVIR mas menos


{delay(500);
vmin=vmin+1;
}

if(digitalRead(boton_bajar)== HIGH) ////// BOTON BAJAR mas menos


{delay(500);
vmin=vmin-1;
}

if(digitalRead(boton_menu)== HIGH) ///////BOTON MENU MODIFICAR SIGUIENTE VARIABLE


{delay(500);
Página 7
Control gap arduino 555
menu=5;
}

while(menu==5)
{
lcd.setCursor(0,0);
lcd.setCursor(0,0);

lcd.print("LISTO PARA TRABA"); ////MODIFICAR VOLTAGE INFERIO

lcd.setCursor(0,1);

lcd.print("######menu######"); ////MODIFICAR VOLTAGE INFERIO

if(digitalRead(boton_menu)== HIGH) ///////BOTON MENU MODIFICAR SIGUIENTE VARIABLE

{delay(500);

menu=0;

estado=3;
}
}
}/////llave menu 4
}/////llave menu 3
}/////llave menu 2
} /////llave menu 1
}/////llave estado 2

}/////llave void loop


///////////// FIN LOOPP
//////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////
/////////// FUNCION LEER GAP //////////////////////////////////
////////////////////////////////////////////////////////////////////////////

void leer_gap()
{
gap= analogRead(sensor_gap);
vgap=((gap*5)/1023)*20;

Página 8
Control gap arduino 555
//////////// ZONA 1 ////////////// corto sircuito
if (vgap>=(sp+vmax))
{
digitalWrite(opto_star, HIGH);
delay(50);
digitalWrite(opto_star, LOW);
digitalWrite(opto_stop, HIGH);
i=4;// ca
cca=cca+1;
delay(50);

}
//////////// ZONA 2 //////////////

if ((vgap < (sp+vmax))&&(vgap > (sp+mm)))


{
digitalWrite(opto_star, HIGH);
delay(50);
digitalWrite(opto_star, LOW);
digitalWrite(opto_stop, HIGH);
i=0;//->
ccc=0;
delay(50);

}
//////////// ZONA 3 //////////////
if ((vgap<=(sp+mm))&&(vgap>=sp))
{
digitalWrite(opto_pausa,HIGH);
delay(50);
digitalWrite(opto_pausa,LOW);
digitalWrite(opto_stop, HIGH);
i=2;//0k
ccc=0;
delay(50);

}
//////////// ZONA 4 //////////////
if ((vgap<sp)&&(vgap>=(sp-mm)))
{
digitalWrite(opto_pausa, HIGH);
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, HIGH);
i=2;//ok
ccc=0;
ccc=0;
delay(50);
Página 9
Control gap arduino 555

}
//////////// ZONA 5 //////////////
if ((vgap<(sp-mm))&&(vgap>(sp-vmin)))
{
digitalWrite(opto_pausa, HIGH);
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, HIGH);
delay(50);
digitalWrite(opto_stop, LOW);
digitalWrite(opto_retro, HIGH);
i=1;//<-
ccc=0;
delay(50);

}
//////////// ZONA 6 //////////////retro coto sircuito
if (vgap<=vmin)
{
digitalWrite(opto_pausa, HIGH);
delay(50);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, HIGH);
delay(50);
digitalWrite(opto_stop, LOW);
digitalWrite(opto_retro, HIGH);
i=4;//cc
ccc=ccc+1;
delay(50);

}
///////////////// APAGAR TODO /////////////////////
digitalWrite(opto_star, LOW);
digitalWrite(opto_pausa, LOW);
digitalWrite(opto_stop, LOW);
digitalWrite(opto_retro, LOW);

} ////// FIN FUICION LER //////

Página 10

Вам также может понравиться