//Gestion des entrées//////////////////
const int btrouge = A1; //Broche du bouton rouge
const int btvert = A0; //Broche du bouton vert
const int btbleu = A2; //Broche du bouton bleu
const int btjaune = A3; //Broche du bouton jaune
#include <Adafruit_NeoPixel.h>
#define NUM_LEDS 22
#define LED_PIN 10
// Initialisation de l'anneau de LED
Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
//Gestion des sorties//////////////////
const int bipper = 12; //Broche du bipper
const int ledrouge = 11; //Broche Led rouge
///////////////////////////////////////
//Gestion Keypad///////////////////////
#include <Keypad.h>
const int ROW_NUM = 4; //four rows
const int COLUMN_NUM = 4; //four columns
char keys[ROW_NUM][COLUMN_NUM] = {
{'1','2','3', 'H'},
{'4','5','6', 'B'},
{'7','8','9', 'G'},
{'*','0','#', 'D'}
};
byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );
///////////////////////////////////////
//Gestion LCD /////////////////////////
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
byte tiretdroite[8] = {B00001,B00001,B00001,B00001,B00001,B00001,B00001,B00001};
byte tiretgauche[8] = {B10000,B10000,B10000,B10000,B10000,B10000,B10000,B10000};
byte barrepleinechargement[8] = {B11111,B00000,B11111,B11111,B11111,B11111,B00000,B11111};
byte barrevidechargement[8] = {B11111,B00000,B00000,B00000,B00000,B00000,B00000,B11111};
byte fleche[] = {B00000,B00100,B00010,B11111,B00010,B00100,B00000,B00000};
///////////////////////////////////////
//Variables programmes ////////////////
//Variable gestion entrées
boolean EtatboutonVert;
boolean EtatboutonRouge;
boolean EtatboutonBleu;
boolean EtatboutonJaune;
//
int NavModejeu = 1; //Navigation mode jeu
int Nbmodejeu = 3; //Nombre de jeux programmer
int Modedejeu = 0; //Stock le N° du jeu selectionner
int Animation[4] = {4,0,14,0};
unsigned long TimerBip[5] = {0, 0, 0, 0, 0};
//Variable gestion du clavier
char key;
//Variable gestion du temps
unsigned long currentTime;
//Variable Bt reset
unsigned long Timereset = 0;
int ImpulsBtReset = 0; //Stock le nombre impulsion sur bouton reset
//Variable Mode Domination
int NavModeDomination = 0; //Navigation dans mode Domination
int TpsjeuDomination[7] = {0, 0, 0, 0, 0, 0, 0}; //Stock la valeur des temps(H,H,M,M,S,S,M)
unsigned long Timersecpartie = 0;
boolean Btactif[4] = {0, 0, 0, 0};
//
int GestionTemps[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned long Tpsscrutation;
unsigned long Clignotementsaisie;
///////////////////////////////////////
void setup() {
Serial.begin(9600);
// Initialisation de l'écran LCD
lcd.init();
lcd.backlight();
// Création des caractères personnalisés
lcd.createChar(2, tiretdroite);
lcd.createChar(3, tiretgauche);
lcd.createChar(4, barrepleinechargement);
lcd.createChar(5, barrevidechargement);
lcd.createChar(6, fleche);
// Initialisation des broches
pinMode(btrouge, INPUT_PULLUP);
pinMode(btvert, INPUT_PULLUP);
pinMode(btbleu, INPUT_PULLUP);
pinMode(btjaune, INPUT_PULLUP);
pinMode(bipper, OUTPUT);
pinMode(ledrouge, OUTPUT);
// Affichage de l'introduction et de la barre de chargement
intro();
chargement();
// Effacement de l'écran LCD après l'initialisation
lcd.clear();
// Initialisation de l'anneau de LED
strip.begin();
strip.show(); // Éteindre toutes les LED au début
}
void loop(){
currentTime = millis();
int TpsScrutation = currentTime - Tpsscrutation;
Serial.print("Tps scrutation ");
Serial.print(TpsScrutation);
Serial.println(" ms");
Tpsscrutation = millis();
key = "99";
key = keypad.getKey();
btreset();
if(Modedejeu == 0){
selectmodejeu();
}
else if(Modedejeu == 1){
Domination();
}
else if(Modedejeu == 2){
Domination2();
}
else if(Modedejeu == 3){
Domination3();
}
else{
Modedejeu = 0;
NavModejeu = 1;
}
}
void selectmodejeu(){
//SELECTION DU MODE DE JEU ////////////
if (key == 'B' && Modedejeu == 0){
if(NavModejeu == Nbmodejeu){
NavModejeu = 1;
}
else{
NavModejeu++;
}
}
else if (key == 'H' && Modedejeu == 0){
if(NavModejeu == 1){
NavModejeu = Nbmodejeu;
}
else{
NavModejeu--;
}
}
else if (key == '#' && Modedejeu == 0){
Modedejeu = NavModejeu;
NavModejeu = 0;
key == ' ';
}
switch (NavModejeu) {
case 0:
break;
case 1:
lcd.setCursor(0, 0);
lcd.print("SELECTION DU JEUX : ");
lcd.setCursor(2, 1);
lcd.print("4 EQUIPES");
lcd.setCursor(2, 2);
lcd.print("3 EQUIPES");
lcd.setCursor(2, 3);
lcd.print("2 EQUIPES");
lcd.setCursor(0, 1);
lcd.write(byte(6));
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print(" ");
break;
case 2:
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.write(byte(6));
lcd.setCursor(0, 3);
lcd.print(" ");
break;
case 3:
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.write(byte(6));
break;
default:
break;
}
///////////////////////////////////////
}
int saisieclavier(int Saisie){
//GESTION SAISIE CLAVIER //////////////
if (key == '1'){
Saisie = 1;
}
else if(key == '2'){
Saisie = 2;
}
else if(key == '3'){
Saisie = 3;
}
else if(key == '4'){
Saisie = 4;
}
else if(key == '5'){
Saisie = 5;
}
else if(key == '6'){
Saisie = 6;
}
else if(key == '7'){
Saisie = 7;
}
else if(key == '8'){
Saisie = 8;
}
else if(key == '9'){
Saisie = 9;
}
else if(key == '0'){
Saisie = 0;
}
return(Saisie);
///////////////////////////////////////
}
int flechehaut(){
//GESTION BOUTON FLECHE HAUT ///////
int Saisie = 0;
if (key == 'H'){
Saisie = 1;
}
else{
Saisie = 0;
}
return Saisie;
///////////////////////////////////////
}
int flechebas(){
//GESTION BOUTON FLECHE BAS ///////
int Saisie = 0;
if (key == 'B'){
Saisie = -1;
}
else{
Saisie = 0;
}
return Saisie;
///////////////////////////////////////
}
int btgauche(){
//GESTION BOUTON FLECHE GAUCHE ///////
int Saisie = 0;
if (key == 'G'){
Saisie = -1;
}
else{
Saisie = 0;
}
return Saisie;
///////////////////////////////////////
}
int btdroite(){
//GESTION BOUTON FLECHE DROITE ///////
int Saisie = 0;
if (key == 'D'){
Saisie = 1;
}
else{
Saisie = 0;
}
return Saisie;
///////////////////////////////////////
}
int btvalider(){
//GESTION BOUTON VALIDER /////////////
int Saisie = 0;
if (key == '#'){
Saisie = 1;
}
else{
Saisie = 0;
}
return Saisie;
///////////////////////////////////////
}
void btreset(){
//GESTION BOUTON RESET ////////////////
if (key == '*' && Timereset == 0){
Timereset = millis();
ImpulsBtReset++;
}
else if (key == '*' && ImpulsBtReset == 3 ){
reset();
}
else if (key == '*' && Timereset > 0 && currentTime < (Timereset+2000)){
ImpulsBtReset++;
}
else if (Timereset > 0 && currentTime > (Timereset+2000)){
ImpulsBtReset = 0;
Timereset = 0;
}
///////////////////////////////////////
}
void reset(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" - Bombe Reset. - ");
delay(2000);
digitalWrite(bipper , HIGH);
delay(50);
digitalWrite(bipper , LOW);
delay(50);
digitalWrite(bipper , HIGH);
delay(50);
digitalWrite(bipper , LOW);
digitalWrite(ledrouge , LOW);
ImpulsBtReset = 0;
Timereset = 0;
Timersecpartie = 0;
//Variables à remettre à 0 pour le reset
NavModejeu = 1;
Modedejeu = 0;
//Variable Mode Domination à remettre à 0 pour le reset
NavModeDomination = 0;
for (int i = 0; i <= 5; i++) {
GestionTemps[i] = 0;
}
for (int i = 0; i <= 4; i++) {
TimerBip[i] = 0;
}
Animation[0] = 4;
Animation[1] = 0;
Animation[2] = 14;
Animation[3] = 0;
Btactif[0] = 0;
Btactif[1] = 0;
Clignotementsaisie = 0;
}
void intro(){
//INTRO BOMB SIMULATOR ////////////////
lcd.setCursor(0, 0);
lcd.print("TACTICAL SMART TOOLS");
lcd.setCursor(0, 2);
lcd.print("Module de Domination");
lcd.setCursor(0, 3);
lcd.print("--------SIA---------");
delay(500);
///////////////////////////////////////
}
void chargement() {
for (int i = 0; i < 20; i++) { // 20 colonnes pour un écran de 20x4
lcd.setCursor(i, 1);
lcd.write(byte(4)); // Caractère barre pleine
delay(100);
}
// Attente avant de réinitialiser l'écran
delay(200);
for (int i = 0; i < 20; i++) { // 20 colonnes pour un écran de 20x4
lcd.setCursor(i, 1);
lcd.write(byte(5)); // Caractère vide
delay(100);
}
}
void Domination(){
//GESTION JEU DOMINATION //////////////
switch (NavModeDomination) {
case 0:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 1:
chargement();
NavModeDomination++;
break;
case 2:
lcd.setCursor(0, 1);
lcd.print(" Temps de jeu : ");
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(10, 2);
lcd.print(":");
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
break;
case 3:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(8, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[2] = saisieclavier(TpsjeuDomination[2]);
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 4:
//Saisie MM
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(9, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[3] = saisieclavier(TpsjeuDomination[3]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 5:
//Saisie S
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(11, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[4] = saisieclavier(TpsjeuDomination[4]);
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 6:
//Saisie SS
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(12, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[5] = saisieclavier(TpsjeuDomination[5]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 7:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 8:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
NavModeDomination++;
break;
case 9:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(5, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[6] = saisieclavier(TpsjeuDomination[6]);
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
NavModeDomination++;
}
if(TpsjeuDomination[6] <=1){
lcd.setCursor(6, 2);
lcd.print(" minute ");
}
else{
lcd.setCursor(6, 2);
lcd.print(" minutes");
}
NavModeDomination = NavModeDomination + btdroite() + btvalider();
break;
case 10:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 11:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 12:
lcd.setCursor(0, 1);
lcd.print("Tps jeu : ");
lcd.setCursor(12, 1);
lcd.print(TpsjeuDomination[0]);
lcd.setCursor(13, 1);
lcd.print(TpsjeuDomination[1]);
lcd.setCursor(14, 1);
lcd.print(":");
lcd.setCursor(15, 1);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 1);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 1);
lcd.print(":");
lcd.setCursor(18, 1);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 1);
lcd.print(TpsjeuDomination[5]);
lcd.setCursor(0, 2);
lcd.print("Debut jeu : ");
lcd.setCursor(14, 2);
lcd.print(TpsjeuDomination[6]);
lcd.setCursor(15, 2);
lcd.print(" min");
lcd.setCursor(0, 3);
lcd.print("Press # pour lancer");
NavModeDomination = NavModeDomination + btvalider();
break;
case 13:
lcd.clear();
GestionTemps[0] = TpsjeuDomination[6];
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
lcd.setCursor(6, 2);
lcd.print("00");
lcd.setCursor(8, 2);
lcd.print(":0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(11, 2);
lcd.print(":");
lcd.setCursor(12, 2);
lcd.print("00");
NavModeDomination++;
break;
case 14:
if(Timersecpartie == 0){
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(GestionTemps[1] > 0){
GestionTemps[1]--;
if(GestionTemps[1] >= 10){
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(12, 2);
lcd.print("0");
lcd.setCursor(13, 2);
lcd.print(GestionTemps[1]);
}
}
else if(GestionTemps[1] == 0 && GestionTemps[0] > 0){
GestionTemps[1] = 59;
GestionTemps[0]--;
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
NavModeDomination++;
}
Timersecpartie = currentTime;
}
bipper1();
break;
case 15:
for (int i = 0; i <= 5; i++) {
GestionTemps[i] = 0;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ROUGE:");
lcd.setCursor(0, 1);
lcd.print("Verte:");
lcd.setCursor(6, 0);
lcd.print("00:00");
lcd.setCursor(0, 2);
lcd.print("Bleu:");
lcd.setCursor(6, 1);
lcd.print("00:00");
lcd.setCursor(0, 3);
lcd.print("Jaune:");
lcd.setCursor(6, 2);
lcd.print("00:00");
lcd.setCursor(6, 3);
lcd.print("00:00");
lcd.setCursor(12, 1);
lcd.print("Objectif");
lcd.setCursor(15, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 2);
lcd.print(":");
lcd.setCursor(18, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 2);
lcd.print(TpsjeuDomination[5]);
digitalWrite(ledrouge , HIGH);
NavModeDomination++;
break;
case 16:
bipper3();
EtatboutonVert = digitalRead(btvert);
EtatboutonRouge = digitalRead(btrouge);
EtatboutonBleu = digitalRead(btbleu);
EtatboutonJaune = digitalRead(btjaune);
{
if(Btactif[0] == 1){
bipper1();
allumerLEDs(0, 8, 255, 0, 0); // Rouge
}
else if (Btactif[1] == 1){
bipper2();
allumerLEDs(0, 8, 0, 255, 0); // Vert ;
}
else if (Btactif[2] == 1){
bipper2();
allumerLEDs(0, 8, 0, 0, 255); // Bleu
}
else if (Btactif[3] == 1){
bipper2();
allumerLEDs(0, 8, 255, 255, 0); // Jaune
}
}
if (EtatboutonRouge == 0){
Btactif[0] = 1;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonVert == 0){
Btactif[0] = 0;
Btactif[1] = 1;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonBleu == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 1;
Btactif[3] = 0;
}
else if(EtatboutonJaune == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 1;
}
if(Timersecpartie == 0){
currentTime = millis();
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(Btactif[0] == 1){
GestionTemps[2]++;
if(GestionTemps[2] >= 10){
lcd.setCursor(9, 0);
lcd.print(GestionTemps[2]);
}
else{
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
}
else if(Btactif[1] == 1){
GestionTemps[5]++;
if(GestionTemps[5] >= 10){
lcd.setCursor(9, 1);
lcd.print(GestionTemps[5]);
}
else{
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
}
else if(Btactif[2] == 1){
GestionTemps[8]++;
if(GestionTemps[8] >= 10){
lcd.setCursor(9, 2);
lcd.print(GestionTemps[8]);
}
else{
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
}
else if(Btactif[3] == 1){
GestionTemps[11]++;
if(GestionTemps[11] >= 10){
lcd.setCursor(9, 3);
lcd.print(GestionTemps[11]);
}
else{
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
}
Timersecpartie = currentTime;
}
if(GestionTemps[5] > 59){
GestionTemps[4]++;
GestionTemps[5] = 0;
if(GestionTemps[4] >= 10){
lcd.setCursor(6, 1);
lcd.print(GestionTemps[4]);
}
else{
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
if(GestionTemps[4] > 59){
GestionTemps[3]++;
GestionTemps[4] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(12, 1);
lcd.print(GestionTemps[3]);
}
else{
lcd.setCursor(12, 1);
lcd.print("0");
lcd.setCursor(13, 1);
lcd.print(GestionTemps[3]);
}
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
if(GestionTemps[2] > 59){
GestionTemps[1]++;
GestionTemps[2] = 0;
if(GestionTemps[1] >= 10){
lcd.setCursor(6, 0);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
if(GestionTemps[1] > 59){
GestionTemps[0]++;
GestionTemps[1] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(0, 0);
lcd.print(GestionTemps[0]);
}
else{
lcd.setCursor(0, 0);
lcd.print("0");
lcd.setCursor(1, 0);
lcd.print(GestionTemps[0]);
}
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
if(GestionTemps[8] > 59){
GestionTemps[7]++;
GestionTemps[8] = 0;
if(GestionTemps[7] >= 10){
lcd.setCursor(6, 2);
lcd.print(GestionTemps[7]);
}
else{
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
if(GestionTemps[7] > 59){
GestionTemps[6]++;
GestionTemps[7] = 0;
if(GestionTemps[6] >= 10){
lcd.setCursor(0, 2);
lcd.print(GestionTemps[6]);
}
else{
lcd.setCursor(0, 2);
lcd.print("0");
lcd.setCursor(1, 2);
lcd.print(GestionTemps[6]);
}
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
if(GestionTemps[11] > 59){
GestionTemps[10]++;
GestionTemps[11] = 0;
if(GestionTemps[10] >= 10){
lcd.setCursor(6, 3);
lcd.print(GestionTemps[10]);
}
else{
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
if(GestionTemps[10] > 59){
GestionTemps[9]++;
GestionTemps[10] = 0;
if(GestionTemps[9] >= 10){
lcd.setCursor(0, 3);
lcd.print(GestionTemps[9]);
}
else{
lcd.setCursor(0, 3);
lcd.print("0");
lcd.setCursor(1, 3);
lcd.print(GestionTemps[9]);
}
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
// Pour le bouton Vert
if (GestionTemps[0] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[1] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[2] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 17;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Bleu
if (GestionTemps[3] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[4] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[5] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 18;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Jaune
if (GestionTemps[6] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[7] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[8] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 19;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Rouge
if (GestionTemps[9] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[10] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[11] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 20;
TimerBip[2] = currentTime;
lcd.clear();
}
break;
case 17:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Rouge WIN ");
animation1();
bipper3();
break;
case 18:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Vert WIN ");
animation1();
bipper3();
break;
case 19:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" bleu win WIN ");
animation1();
bipper3();
break;
case 20:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Jaune win WIN ");
animation1();
bipper3();
break;
default:
break;
}
}
void Domination2(){
//GESTION JEU DOMINATION //////////////
switch (NavModeDomination) {
case 0:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 1:
chargement();
NavModeDomination++;
break;
case 2:
lcd.setCursor(0, 1);
lcd.print(" Temps de jeu : ");
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(10, 2);
lcd.print(":");
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
break;
case 3:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(8, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[2] = saisieclavier(TpsjeuDomination[2]);
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 4:
//Saisie MM
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(9, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[3] = saisieclavier(TpsjeuDomination[3]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 5:
//Saisie S
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(11, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[4] = saisieclavier(TpsjeuDomination[4]);
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 6:
//Saisie SS
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(12, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[5] = saisieclavier(TpsjeuDomination[5]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 7:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 8:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
NavModeDomination++;
break;
case 9:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(5, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[6] = saisieclavier(TpsjeuDomination[6]);
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
NavModeDomination++;
}
if(TpsjeuDomination[6] <=1){
lcd.setCursor(6, 2);
lcd.print(" minute ");
}
else{
lcd.setCursor(6, 2);
lcd.print(" minutes");
}
NavModeDomination = NavModeDomination + btdroite() + btvalider();
break;
case 10:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 11:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 12:
lcd.setCursor(0, 1);
lcd.print("Tps jeu : ");
lcd.setCursor(12, 1);
lcd.print(TpsjeuDomination[0]);
lcd.setCursor(13, 1);
lcd.print(TpsjeuDomination[1]);
lcd.setCursor(14, 1);
lcd.print(":");
lcd.setCursor(15, 1);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 1);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 1);
lcd.print(":");
lcd.setCursor(18, 1);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 1);
lcd.print(TpsjeuDomination[5]);
lcd.setCursor(0, 2);
lcd.print("Debut jeu : ");
lcd.setCursor(14, 2);
lcd.print(TpsjeuDomination[6]);
lcd.setCursor(15, 2);
lcd.print(" min");
lcd.setCursor(0, 3);
lcd.print("Press # pour lancer");
NavModeDomination = NavModeDomination + btvalider();
break;
case 13:
lcd.clear();
GestionTemps[0] = TpsjeuDomination[6];
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
lcd.setCursor(6, 2);
lcd.print("00");
lcd.setCursor(8, 2);
lcd.print(":0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(11, 2);
lcd.print(":");
lcd.setCursor(12, 2);
lcd.print("00");
NavModeDomination++;
break;
case 14:
if(Timersecpartie == 0){
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(GestionTemps[1] > 0){
GestionTemps[1]--;
if(GestionTemps[1] >= 10){
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(12, 2);
lcd.print("0");
lcd.setCursor(13, 2);
lcd.print(GestionTemps[1]);
}
}
else if(GestionTemps[1] == 0 && GestionTemps[0] > 0){
GestionTemps[1] = 59;
GestionTemps[0]--;
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
NavModeDomination++;
}
Timersecpartie = currentTime;
}
bipper1();
break;
case 15:
for (int i = 0; i <= 5; i++) {
GestionTemps[i] = 0;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Rouge:");
lcd.setCursor(0, 1);
lcd.print("Verte");
lcd.setCursor(6, 0);
lcd.print("00:00");
lcd.setCursor(0, 2);
lcd.print("Bleu:");
lcd.setCursor(6, 1);
lcd.print("00:00");
lcd.setCursor(0, 3);
lcd.print("Jaune");
lcd.setCursor(6, 2);
lcd.print("00:00");
lcd.setCursor(6, 3);
lcd.print("00:00");
lcd.setCursor(12, 1);
lcd.print("Objectif");
lcd.setCursor(15, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 2);
lcd.print(":");
lcd.setCursor(18, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 2);
lcd.print(TpsjeuDomination[5]);
digitalWrite(ledrouge , HIGH);
NavModeDomination++;
break;
case 16:
bipper3();
EtatboutonVert = digitalRead(btvert);
EtatboutonRouge = digitalRead(btrouge);
EtatboutonBleu = digitalRead(btbleu);
EtatboutonJaune = digitalRead(btjaune);
{
if(Btactif[0] == 1){
bipper1();
}
else if (Btactif[1] == 1){
bipper2();
}
else if (Btactif[2] == 1){
bipper2();
}
else if (Btactif[3] == 1){
bipper2();
}
}
if (EtatboutonRouge == 0){
Btactif[0] = 1;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonVert == 0){
Btactif[0] = 0;
Btactif[1] = 1;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonBleu == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 1;
Btactif[3] = 0;
}
else if(EtatboutonJaune == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 1;
}
if(Timersecpartie == 0){
currentTime = millis();
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(Btactif[0] == 1){
GestionTemps[2]++;
if(GestionTemps[2] >= 10){
lcd.setCursor(9, 0);
lcd.print(GestionTemps[2]);
}
else{
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
}
else if(Btactif[1] == 1){
GestionTemps[5]++;
if(GestionTemps[5] >= 10){
lcd.setCursor(9, 1);
lcd.print(GestionTemps[5]);
}
else{
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
}
else if(Btactif[2] == 1){
GestionTemps[8]++;
if(GestionTemps[8] >= 10){
lcd.setCursor(9, 2);
lcd.print(GestionTemps[8]);
}
else{
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
}
else if(Btactif[3] == 1){
GestionTemps[11]++;
if(GestionTemps[11] >= 10){
lcd.setCursor(9, 3);
lcd.print(GestionTemps[11]);
}
else{
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
}
Timersecpartie = currentTime;
}
if(GestionTemps[5] > 59){
GestionTemps[4]++;
GestionTemps[5] = 0;
if(GestionTemps[4] >= 10){
lcd.setCursor(6, 1);
lcd.print(GestionTemps[4]);
}
else{
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
if(GestionTemps[4] > 59){
GestionTemps[3]++;
GestionTemps[4] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(12, 1);
lcd.print(GestionTemps[3]);
}
else{
lcd.setCursor(12, 1);
lcd.print("0");
lcd.setCursor(13, 1);
lcd.print(GestionTemps[3]);
}
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
if(GestionTemps[2] > 59){
GestionTemps[1]++;
GestionTemps[2] = 0;
if(GestionTemps[1] >= 10){
lcd.setCursor(6, 0);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
if(GestionTemps[1] > 59){
GestionTemps[0]++;
GestionTemps[1] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(0, 0);
lcd.print(GestionTemps[0]);
}
else{
lcd.setCursor(0, 0);
lcd.print("0");
lcd.setCursor(1, 0);
lcd.print(GestionTemps[0]);
}
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
if(GestionTemps[8] > 59){
GestionTemps[7]++;
GestionTemps[8] = 0;
if(GestionTemps[7] >= 10){
lcd.setCursor(6, 2);
lcd.print(GestionTemps[7]);
}
else{
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
if(GestionTemps[7] > 59){
GestionTemps[6]++;
GestionTemps[7] = 0;
if(GestionTemps[6] >= 10){
lcd.setCursor(0, 2);
lcd.print(GestionTemps[6]);
}
else{
lcd.setCursor(0, 2);
lcd.print("0");
lcd.setCursor(1, 2);
lcd.print(GestionTemps[6]);
}
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
if(GestionTemps[11] > 59){
GestionTemps[10]++;
GestionTemps[11] = 0;
if(GestionTemps[10] >= 10){
lcd.setCursor(6, 3);
lcd.print(GestionTemps[10]);
}
else{
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
if(GestionTemps[10] > 59){
GestionTemps[9]++;
GestionTemps[10] = 0;
if(GestionTemps[9] >= 10){
lcd.setCursor(0, 3);
lcd.print(GestionTemps[9]);
}
else{
lcd.setCursor(0, 3);
lcd.print("0");
lcd.setCursor(1, 3);
lcd.print(GestionTemps[9]);
}
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
// Pour le bouton Vert
if (GestionTemps[0] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[1] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[2] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 17;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Bleu
if (GestionTemps[3] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[4] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[5] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 18;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Jaune
if (GestionTemps[6] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[7] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[8] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 19;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Rouge
if (GestionTemps[9] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[10] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[11] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 20;
TimerBip[2] = currentTime;
lcd.clear();
}
break;
case 17:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Rouge WIN ");
animation1();
bipper3();
break;
case 18:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Vert WIN ");
animation1();
bipper3();
break;
case 19:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" bleu win WIN ");
animation1();
bipper3();
break;
case 20:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Jaune win WIN ");
animation1();
bipper3();
break;
default:
break;
}
}
void Domination3(){
//GESTION JEU DOMINATION //////////////
switch (NavModeDomination) {
case 0:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 1:
chargement();
NavModeDomination++;
break;
case 2:
lcd.setCursor(0, 1);
lcd.print(" Temps de jeu : ");
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(10, 2);
lcd.print(":");
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
break;
case 3:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(8, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[2] = saisieclavier(TpsjeuDomination[2]);
lcd.setCursor(8, 2);
lcd.print(TpsjeuDomination[2]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 4:
//Saisie MM
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(9, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[3] = saisieclavier(TpsjeuDomination[3]);
lcd.setCursor(9, 2);
lcd.print(TpsjeuDomination[3]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 5:
//Saisie S
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(11, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[4] = saisieclavier(TpsjeuDomination[4]);
lcd.setCursor(11, 2);
lcd.print(TpsjeuDomination[4]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 6:
//Saisie SS
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(12, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9'){
TpsjeuDomination[5] = saisieclavier(TpsjeuDomination[5]);
lcd.setCursor(12, 2);
lcd.print(TpsjeuDomination[5]);
NavModeDomination++;
}
NavModeDomination = NavModeDomination + btgauche() + btdroite() + btvalider();
break;
case 7:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 8:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
NavModeDomination++;
break;
case 9:
//Saisie M
if ((currentTime < (Clignotementsaisie+500)) && btdroite() == 0 && btgauche() == 0 && btvalider() == 0){
lcd.setCursor(5, 2);
lcd.print(" ");
}
else if ((currentTime >= (Clignotementsaisie+500) && currentTime < (Clignotementsaisie+1600)) || btdroite() == 1 || btgauche() == -1 || btvalider() == 1){
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
}
else if (currentTime >= (Clignotementsaisie+1600)){
Clignotementsaisie = currentTime;
}
if(key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5'){
TpsjeuDomination[6] = saisieclavier(TpsjeuDomination[6]);
lcd.setCursor(5, 2);
lcd.print(TpsjeuDomination[6]);
NavModeDomination++;
}
if(TpsjeuDomination[6] <=1){
lcd.setCursor(6, 2);
lcd.print(" minute ");
}
else{
lcd.setCursor(6, 2);
lcd.print(" minutes");
}
NavModeDomination = NavModeDomination + btdroite() + btvalider();
break;
case 10:
lcd.setCursor(0, 3);
lcd.print("Press # pour valider");
if(btgauche() == -1){
lcd.setCursor(0, 3);
lcd.print(" ");
}
NavModeDomination = NavModeDomination + btgauche() + btvalider();
break;
case 11:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
NavModeDomination++;
break;
case 12:
lcd.setCursor(0, 1);
lcd.print("Tps jeu : ");
lcd.setCursor(12, 1);
lcd.print(TpsjeuDomination[0]);
lcd.setCursor(13, 1);
lcd.print(TpsjeuDomination[1]);
lcd.setCursor(14, 1);
lcd.print(":");
lcd.setCursor(15, 1);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 1);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 1);
lcd.print(":");
lcd.setCursor(18, 1);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 1);
lcd.print(TpsjeuDomination[5]);
lcd.setCursor(0, 2);
lcd.print("Debut jeu : ");
lcd.setCursor(14, 2);
lcd.print(TpsjeuDomination[6]);
lcd.setCursor(15, 2);
lcd.print(" min");
lcd.setCursor(0, 3);
lcd.print("Press # pour lancer");
NavModeDomination = NavModeDomination + btvalider();
break;
case 13:
lcd.clear();
GestionTemps[0] = TpsjeuDomination[6];
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 1);
lcd.print(" Debut du jeu : ");
lcd.setCursor(6, 2);
lcd.print("00");
lcd.setCursor(8, 2);
lcd.print(":0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(11, 2);
lcd.print(":");
lcd.setCursor(12, 2);
lcd.print("00");
NavModeDomination++;
break;
case 14:
if(Timersecpartie == 0){
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(GestionTemps[1] > 0){
GestionTemps[1]--;
if(GestionTemps[1] >= 10){
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(12, 2);
lcd.print("0");
lcd.setCursor(13, 2);
lcd.print(GestionTemps[1]);
}
}
else if(GestionTemps[1] == 0 && GestionTemps[0] > 0){
GestionTemps[1] = 59;
GestionTemps[0]--;
lcd.setCursor(10, 2);
lcd.print(GestionTemps[0]);
lcd.setCursor(12, 2);
lcd.print(GestionTemps[1]);
}
else{
NavModeDomination++;
}
Timersecpartie = currentTime;
}
bipper1();
break;
case 15:
for (int i = 0; i <= 5; i++) {
GestionTemps[i] = 0;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Rouge:");
lcd.setCursor(0, 1);
lcd.print("Verte");
lcd.setCursor(6, 0);
lcd.print("00:00");
lcd.setCursor(0, 2);
lcd.print("Bleu:");
lcd.setCursor(6, 1);
lcd.print("00:00");
lcd.setCursor(0, 3);
lcd.print("Jaune");
lcd.setCursor(6, 2);
lcd.print("00:00");
lcd.setCursor(6, 3);
lcd.print("00:00");
lcd.setCursor(12, 1);
lcd.print("Objectif");
lcd.setCursor(15, 2);
lcd.print(TpsjeuDomination[2]);
lcd.setCursor(16, 2);
lcd.print(TpsjeuDomination[3]);
lcd.setCursor(17, 2);
lcd.print(":");
lcd.setCursor(18, 2);
lcd.print(TpsjeuDomination[4]);
lcd.setCursor(19, 2);
lcd.print(TpsjeuDomination[5]);
digitalWrite(ledrouge , HIGH);
NavModeDomination++;
break;
case 16:
bipper3();
EtatboutonVert = digitalRead(btvert);
EtatboutonRouge = digitalRead(btrouge);
EtatboutonBleu = digitalRead(btbleu);
EtatboutonJaune = digitalRead(btjaune);
{
if(Btactif[0] == 1){
bipper1();
}
else if (Btactif[1] == 1){
bipper2();
}
else if (Btactif[2] == 1){
bipper2();
}
else if (Btactif[3] == 1){
bipper2();
}
}
if (EtatboutonRouge == 0){
Btactif[0] = 1;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonVert == 0){
Btactif[0] = 0;
Btactif[1] = 1;
Btactif[2] = 0;
Btactif[3] = 0;
}
else if(EtatboutonBleu == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 1;
Btactif[3] = 0;
}
else if(EtatboutonJaune == 0){
Btactif[0] = 0;
Btactif[1] = 0;
Btactif[2] = 0;
Btactif[3] = 1;
}
if(Timersecpartie == 0){
currentTime = millis();
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 1000)){
if(Btactif[0] == 1){
GestionTemps[2]++;
if(GestionTemps[2] >= 10){
lcd.setCursor(9, 0);
lcd.print(GestionTemps[2]);
}
else{
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
}
else if(Btactif[1] == 1){
GestionTemps[5]++;
if(GestionTemps[5] >= 10){
lcd.setCursor(9, 1);
lcd.print(GestionTemps[5]);
}
else{
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
}
else if(Btactif[2] == 1){
GestionTemps[8]++;
if(GestionTemps[8] >= 10){
lcd.setCursor(9, 2);
lcd.print(GestionTemps[8]);
}
else{
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
}
else if(Btactif[3] == 1){
GestionTemps[11]++;
if(GestionTemps[11] >= 10){
lcd.setCursor(9, 3);
lcd.print(GestionTemps[11]);
}
else{
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
}
Timersecpartie = currentTime;
}
if(GestionTemps[5] > 59){
GestionTemps[4]++;
GestionTemps[5] = 0;
if(GestionTemps[4] >= 10){
lcd.setCursor(6, 1);
lcd.print(GestionTemps[4]);
}
else{
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
lcd.setCursor(9, 1);
lcd.print("0");
lcd.setCursor(10, 1);
lcd.print(GestionTemps[5]);
}
if(GestionTemps[4] > 59){
GestionTemps[3]++;
GestionTemps[4] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(12, 1);
lcd.print(GestionTemps[3]);
}
else{
lcd.setCursor(12, 1);
lcd.print("0");
lcd.setCursor(13, 1);
lcd.print(GestionTemps[3]);
}
lcd.setCursor(6, 1);
lcd.print("0");
lcd.setCursor(7, 1);
lcd.print(GestionTemps[4]);
}
if(GestionTemps[2] > 59){
GestionTemps[1]++;
GestionTemps[2] = 0;
if(GestionTemps[1] >= 10){
lcd.setCursor(6, 0);
lcd.print(GestionTemps[1]);
}
else{
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
lcd.setCursor(9, 0);
lcd.print("0");
lcd.setCursor(10, 0);
lcd.print(GestionTemps[2]);
}
if(GestionTemps[1] > 59){
GestionTemps[0]++;
GestionTemps[1] = 0;
if(GestionTemps[0] >= 10){
lcd.setCursor(0, 0);
lcd.print(GestionTemps[0]);
}
else{
lcd.setCursor(0, 0);
lcd.print("0");
lcd.setCursor(1, 0);
lcd.print(GestionTemps[0]);
}
lcd.setCursor(6, 0);
lcd.print("0");
lcd.setCursor(7, 0);
lcd.print(GestionTemps[1]);
}
if(GestionTemps[8] > 59){
GestionTemps[7]++;
GestionTemps[8] = 0;
if(GestionTemps[7] >= 10){
lcd.setCursor(6, 2);
lcd.print(GestionTemps[7]);
}
else{
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
lcd.setCursor(9, 2);
lcd.print("0");
lcd.setCursor(10, 2);
lcd.print(GestionTemps[8]);
}
if(GestionTemps[7] > 59){
GestionTemps[6]++;
GestionTemps[7] = 0;
if(GestionTemps[6] >= 10){
lcd.setCursor(0, 2);
lcd.print(GestionTemps[6]);
}
else{
lcd.setCursor(0, 2);
lcd.print("0");
lcd.setCursor(1, 2);
lcd.print(GestionTemps[6]);
}
lcd.setCursor(6, 2);
lcd.print("0");
lcd.setCursor(7, 2);
lcd.print(GestionTemps[7]);
}
if(GestionTemps[11] > 59){
GestionTemps[10]++;
GestionTemps[11] = 0;
if(GestionTemps[10] >= 10){
lcd.setCursor(6, 3);
lcd.print(GestionTemps[10]);
}
else{
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
lcd.setCursor(9, 3);
lcd.print("0");
lcd.setCursor(10, 3);
lcd.print(GestionTemps[11]);
}
if(GestionTemps[10] > 59){
GestionTemps[9]++;
GestionTemps[10] = 0;
if(GestionTemps[9] >= 10){
lcd.setCursor(0, 3);
lcd.print(GestionTemps[9]);
}
else{
lcd.setCursor(0, 3);
lcd.print("0");
lcd.setCursor(1, 3);
lcd.print(GestionTemps[9]);
}
lcd.setCursor(6, 3);
lcd.print("0");
lcd.setCursor(7, 3);
lcd.print(GestionTemps[10]);
}
// Pour le bouton Vert
if (GestionTemps[0] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[1] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[2] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 17;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Bleu
if (GestionTemps[3] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[4] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[5] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 18;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Jaune
if (GestionTemps[6] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[7] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[8] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 19;
TimerBip[2] = currentTime;
lcd.clear();
}
// Pour le bouton Rouge
if (GestionTemps[9] >= (TpsjeuDomination[0] * 10 + TpsjeuDomination[1]) &&
GestionTemps[10] >= (TpsjeuDomination[2] * 10 + TpsjeuDomination[3]) &&
GestionTemps[11] >= (TpsjeuDomination[4] * 10 + TpsjeuDomination[5])) {
NavModeDomination = 20;
TimerBip[2] = currentTime;
lcd.clear();
}
break;
case 17:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Rouge WIN ");
animation1();
bipper3();
break;
case 18:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Vert WIN ");
animation1();
bipper3();
break;
case 19:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" bleu win WIN ");
animation1();
bipper3();
break;
case 20:
digitalWrite(ledrouge , LOW);
lcd.setCursor(0, 0);
lcd.print(" -- DOMINATION -- ");
lcd.setCursor(0, 2);
lcd.print(" Jaune win WIN ");
animation1();
bipper3();
break;
default:
break;
}
}
void animation1(){
if(Timersecpartie == 0){
Timersecpartie = currentTime;
}
else if (currentTime > (Timersecpartie + 100)){
Timersecpartie = currentTime;
if(Animation[1] == 0 && Animation[0] < 13){
Animation[0]++;
Animation[2]--;
lcd.setCursor(Animation[0], 3);
lcd.print("-");
lcd.setCursor(Animation[2], 1);
lcd.print("-");
}
else if (Animation[1] == 0 && Animation[0] == 13){
Animation[1] = 1;
}
else if (Animation[1] == 1 && Animation[0] > 4){
lcd.setCursor(Animation[0], 3);
lcd.print(" ");
lcd.setCursor(Animation[2], 1);
lcd.print(" ");
Animation[0]--;
Animation[2]++;
}
else if(Animation[1] == 1 && Animation[0] == 4){
lcd.setCursor(Animation[0], 3);
lcd.print(" ");
lcd.setCursor(Animation[2], 1);
lcd.print(" ");
Animation[1] = 0;
}
}
}
void bipper1(){
if(TimerBip[0] == 0){
TimerBip[0] = currentTime;
}
else if (currentTime > (TimerBip[0] + 950) && currentTime < (TimerBip[0] + 1000)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[0] + 1000)){
TimerBip[0] = currentTime;
digitalWrite(bipper, LOW);
}
}
void bipper2(){
if(TimerBip[1] == 0){
TimerBip[1] = currentTime;
}
else if (currentTime > (TimerBip[1] + 750) && currentTime < (TimerBip[1] + 800)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[1] + 850) && currentTime < (TimerBip[1] + 900)){
digitalWrite(bipper, LOW);
}
else if (currentTime > (TimerBip[1] + 950) && currentTime < (TimerBip[1] + 1000)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[1] + 1000)){
TimerBip[1] = currentTime;
digitalWrite(bipper, LOW);
}
}
void bipper3(){
if(TimerBip[2] == 0){
TimerBip[2] = currentTime;
}
else if (currentTime > TimerBip[2] && currentTime < (TimerBip[2] + 2500)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[2] + 2500)){
digitalWrite(bipper, LOW);
}
}
void bipper4(){
if(TimerBip[3] == 0){
TimerBip[3] = currentTime;
}
else if (currentTime > (TimerBip[3]) && currentTime < (TimerBip[3] + 100)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[3] + 200) && currentTime < (TimerBip[3] + 300)){
digitalWrite(bipper, LOW);
}
else if (currentTime > (TimerBip[3] + 300) && currentTime < (TimerBip[3] + 400)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[3] + 400) && currentTime < (TimerBip[3] + 500)){
digitalWrite(bipper, LOW);
}
else if (currentTime > (TimerBip[3] + 500)){
TimerBip[3] = currentTime;
}
}
void bipper5(){
if(TimerBip[4] == 0){
TimerBip[4] = currentTime;
}
else if (currentTime > (TimerBip[4]) && currentTime < (TimerBip[4] + 100)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[4] + 200) && currentTime < (TimerBip[4] + 800)){
digitalWrite(bipper, LOW);
}
else if (currentTime > (TimerBip[4] + 800) && currentTime < (TimerBip[4] + 900)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[4] + 900) && currentTime < (TimerBip[4] + 1500)){
digitalWrite(bipper, LOW);
}
else if (currentTime > (TimerBip[4] + 1500) && currentTime < (TimerBip[4] + 3000)){
digitalWrite(bipper , HIGH);
}
else if (currentTime > (TimerBip[4] + 3000) && currentTime < (TimerBip[4] + 5000)){
digitalWrite(bipper, LOW);
}
}
void allumerLEDs(int debut, int fin, uint8_t r, uint8_t g, uint8_t b) {
for (int i = debut; i < fin; i++) {
strip.setPixelColor(i, r, g, b);
}
strip.show();
}