provisionalmente el tiempo tiene 3 minutos pero son fijos (180 segundos). como podría añadir un pulsador que incremente el tiempo de 5 en 5 minutos hasta 45´' ó 60' para poder elegir la duración.
saludos.
adjunto codigo:
saludos.
adjunto codigo:
code: [select]
#include "timerone.h"
int timeline=180;// tiempo juego 3 minutos provisional
int homescore=0;
int awayscore=0;
bool paused=0;//estado de start/stop
//conectar pins del 2 al 7 pulsadores
//el otro pin de los pulsadores gnd
// funcion de los pulsadores
// 2 reset general
// 3 start/stop
// 4 +1 local
// 5 -1 local
// 6 +1 visitante
// 7 -1 visitante
void setup()
{
int n;
for (n=2;n<8;n++)
pinmode(n,input_pullup);
serial.begin(9600);
timer1.initialize();
timer1.attachinterrupt(updatetimeline);
}
//establecido por la rutina de interrupción para señalar la necesidad de actualizar la pantalla
bool timeupdated=true;
void loop()
{
int n;
bool debounce=false;
// ver como están las entradas
for (n=2;n<8;n++)
if(digitalread(n)==low)
{
debounce=true;
switch(n)
{
case 2://reset
timeline=180;// tiempo 3 minutos provisional
homescore=0;
awayscore=0;
paused=true;
break;
case 3:// start/stop
paused=!paused;
break;
case 4:// +1 local
homescore++;
break;
case 5://-1 local
if(homescore>0)
homescore--;
break;
case 6:// +1 visitante
awayscore++;
break;
case 7:// -1 visitante
if(awayscore>0)
awayscore--;
break;
}
}
//ahora actualizar la pantalla (pero sólo si updatetime ha ejecutado desde la última vez)
if(timeupdated)
updatedisplay();
if(debounce)
delay(400);
}
void updatedisplay()
{
char timestring[6];
sprintf(timestring,"%d:%d",timeline/60,timeline%60);
serial.println(timestring);
char scoreline[20];
sprintf(scoreline,"local %d:%d visitante",homescore,awayscore);
serial.println(scoreline);
timeupdated=false;
}
void updatetimeline()
{
if(!paused)
timeline--;
timeupdated=true;
}
bueno como no veo en uso el pin 8, usaré ese para tu respuesta
[/code]
haz corresponder este case con un switch
code: [select]
case 8: // incremento timeline
timeline += 5*60
break;
[/code]
haz corresponder este case con un switch
Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > [SOLUCIONADO] Como incrementar el tiempo
arduino
Comments
Post a Comment