Mis Primeros pasos con arduino controlador puerta valla.

Aquí puedes plantear todas las cuestiones técnicas que se te ocurran. El Profesor Frank de Copenhague tratara de resolverlas lo antes posible.
Responder
Mensaje
Autor
Vicen
Mensajes: 305
Registrado: Vie Oct 07, 2011 1:01 pm
País: ESPAÑA
Ciudad: Alicante

Mis Primeros pasos con arduino controlador puerta valla.

#1 Mensaje por Vicen »

Bueno, espero que pueda ser de ayuda al mayor numero de personas posible, quitando un error tonto
para poder alargar el tiempo de apertura. Por el resto la confirmación la devuelve OK.

Aquí os dejo el código.

long S=0; //Segundos transcurridos desde puesta en marcha. Pin 2 Pulsador.
long CV=0; //Contador ciclos del programa. Pin 3 Final de carrera apertura.
byte EP=0; //Estado puerta 1 para abierta 0 para cerrada. Pin 4 Final de carrera cierre.
long TIA=0; //Tiempo inicio apertura. Pin 5 Final de carrera cierre.
byte TRA=90; //Tiempo recorido apertura. Pin 10 Motor apertura.
byte TA=90; //Tiempo puerta abierta. Pin 11 Cerradura.
long TIC=0; //Tiempo inicio de cierre. Pin 12 Motor cierre.
byte TRC=90; //Tiempo recorrido cierre. Pin 13 Señal aviso marcha.
byte TRCC=3; //Tiempo recorrido cierre para el cerrojo.
byte TC=5; //Tiempo cerrojo.
byte TSA=10; //Tiempo señal de aviso puesta en marcha.
int TVC=900; //Tiempo verificacion cierre.
byte TPVC=0; //Tiempo proxima verificacion cierre.
int SP=0; //Segudos pulsador.
int TIPA=0; //Tiempo incremeto puerta abierta.

void setup()
{
for(byte i=1;i<6;i++){pinMode(i,INPUT);}
for(byte i=14;i>9;i--){pinMode(i,OUTPUT);}
}

void loop() {

//RELOJ CONTADOR DE SEGUNDOS
CV++;
if(CV>=160000){S++;CV=0;}

// TIEMPO INCREMENTO PUERTA ABIERTA
SP=-10;
//TIPA=SP*900; // Por algún motivo que desconosco cuando activo esta orden genera un error.


//SECUENCIA APERTURA PUERTA
if(digitalRead(2)==1&&EP==0){EP=1;TIA=S;TIC=2140000000;digitalWrite(13,HIGH);digitalWrite(10,LOW);digitalWrite(12,LOW);}
if(S=TIA+TSA){digitalWrite(10,LOW);digitalWrite(11,HIGH);digitalWrite(12,HIGH);}
if(S=TIA+TSA+TRCC){digitalWrite(12,LOW);digitalWrite(10,HIGH);}
if(S=TIA+TSA+TC){digitalWrite(11,LOW);}
if(S=TIA+TSA+TRCC+TRA){digitalWrite(10,LOW);digitalWrite(13,LOW);}
if(S=TIA+TSA+TRCC+TRA+TA+TIPA){digitalWrite(13,HIGH);}
if(S=TIA+TSA+TRCC+TRA+TA+TIPA+TSA){digitalWrite(10,LOW);digitalWrite(12,HIGH);}
if(S=TIA+TSA+TRCC+TRA+TA+TIPA+TSA+TRC){digitalWrite(10,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);SPP=0;}

//CONTROL PULSADOR PULSADO
while(digitalRead(2)==1){
//RELOJ CONTADOR DE SEGUNDOS
CV++ ;
if(CV>=160.000){S++;CV=0;SP++;}
//CONTROL FINALES DE CARRERA
if(digitalRead(3)==1){digitalWrite(10,LOW);digitalWrite(13,LOW);}
if(digitalRead(4)==1||digitalRead(5)==1){TIC=TRCC+S;if(S==TIC){digitalWrite(12,LOW);EP=0;}}
//CONTROL PUERTA CERRADA
if(digitalRead(4)==0 && digitalRead(5)==0 && EP==0 && S==TPVC ){TPVC=S+TVC;digitalWrite(12,HIGH);}
}

//SECUENCIA CIERRE PUERTA
if(digitalRead(2)==1&&EP==1){EP==0;TIC=S;TIA=2140000000;digitalWrite(13,HIGH);digitalWrite(10,LOW);digitalWrite(12,LOW);}
if(S=TIC+TSA){digitalWrite(10,LOW);digitalWrite(12,HIGH);}
if(S=TIC+TSA+TRC){digitalWrite(10,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);}

//CONTROL FINALES DE CARRERA
if(digitalRead(3)==1){digitalWrite(10,LOW);digitalWrite(13,LOW);}
if(digitalRead(4)==1||digitalRead(5)==1){TIC=TRCC+S;if(S==TIC){digitalWrite(12,LOW);EP=0;}}

//CONTROL PUERTA CERRADA
if(digitalRead(4)==0 && digitalRead(5)==0 && EP==0 && S==TPVC ){TPVC=S+TVC;digitalWrite(12,HIGH);}

//CONTROL PULSADOR PULSADO
while(digitalRead(2)==1){
//RELOJ CONTADOR DE SEGUNDOS
CV++;
if(CV>=160.000){S++;CV=0;}
//CONTROL FINALES DE CARRERA
if(digitalRead(3)==1){digitalWrite(10,LOW);}
if(digitalRead(4)==1||digitalRead(5)==1){TIC=TRCC+S;if(S==TIC){digitalWrite(12,LOW);EP=0;}}
//CONTROL PUERTA CERRADA
if(digitalRead(4)==0 && digitalRead(5)==0 && EP==0 && S==TPVC ){TPVC=S+TVC;digitalWrite(12,HIGH);}
}
}

Avatar de Usuario
troglodita
Mensajes: 2332
Registrado: Lun Mar 29, 2010 10:47 am
País: España
Ciudad: Alcorcón Madrid

Re: Mis Primeros pasos con arduino controlador puerta valla.

#2 Mensaje por troglodita »

Vicen escribió://TIPA=SP*900; // Por algún motivo que desconozco cuando activo esta orden genera un error.
Curiosamente, a mí me daba error esta otra línea:
int SP=0; //Segundos pulsador.
error escribió:sketch_jan11a:13: error: expected unqualified-id before 'volatile'
sketch_jan11a:13: error: expected `)' before 'volatile'
sketch_jan11a:13: error: expected `)' before 'volatile'
Parece ser que ese tipo de error lo da cuando usamos como nombre de variable una palabra reservada. Al cambiarle el nombre a la variable ha desaparecido el problema.
Qué bien y qué pronto, le dijo la tonta al tonto.

Vicen
Mensajes: 305
Registrado: Vie Oct 07, 2011 1:01 pm
País: ESPAÑA
Ciudad: Alicante

Re: Mis Primeros pasos con arduino controlador puerta valla.

#3 Mensaje por Vicen »

Gracias Troglodita, Pero esa fue la primera causa que contemple y ni si quiera anulando esa variable y creando nuevas funcionaba.Pero si a ti te funciona. sera algo interno de mi ordenador lo de la variable SP fue un cambio de ultima hora viendo que podía abreviar un poquito mas en su origen era SPP.

Y te deseo que seas un mal negocio para los médicos y los señores de la PARCA.

Avatar de Usuario
troglodita
Mensajes: 2332
Registrado: Lun Mar 29, 2010 10:47 am
País: España
Ciudad: Alcorcón Madrid

Re: Mis Primeros pasos con arduino controlador puerta valla.

#4 Mensaje por troglodita »

Vicen escribió:sera algo interno de mi ordenador
En un foro a alguien le pasaba lo mismo y era por usar una palabra reservada, pero curiosamente tenía dos placas Arduino de distintos modelos; dependiendo de cuál de las dos tuviera seleccionadas en la configuración le daba error o no. :?:
Qué bien y qué pronto, le dijo la tonta al tonto.

Vicen
Mensajes: 305
Registrado: Vie Oct 07, 2011 1:01 pm
País: ESPAÑA
Ciudad: Alicante

Re: Mis Primeros pasos con arduino controlador puerta valla.

#5 Mensaje por Vicen »

Error subsanado, he hecho la comprobación en otro ordenador y da ok en todas las comprobaciones. Ahora estoy en el accionamiento a distancia mediante wifi, he encontrado un programa que lo hace y estoy en la adaptación de los dos, lo que me esta costando es encontrar información sobre la librería WIFI para poder interpretar las ordenes del mismo.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados