ARDUINO BASADO EN GRAFCET APLICADO AL CONTROL DE SISTEMAS SECUENCIALES GRAFCET GENÉRICO https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC -Vmimt
Hola jóvenes, en estos enlaces del BLOGG y DEL CANAL, pueden encontrar recursos sobre fundamentos de ingeniería mecatrónica como : SOLIDWORKS, PROGRAMACIÓN DE ARDUINO, HIDRÁULICA – LENGUAJE LADDER , LENGUAJE GRAFCET ,ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM, FACTORY IO, CONTROL, entre otros https://www.mecatrónica.com.co/ https://mecatronicaitsa.blogspot.com/ http://www.youtube.com/c/JovannyDu que?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)
SISTEMAS DE AUTOMATIZACIÓN SECUENCIALES IMPLEMENTADOS EN GRAFCET SOBRE ARDUINO
ARDUINO Acceso a PDF
https://play.google.com/books/s/370286768613/ebooks https://mega.nz/folder/a9thTIjA#bSAwbpbG3Z34DW3jJ_bMQg
ARDUINO Aprende a programar Arduino desde una solucio n LADDER o GRAFCET con metodologí as confiables https://youtube.com/playlist?list=PLHTERkK4EZJr7zDQNKjjEyxhErjllCCUy
GRAFCET CON ARDUINO Programa en Arduino sistemas secuenciales simulados en GRAFCET , con un metodo confiable 100% https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC-Vmimt
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/
GRAFCET GENERICO PARA EL CONTROL DE CUATRO (4) LUCES USANDO CUATRO (4) PULSADORES NA. OBJETIVO: Realice la programación del GRAFCET asignado en la tarjeta ARDUINO UNO
ESQUEMA DE CONEXIÓN DE E / S PLC TWIDO
2
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/
3
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ PROGRAMACION ARDUINO //// GRAFCET GENERICO # 2 //// Ajustar exactamente al GRAFCET’s generico 2 okok funcionando (T1 VARIABLES TERMINADAS EN 1)
VER ANTACIONES EN EL ARCHIVO .INO DE ARDUINO HACER PRUEBAS CON CADA UNA int E1; int E2; int E3; int E4; int E5; int E6; int E7; int E8; int E9; int E10; int E11; int E12; int E13; int E14; int E15; int E16; int E17; int E18; int E19; int E20; int E21; int E22; int E23; int E24;
int S1 = 6; int S2 = 7;
4
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ int S3 = 8; int S4 = 9; int L1 = 2; int L2 = 3; int L3 = 4; int L4 = 5;
int T1; int T2; int T3;
//temp1 int activado = 0; // Al principio no ha sido activado. long inicio, final, actual;
//temp2 int activado2 = 0; // Al principio no ha sido activado. long inicio2, final2, actual2;
//temp3 int activado3 = 0; // Al principio no ha sido activado. long inicio3, final3, actual3;
void setup() { // put your setup code here, to run once: //APERTURA DEL VISUALIZADOR SERIAL Serial.begin(9600);
//DECLARACION DE PUERTOS DIGITALES
//entradas// pinMode(6, INPUT); pinMode(7, INPUT);
5
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ pinMode(8, INPUT); pinMode(9, INPUT);
//salidas// pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT);
//ALGUNOS DISPOSITIVOS TRAEN UNA CONFIGURACION POR ESO ES NECESARIO COLOCAR LOS PUERTOS EN 0V digitalWrite(L1, LOW); digitalWrite(L2, LOW); digitalWrite(L3, LOW); digitalWrite(L4, LOW);
// DECLARACION DEL ESTADO DE LAS ETAPAS E1 = HIGH; E2 = LOW; E3 = LOW; E4 = LOW; E5 = LOW; E6 = LOW; E7 = LOW; E8 = LOW; E9 = LOW; E10 = LOW; E11 = LOW; E12 = LOW; E13 = LOW; E14 = LOW; E15 = LOW; E16 = LOW; E17 = LOW;
6
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ E18 = LOW; E19 = LOW; E20 = LOW; E21 = LOW; E22 = LOW; E23 = LOW; E24 = LOW; } void loop() { // put your main code here, to run repeatedly: //CAPTURAR VALORES DE PUERTOS DIGITALES DE ENTRADA S1 = digitalRead(6); S2 = digitalRead(7); S3 = digitalRead(8); S4 = digitalRead(9);
//TRATAMIENTO SECUENCIAL
E1 = ((E1 | (T2 & E10) | (E22 & E20 & S4)) & (~E2) & (~E8)); E2 = ((E2 | (E1 & S1)) & (~E3)); E3 = ((E3 | (E2 & S2)) & (~E4) & (~E7)); E4 = ((E4 | (E3 & S1 & S2)) & (~E5) & (~E7)); E5 = ((E5 | (E4 & S3) | (E7 & (S1 | S3))) & (~E9)); E7 = ((E7 | (E3 & T1)) & (~E5) & (~E8) & (~E4)); E8 = ((E8 | (E1 & S3) | (E7 & S4)) & (~E11) & (~E12) & (~E15)); E9 = ((E9 | (E5 & S2)) & (~E10)); E10 = ((E10 | (E9 & S1)) & (~E1)); E11 = ((E11 | (E8 & T3)) & (~E13)); E12 = ((E12 | (E8 & T3)) & (~E14)); E15 = ((E15 | (E8 & T3)) & (~E16) & (~E19)); E13 = ((E13 | (E11 & S1 & E14)) & (~E17) & (~E24)); E14 = ((E14 | (E12 & S2)) & (~E17) & (~E24)); E16 = ((E16 | (E15 & S3) | (E19 & S1)) & (~E18));
7
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ E18 = ((E18 | (E16 & S1 & S3)) & (~E17) & (~E24)); E19 = ((E19 | (E15 & S4)) & (~E16)); E17 = ((E17 | (E13 & E14 & E18 & S4)) & (~E22)); E24 = ((E24 | (E13 & E14 & E18 & S4)) & (~E20)); E22 = ((E22 | (E17 & S1)) & (~E1)); E20 = ((E20 | (E24 & S2)) & (~E1)); delay(100); // ???????????????????????????????????????????????
//TRATAMIENTO POSTERIOR if (E1 == HIGH) { Serial.println("Etapa1"); } if (E2 == HIGH) { Serial.println("Etapa2"); }
if (E3 == HIGH) { Serial.println("Etapa3"); activetemp1(); }
else { desactivetemp1(); }
if (E4 == HIGH) { Serial.println("Etapa4");
}
if (E5 == HIGH) { Serial.println("Etapa5");
8
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ }
if (E9 == HIGH) { Serial.println("Etapa9"); }
if (E10 == HIGH) { Serial.println("Etapa10");
activetemp2();
} else { desactivetemp2(); }
if (E7 == HIGH) { Serial.println("Etapa7"); }
if (E8 == HIGH) { Serial.println("Etapa8"); activetemp3(); }
else { desactivetemp3(); }
if (E11 == HIGH) { Serial.println("Etapa11");
9
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ }
if (E11 == HIGH) { Serial.println("Etapa11"); }
if (E12 == HIGH) { Serial.println("Etapa12"); }
if (E15 == HIGH) { Serial.println("Etapa15"); }
if (E13 == HIGH) { Serial.println("Etapa13"); }
if (E14 == HIGH) { Serial.println("Etapa14"); }
if (E16 == HIGH) { Serial.println("Etapa16"); }
if (E18 == HIGH) { Serial.println("Etapa18"); }
if (E19 == HIGH) { Serial.println("Etapa19");
10
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ }
if (E17 == HIGH) { Serial.println("Etapa17"); }
if (E24 == HIGH) { Serial.println("Etapa24"); }
if (E20 == HIGH) { Serial.println("Etapa20"); }
if (E22 == HIGH) { Serial.println("Etapa22"); } //SALIDAS if (E2 == HIGH | E4 == HIGH | E11 == HIGH) { digitalWrite(L1, HIGH); } else { digitalWrite(L1, LOW); } if (E3 == HIGH | E15 == HIGH | E22 == HIGH) { digitalWrite(L2, HIGH); } else { digitalWrite(L2, LOW); } if (E7 == HIGH | E8 == HIGH | E12 == HIGH | E24 == HIGH) { digitalWrite(L3, HIGH); }
11
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ else { digitalWrite(L3, LOW); } if (E9 == HIGH | E13 == HIGH) { digitalWrite(L4, HIGH); } else { digitalWrite(L4, LOW); } } //SUBRUTINA TEMPORIZADOR 1 void activetemp1() { if (E3 == HIGH && activado == 0) { activado = 1;
// Si ha pulsado HIGH y no ha sido activado=0 antes...
// marca activado=1 y guarda el tiempo de inicio.
inicio = millis(); final = inicio + 8000;
// Tiempo final es inicio mas 8 segundos.
} actual = millis();
// Consulta el tiempo actual.
if (activado == 1 && (actual > final) ) { // Si fue activado=1 y el tiempo actual es mayor que el final.... T1 = HIGH; activado = 0;// haz un parpadeo. inicio = 0; final = 0; actual = 0; } else { T1 = LOW; } } void desactivetemp1() { activado = 0;// haz un parpadeo. inicio = 0; final = 0;
12
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ actual = 0;
} void activetemp2() { if (E10 == HIGH && activado2 == 0) { activado2 = 1;
// Si ha pulsado HIGH y no ha sido activado=0 antes...
// marca activado=1 y guarda el tiempo de inicio.
inicio2 = millis(); final2 = inicio2 + 2000;
// Tiempo final es inicio mas 8 segundos.
} actual2 = millis();
// Consulta el tiempo actual.
if (activado2 == 1 && (actual2 > final2) ) { // Si fue activado=1 y el tiempo actual es mayor que el final.... T2 = HIGH; activado2 = 0;// haz un parpadeo. inicio2 = 0; final2 = 0; actual2 = 0; } else { T2 = LOW; } } void desactivetemp2() {
activado2 = 0;// haz un parpadeo. inicio2 = 0; final2 = 0; actual2 = 0;
} void activetemp3() { if (E8 == HIGH && activado3 == 0) { activado3 = 1;
// Si ha pulsado HIGH y no ha sido activado=0 antes...
// marca activado=1 y guarda el tiempo de inicio.
inicio3 = millis();
13
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/ final3 = inicio3 + 3000;
// Tiempo final es inicio mas 8 segundos.
}
actual3 = millis();
// Consulta el tiempo actual.
if (activado3 == 1 && (actual3 > final3) ) { // Si fue activado=1 y el tiempo actual es mayor que el final.... T3 = HIGH; activado3 = 0;// haz un parpadeo. inicio3 = 0; final3 = 0; actual3 = 0;
} else { T3 = LOW; } } void desactivetemp3() { activado3 = 0;// haz un parpadeo. inicio3 = 0; final3 = 0; actual3 = 0;
}
14
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ https://mecatronica-itsa.blogspot.com/
Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕) Te invito al CANAL DE YOUTUBE MEKATRONICA para conocer ma s
http://www.youtube.com/c/JovannyDuque?sub _confirmation=1_ Amigos/as en el BLOGG MEKATRONICA J DUKE podras encontrar cantidad de recursos sobre SOLIDWORKS, HIDRAULICA ELECTROHIDRAULICA , NEUMATICA, ELECTRONEUMATICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre otros
https://mecatronica-itsa.blogspot.com/ 15