Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- int contCargas=0;
- int actuadorCarga = 3;
- int rodilloImpresionCarga = 4;
- int rodilloImpresion = 5;
- int y = 0;
- int i = 1;
- int numero = '2';
- int cantImpre = 0;
- int estado = 0;
- int j2 = 0;
- void setup()
- {
- pinMode(actuadorCarga, 1);
- pinMode(rodilloImpresionCarga, 1);
- pinMode(rodilloImpresion, 1);
- Serial.begin(9600);
- /*digitalWrite(rodilloImpresionCarga, 1); //cuando se coloca en NORMALMENTE CERRADO
- digitalWrite(rodilloImpresion, 1);
- digitalWrite(carga, 1);*/
- }
- void loop()
- {
- if (Serial.available() > 0) {
- i = Serial.read();
- switch (i)
- {
- // if(i=4){
- // break;
- // }
- // i++;
- case '1':
- // estado = 1;
- cantImpre = Serial.parseInt();
- carga();
- imprime();
- Serialflush();
- contCargas=0;
- cantImpre=0;
- //estado = 0;
- //Serial.println("101");
- break;
- case '2':
- contadorCargas();
- break;
- case '3':
- imprime();
- Serialflush();
- contCargas=0;
- break;
- case '4':
- //if (estado == 1){
- // estado=0;
- fin();
- Serialflush();
- //}
- //
- // fin();
- // contCargas=0;
- //exit(0);
- break;
- }
- }
- }
- /*contCargas=contCargas++;
- if (contCargas >1){
- Serial.println("e");}*/
- void contadorCargas(){
- if(contCargas>=2){
- Serial.println("Ya haz cargado tinta");
- contCargas++;
- //Serialflush();
- } else
- if (contCargas<2)
- {carga();
- contCargas++;
- }
- }
- void Serialflush(){
- while(Serial.available()>0){
- char i = Serial.read();
- }
- }
- void metodo(){
- if (Serial.available() > 0)
- {
- int j = Serial.read();
- if (j=='1'){
- Serial.println("Se esta ejecutando Automatico - metodo()");
- }
- if (j=='2' || j=='3'){
- Serial.println("Espera que finalice - metodo()");
- }
- if (j=='4'){
- j2 = '4';
- //fin();
- digitalWrite(rodilloImpresion, 0);
- delay(200);
- Serial.println("Se ha cancelado la impresión - metodo()");
- //Codigo de daniel :v
- //delay(300);
- //exit(0);
- //Codigo de daniel :v
- }
- }
- }
- void metodo2(){
- if (Serial.available() > 0)
- {
- int j = Serial.read();
- if (j=='1'){
- Serial.println("Espera que finalice automatico");
- }
- if (j=='4'){
- Serial.println("Falta poco para finalizar");
- }
- }
- }
- void metodo3(){
- if (Serial.available() > 0)
- {
- int j = Serial.read();
- if (j=='1'){
- Serial.println("Finalizar la impresión manual para ir a Automático");
- }
- if (j=='3'){
- Serial.println("Se esta ejecutando");
- }
- }
- }
- void metodo4(){
- // if (Serial.available() > 0)
- // {
- // int j = Serial.read();
- // if (j=='4'){
- // Serial.println("Se esta ejecutando...del metodo4");
- // }
- // }
- Serial.println("Entro a metodo4");
- delay(1000);
- exit(0);
- }
- void carga() {//carga para automático
- if(i=='1'){
- digitalWrite(rodilloImpresion, 0);
- metodo();
- delay(500);
- metodo();
- delay(500);
- metodo();
- digitalWrite(actuadorCarga, 1);
- metodo();
- delay(500);
- metodo();
- delay(500);
- metodo();
- digitalWrite(rodilloImpresionCarga, 1); //se activa rodillo de carga
- trc();
- metodo();
- digitalWrite(rodilloImpresionCarga, 0); // desactiva rodillo de carga
- metodo();
- delay(500);
- metodo();
- delay(500);
- metodo();
- digitalWrite(actuadorCarga, 0); //descactiva actuadorCarga
- metodo();
- delay(500);
- metodo();
- delay(500);
- metodo();
- }
- else{
- digitalWrite(rodilloImpresion, 0);
- metodo2();
- delay(500);
- metodo2();
- delay(500);
- metodo2();
- digitalWrite(actuadorCarga, 1);
- delay(500);
- metodo2();
- delay(500);
- metodo2();
- digitalWrite(rodilloImpresionCarga, 1);
- trc2();
- metodo2();
- digitalWrite(rodilloImpresionCarga, 0);
- delay(500);
- metodo2();
- delay(500);
- metodo2();
- digitalWrite(actuadorCarga, 0);
- delay(500);
- metodo2();
- Serial.println("Carga completa");
- delay(500);
- metodo2();
- }
- }
- void trc(){// tiempo rodillo carga para caso 1
- //delay(5217); //5217/3=1739
- int trc=1739; //tiempo de 1 giro del rodillo de carga
- int tc=3*trc; //tiempo para completar carga de tinta
- int numfor=tc/500;
- for(int i=0; i<numfor+1; i++){
- metodo();
- delay(500);
- }
- }
- void trc2(){ //tiempo rodillo de carga para caso 2
- //delay(5217); //5217/3=1739
- int trc=1739; //tiempo de rodillo de carga TRC
- int tc=3*trc; //tiempo de carga
- int numfor=tc/500;
- for(int i=0; i<numfor+1; i++){
- metodo2();
- delay(500);
- }
- }
- void imprime() {
- digitalWrite(rodilloImpresion, 1);//activa rodillo de impresión
- metodo();
- delay(500);
- metodo();
- if (i == '1') {
- if (j2 == '4')
- {
- Serial.println("Adios");
- j2 = '0';
- //break;
- }
- else
- {
- tri();
- metodo();
- digitalWrite(rodilloImpresion, 0);
- delay(200);
- metodo();
- delay(200);
- metodo();
- }
- }
- else {
- digitalWrite(rodilloImpresion, 1);
- Serial.println("hola, el punto de ejecución esta en el metodo imprime()");
- metodo3();
- delay(200);
- metodo3();
- delay(200);
- }
- }
- void tri(){ //tiempo rodillo de impresión
- //delay(total); //1447 es igual a una vuelta de impresión
- int t = 1447; //duración de una vuelta en milisegundos del rod de impr
- //Serial.println(y);
- int total = t * cantImpre; //total de tiempo en realizar las vueltas de impresión
- int numtotal = total/500;
- for(int i=0; i<numtotal+1; i++){
- metodo();
- delay(500);
- } //Serial.println(cantImpre);
- }
- /*void imprimeCancelar() {
- if (i == '1') {
- triCancelar();
- metodo();
- digitalWrite(rodilloImpresion, 0);
- delay(200);
- metodo();
- }
- }
- void triCancelar(){ //tiempo rodillo de impresión cancelar
- //delay(total); //1447 es igual a una vuelta de impresión
- int t = 1447; //duración de una vuelta en milisegundos del rod de impr
- cantImpre=0;
- int total = t * cantImpre; //total de tiempo en realizar las vueltas de impresión
- int numtotal = total/500;
- for(int i=0; i<numtotal+1; i++){
- metodo();
- delay(500);
- }
- }*/
- void fin() {
- //Serial.println("Se ha cancelado la impresión");
- //triCancelar();
- digitalWrite(actuadorCarga,0);
- metodo4();
- delay(200);
- digitalWrite(rodilloImpresionCarga,0);
- metodo4();
- delay(200);
- digitalWrite(rodilloImpresion, 0);
- metodo4();
- delay(200);
- metodo4();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement