Projet

Général

Profil

Bug #13704 » Arduino_prog.ino

Anonyme, 24/11/2021 15:30

 
/*----------------Written by :-----------*
*--------------Mathis Morales-----------*
*---------------------------------------*/
#include <Wire.h>
#include <TM1637Display.h>


#define CLK 12
#define DIO 11


// Create rtc and display object:
TM1637Display display = TM1637Display(CLK, DIO);



void setup()
{
/*------------PIN LAYOUT------------*/
pinMode(13,OUTPUT); // LED_BUILTIN activation
pinMode(12,OUTPUT); // CLK on display
pinMode(11,OUTPUT); // SDA on display
pinMode(2,OUTPUT); // ACTIVATE BUZZER
pinMode(3,INPUT); // RUN
pinMode(5,INPUT); // Select SEC
pinMode(6,INPUT); // Select MIN
pinMode(8,INPUT); // -
pinMode(9,INPUT); // +

/*------------SCREEN INIT------------*/
// Set the display brightness (0-7):
display.setBrightness(5);
// Clear the display:
display.clear();
// Begin serial communication at a baud rate of 9600:
Serial.begin(9600);
// Wait for console opening:
delay (2000);
display.showNumberDecEx(8888,0b01000000, false, 4, 0);
delay(1000);
}

int val_min=0;
int val_sec=0;
int val=0;

void loop()
{
display.showNumberDecEx(0000,0b01000000, true, 4, 0);

/*------------------------------------------------------------**
**----------------------MINUTES SETTINGS----------------------**
**------------------------------------------------------------*/
if (digitalRead(6)==1)
{
while ((digitalRead(5)!=1)&&(digitalRead(3)!=1))
{
if (digitalRead(9)==1)
{
val_min++;
if (val_min>59)
{
val_min=59;
}
}
if (digitalRead(8)==1)
{
val_min--;
if (val_min<0)
{
val_min=0;
}
}
display.showNumberDecEx(val_min*100+val_sec,0b01000000, true, 4, 0);
delay(100);
}
}

/*------------------------------------------------------------**
**----------------------SECONDS SETTINGS----------------------**
**------------------------------------------------------------*/
if (digitalRead(5)==1)
{
while ((digitalRead(6)!=1)&&(digitalRead(3)!=1))
{
if (digitalRead(9)==1)
{
val_sec++;
if (val_sec>59)
{
val_sec=0;
if (val_min<59)
{
val_min++;
}
}
}
if (digitalRead(8)==1)
{
val_sec--;
if (val_sec<0)
{
if (val_min!=0)
{
val_min--;
val_sec=59;
}
else
{
val_sec=0;
}
}
}
display.showNumberDecEx(val_min*100+val_sec,0b01000000, false, 4, 0);
delay(100);
}
}

/*-------------------------------------------------------------**
**-------------------------RUN ROUTINE-------------------------**
**-------------------------------------------------------------*/
if (digitalRead(3)==1)
{
display.showNumberDecEx(val_min*100+val_sec,0b01000000, false, 4, 0);
while (((val_min+val_sec)!=0)&&(digitalRead(5)!=1)) //pin 5 allow to stop the countdown sequence
{
if ((val_sec==0)&&(val_min!=0))
{
val_min--;
val_sec=60;
}

val_sec--;

Serial.println(val_min*100+val_sec);
display.showNumberDecEx(val_min*100+val_sec,0b01000000, false, 4, 0);
if ((val_sec==0)&&(val_min==0))
{
digitalWrite(2,HIGH);
delay (500);
digitalWrite(2,LOW);
delay (500);
}
delay(1000);
}
}
}
    (1-1/1)