Új hozzászólás Aktív témák

  • Aryes

    nagyúr

    válasz Scooter86101 #13302 üzenetére

    Ha minden igaz ennek működnie kell. Tesztelni nem tudtam, mert nincs nálam a hardver.

    #include <TM1638.h>
    TM1638 module(9, 8, 7);
    byte display[8];
    char cadena[20];
    int alarma,contador,time1;
    #define MILED 13
    #define PIN_SOUND 12
    //#define RETRASO 597
    #define RETRASO 97
    char fcontador;
    void setup()
    {
    pinMode(MILED, OUTPUT);
    pinMode(PIN_SOUND, OUTPUT);
    digitalWrite(MILED, LOW);
    module.setupDisplay(1,7);
    module.setDisplayToString("L.u.L.u.",0,0);
    delay(1500);

    module.setDisplayToString("--------",0,0);
    display[2]=0;
    alarma=60;
    }
    void loop()
    {
    byte keys;
    int z;

    keys = module.getButtons();

    switch(keys)
    {
    case 1:
    if(fcontador==0)
    {display[0]++; if(display[0]>2) display[0]=0;}
    break;
    case 2:
    if(fcontador==0)
    {display[1]++; if(display[1]>9) display[1]=0;}
    break;
    case 4:
    if(fcontador==0)
    {display[2]++; if(display[2]>5) display[2]=0;}
    break;
    case 8:
    if(fcontador==0)
    {display[3]++; if(display[3]>9) display[3]=0;}
    break;

    case 16:
    fcontador=0;
    contador=alarma;
    digitalWrite(MILED, LOW);
    module.setLEDs(16);
    break;

    case 128:
    time1=RETRASO;
    fcontador=1;
    contador=alarma;
    digitalWrite(MILED, LOW);
    module.setLEDs(128);
    break;

    }
    if(fcontador==0 && keys>0)
    {
    alarma=display[0]*600+display[1]*60+display[2]*10+display[3];
    //sprintf(cadena,"%04d%04d",alarma,contador);
    sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
    module.setDisplayToString(cadena,0,0);
    delay(200);
    }

    time1--;
    // {if(display[2]>5) display[2]=0;}

    if(fcontador==1 && time1<=0)
    {
    module.setLEDs(0);
    time1=RETRASO;
    contador--;

    //sprintf(cadena,"%04d%04d",alarma,contador);
    sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
    module.setDisplayToString(cadena,0,0);

    if(contador<1)
    {
    fcontador=0;
    for(z=0;z<10;z++)
    {
    //sprintf(cadena,"%04d0000",alarma);
    sprintf(cadena, "%01d%01d%01d%01d0000", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);

    module.setDisplayToString(cadena,0,0);
    delay(500);
    //sprintf(cadena,"%04d ",alarma);
    sprintf(cadena, "%01d%01d%01d%01d ", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
    module.setDisplayToString(cadena,0,0);
    delay(500);
    }
    //sprintf(cadena,"%04d----",alarma);
    sprintf(cadena, "%01d%01d%01d%01d----", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
    module.setDisplayToString(cadena,0,0);
    digitalWrite(MILED,HIGH);
    for(z=0;z<300;z++)
    {
    digitalWrite(PIN_SOUND, HIGH);
    delay(10);
    digitalWrite(PIN_SOUND, LOW);
    delay(10);
    }
    }
    }

    delay(1);
    }

Új hozzászólás Aktív témák