[GHOSTBUSTER-BZH] Mon premier Proton Pack

Avatar de l’utilisateur
protongamer
Membre GBF
Membre GBF
Messages : 1718
Inscription : 21 février 2014, 20:56
Localisation : Toulouse 31

Re: Mon premier Proton Pack

Message par protongamer »

Bon j'ai fait les modifications nécessaires, mais je n'ai pas testé, dis moi si ça fonctionne. ;)

Alors sache que la librairie utilisé c'est celle-ci :
https://github.com/DFRobot/DFPlayer-Mini-mp3" target="_blank" target="_blank

Pour les sons, si tu as bien compris, il faut les mettre dans un dossier nommé mp3 qui est dans la microSD. Je t'ai préparé deux trois sons:
https://1drv.ms/u/s!Am3L_puKoAG8gQODunq ... Y?e=B02G1l" target="_blank

Pour le câblage, il faut relier le RX du mp3 au TX de l'arduino avec une résistance de 1k. A brancher une fois le code téléversé, si jamais tu veut retéléverser, débrancher la connectique entre le RX TX.

Code : Tout sélectionner

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

//Programme kit lumière par ProtonGamer V1.1

//Nombre maximum de musiques
#define MAX_TRACKS  1

//Paramètres
static char animcyclotron=4;    //Vous pouvez modifier l'animation du cyclotron [1-2-3-4]
static char ledwanim=2;         //Vous pouvez mofifier l'animation de la led blanche(1-2) ou la désactiver(0), qui sera remplacé par les deux autres leds en mode (1)[0-1-2]
static char ledrbanim=3;        //Vous pouvez modifier l'animation des leds rouge et bleu(1-2-3) ou la désactiver(0), qui sera remplacé par la led blanche en mode(1)[0-1-2-3]
static char bargraphgunanim=1;  //Vous pouvez modifier l'animation du bargraph du wand[1-2-3]
boolean activeov=0;             //Ceci vous permet d'activer la surchauffe du proton pack[0-1]
unsigned char overheat=17;      //Ceci est le réglage de la surchauffe si elle est activé [1-17]
//fin des paramètres

//Sorties pour le Powercell
const char ledp1=A0, ledp2=A1, ledp3=A2, ledp4=A3, ledp5=A4, ledp6=A5, ledp7=A6, ledp8=A7,
ledp9=A8, ledp10=A9, ledp11=A10, ledp12=A11, ledp13=A12, ledp14=A13, ledp15=A14;
//Sorties pour le bargraphe
const char ledb1=28, ledb2=29, ledb3=30, ledb4=31, ledb5=32, ledb6=33, ledb7=34, ledb8=35,
ledb9=36, ledb10=37, ledb11=38, ledb12=39, ledb13=40, ledb14=41, ledb15=42;
//Sorties pour le cyclotron
const char l1=2, l2=3, l3=4, l4=5;
//Sortie du potentiomètre pour le réglage de la vitesse
const char potar_v=A15;
//Sortie de l'activation des lumières
const char sw1=14;
//Activation du SloBlo
const char sw2=15;
//Activation du tir
const char button1=16;
//Rafraichissement du Proton Pack
const char button2=17;
//Sortie des leds du gun
const char ledr=13, ledb=6, ledw=12;
//Voyant du wand
const char ledblinkl=22, ledblinkf=23, ledsloblo=24, ledact1=25, ledact2=26, ledact3=27;

//Ne pas modifier sauf pour les connaisseurs :)
char ledp=0;
char ledbs=0;
boolean decov=0;
char ledba=0;
int val=0;
boolean s1=0;
int brightness=0;
int brightness2=0;
int brightness3=0;
int brightness4=0;
int brightnessledw=0;
int brightnessledr=0;
int brightnessledb=0;
int overheatSequenceDelay = 0;
char blinkledw=0;
char blinkledr=0;
char blinkledb=0;
char lds=0;
int readov=0;
static char ls=1;
int etatcommand=0;
const char overPin = 2;
const char relaisPin = 3;
byte track = 0;
bool alreadyTrack = 0;
byte boot = 0;
byte fire_state = 0;



void setup() {

  Serial.begin (9600);
  mp3_set_serial (Serial);  //set Serial for DFPlayer-mini mp3 module 
  mp3_set_volume (15);
  
  brightness4=255;
pinMode(ledp1,OUTPUT);
pinMode(ledp2,OUTPUT);
pinMode(ledp3,OUTPUT);
pinMode(ledp4,OUTPUT);
pinMode(ledp5,OUTPUT);
pinMode(ledp6,OUTPUT);
pinMode(ledp7,OUTPUT);
pinMode(ledp8,OUTPUT);
pinMode(ledp9,OUTPUT);
pinMode(ledp10,OUTPUT);
pinMode(ledp11,OUTPUT);
pinMode(ledp12,OUTPUT);
pinMode(ledp13,OUTPUT);
pinMode(ledp14,OUTPUT);
pinMode(ledp15,OUTPUT);
pinMode(l1,OUTPUT);
pinMode(l2,OUTPUT);
pinMode(l3,OUTPUT);
pinMode(l4,OUTPUT);
pinMode(ledr,OUTPUT);
pinMode(ledb,OUTPUT);
pinMode(ledw,OUTPUT);
pinMode(sw1,INPUT);
pinMode(sw2,INPUT);
pinMode(ledblinkl,OUTPUT);
pinMode(ledblinkf,OUTPUT);
pinMode(ledsloblo,OUTPUT);
pinMode(ledact1,OUTPUT);
pinMode(ledact2,OUTPUT);
pinMode(ledact3,OUTPUT);
pinMode(ledb1,OUTPUT);
pinMode(ledb2,OUTPUT);
pinMode(ledb3,OUTPUT);
pinMode(ledb4,OUTPUT);
pinMode(ledb5,OUTPUT);
pinMode(ledb6,OUTPUT);
pinMode(ledb7,OUTPUT);
pinMode(ledb8,OUTPUT);
pinMode(ledb9,OUTPUT);
pinMode(ledb10,OUTPUT);
pinMode(ledb11,OUTPUT);
pinMode(ledb12,OUTPUT);
pinMode(ledb13,OUTPUT);
pinMode(ledb14,OUTPUT);
pinMode(ledb15,OUTPUT);
pinMode(button2,INPUT);
pinMode(overPin,OUTPUT);
pinMode(relaisPin,OUTPUT);
if(ledrbanim==3){
  brightnessledb=250;}
  
}

void loop() {


if(boot == 0 && digitalRead(button2) == 0 && alreadyTrack == 1){

mp3_play(8+track);//play soundtrack

track++;

if(track >= MAX_TRACKS){
  track = 0;
}
alreadyTrack = 0;

}

if(boot == 0 && digitalRead(button2) == 1){
  alreadyTrack = 1;
}
  
  if(digitalRead(sw1)==HIGH){
alreadyTrack = 0;
    if(boot == 0){
      mp3_play(1); //play boot sound
      boot = 1;
    }
    
    val = analogRead(potar_v);
    digitalWrite(ledact1,HIGH);
    digitalWrite(ledact2,HIGH);
    digitalWrite(ledact3,HIGH);
    if(digitalRead(sw2)==LOW){
      digitalWrite(ledsloblo,1);}else{
        digitalWrite(ledsloblo,0);}
powercell(etatcommand);
if(digitalRead(button1)==HIGH){
  if(fire_state == 0){
    mp3_play(3); //play fire sound
    fire_state = 1;
  }
  if(s1==0){
  ledbs=0;
    digitalWrite(ledb1,LOW);
  digitalWrite(ledb2,LOW);
  digitalWrite(ledb3,LOW);
  digitalWrite(ledb4,LOW);
  digitalWrite(ledb5,LOW);
  digitalWrite(ledb6,LOW);
  digitalWrite(ledb7,LOW);
  digitalWrite(ledb8,LOW);
  digitalWrite(ledb9,LOW);
  digitalWrite(ledb10,LOW);
  digitalWrite(ledb11,LOW);
  digitalWrite(ledb12,LOW);
  digitalWrite(ledb13,LOW);
  digitalWrite(ledb14,LOW);
  digitalWrite(ledb15,LOW);}
if(digitalRead(sw2)==LOW){
  if(bargraphgunanim==1){
  bargraphgunanim2(etatcommand);}
  if(bargraphgunanim==2){
  bargraphgunanim3(etatcommand);}
  if(bargraphgunanim==3){
  bargraphgunanim4(etatcommand);}}
}
if(digitalRead(button2)==HIGH && decov == 0){
  mp3_play(7); //play lite cooling
  decov=1;}
  if(decov==1){
    readov-=4;}   

if(animcyclotron == 1){
cyclotron1(etatcommand);}
if(animcyclotron == 2){
cyclotron2(etatcommand);}
if(animcyclotron == 3){
cyclotron3(etatcommand);}
if(animcyclotron == 4){
cyclotron4(etatcommand);}
if(digitalRead(button1)==HIGH){
  if(activeov==1 && digitalRead(sw2)==HIGH){
    bargraphgunov(etatcommand);
  if(readov>overheat*15){
(overheat*15)+1;}else{
readov++;}}
if(activeov==0 && digitalRead(sw2)==HIGH){
  bargraphgunanim2(etatcommand);
  }
if(readov<overheat*15){
ledsgun(etatcommand);}
if(readov>overheat*15){
  digitalWrite(ledw,0);
  digitalWrite(ledb,0);
  digitalWrite(ledr,0);
  mp3_play(5);//play overheat sound
  while(overheatSequenceDelay < 4900){//overheat sequence
    for(int i = A0; i <= A14; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }

    for(int i = ledb1; i <= ledb15; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }

    for(int i = ledblinkl; i <= ledact3; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }
    
    for(int i = l1; i <= l4; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }
    
    overheatSequenceDelay++;
    delay(1); //1ms base
  }
    coolingSequence(); //cooling sequence ---> Relay activated, sound, all leds off
  }

s1=1;}
if(digitalRead(button1)==LOW){
  if(fire_state == 1){
    mp3_play(4); //play fire ended
    fire_state = 0;
  }
  digitalWrite(ledw,LOW);
  digitalWrite(ledr,LOW);
  digitalWrite(ledb,LOW);
  if(ledbs>0){
    if(s1==1){    
  ledbs=0;
  s1=0;}}
  if(readov>0){
readov--;}
if(readov<=0){
  readov=0;
  decov=0;}
if(activeov==0){
bargraphgunanim1(etatcommand);}
if(activeov==1){
if(readov>0){
bargraphgunov(etatcommand);}
if(readov<=0){
bargraphgunanim1(etatcommand);}
}
}
ledp++;
ledbs++;
delay(val);
}else{
  ledp=16;
  ls=0;
  lds=1;
  ledbs=1;
  readov=0;
  brightnessledr=0;
  brightnessledw=0;
  brightnessledb=0;
  brightness=0;
  brightness2=0;
  brightness3=0;
  brightness4=255;
  blinkledr=0;
  blinkledw=0;
  blinkledb=0;
  digitalWrite(l1,LOW);
  digitalWrite(l2,LOW);
  digitalWrite(l3,LOW);
  digitalWrite(l4,LOW);
  digitalWrite(ledp1,LOW);
  digitalWrite(ledp2,LOW);
  digitalWrite(ledp3,LOW);
  digitalWrite(ledp4,LOW);
  digitalWrite(ledp5,LOW);
  digitalWrite(ledp6,LOW);
  digitalWrite(ledp7,LOW);
  digitalWrite(ledp8,LOW);
  digitalWrite(ledp9,LOW);
  digitalWrite(ledp10,LOW);
  digitalWrite(ledp11,LOW);
  digitalWrite(ledp12,LOW);
  digitalWrite(ledp13,LOW);
  digitalWrite(ledp14,LOW);
  digitalWrite(ledp15,LOW);
  digitalWrite(ledb1,LOW);
  digitalWrite(ledb2,LOW);
  digitalWrite(ledb3,LOW);
  digitalWrite(ledb4,LOW);
  digitalWrite(ledb5,LOW);
  digitalWrite(ledb6,LOW);
  digitalWrite(ledb7,LOW);
  digitalWrite(ledb8,LOW);
  digitalWrite(ledb9,LOW);
  digitalWrite(ledb10,LOW);
  digitalWrite(ledb11,LOW);
  digitalWrite(ledb12,LOW);
  digitalWrite(ledb13,LOW);
  digitalWrite(ledb14,LOW);
  digitalWrite(ledb15,LOW);
  digitalWrite(ledb,LOW);
  digitalWrite(ledw,LOW);
  digitalWrite(ledr,LOW);
  digitalWrite(ledblinkl,LOW);
  digitalWrite(ledblinkf,LOW);
  digitalWrite(ledsloblo,LOW);
  digitalWrite(ledact1,LOW);
  digitalWrite(ledact2,LOW);
  digitalWrite(ledact3,LOW);
if(boot == 1){
      mp3_play(2); //play off sequence
      boot = 0;
    }
}
}


void powercell(unsigned long animavar){
    if(ledp==1){
    digitalWrite(ledp1,HIGH);}
    if(ledp==2){
    digitalWrite(ledp2,HIGH);}
    if(ledp==3){
    digitalWrite(ledp3,HIGH);}
    if(ledp==4){
    digitalWrite(ledblinkf,LOW);
    digitalWrite(ledp4,HIGH);}
    if(ledp==5){
    digitalWrite(ledp5,HIGH);}
    if(ledp==6){
    digitalWrite(ledp6,HIGH);}
    if(ledp==7){
    digitalWrite(ledp7,HIGH);}
    if(ledp==8){
    digitalWrite(ledp8,HIGH);
    digitalWrite(ledblinkf,HIGH);
    digitalWrite(ledblinkl,HIGH);}
    if(ledp==9){
    digitalWrite(ledp9,HIGH);}
    if(ledp==10){
    digitalWrite(ledp10,HIGH);}
    if(ledp==11){
    digitalWrite(ledp11,HIGH);}
    if(ledp==12){
    digitalWrite(ledp12,HIGH);
    digitalWrite(ledblinkf,LOW);}
    if(ledp==13){
    digitalWrite(ledp13,HIGH);}
    if(ledp==14){
    digitalWrite(ledp14,HIGH);}
    if(ledp==15){
    digitalWrite(ledp15,HIGH);
    digitalWrite(ledblinkf,HIGH);
    digitalWrite(ledblinkl,LOW);}
    if(ledp>15){
      digitalWrite(ledp1,LOW);
      digitalWrite(ledp2,LOW);
      digitalWrite(ledp3,LOW);
      digitalWrite(ledp4,LOW);
      digitalWrite(ledp5,LOW);
      digitalWrite(ledp6,LOW);
      digitalWrite(ledp7,LOW);
      digitalWrite(ledp8,LOW);
      digitalWrite(ledp9,LOW);
      digitalWrite(ledp10,LOW);
      digitalWrite(ledp11,LOW);
      digitalWrite(ledp12,LOW);
      digitalWrite(ledp13,LOW);
      digitalWrite(ledp14,LOW);
      digitalWrite(ledp15,LOW);
      ledp=0;}
  }
  void cyclotron1(unsigned long animavar){
    if(ls==0){
      ls++;}
    if(ls==1){
  brightness4-=5;
  brightness+=5;
  analogWrite(l1,brightness);
  analogWrite(l4,brightness4);
  if(brightness>=255){
    ls++;
    brightness4=0;}}
if(ls==2){
  brightness-=5;
  brightness2+=5;
  analogWrite(l1,brightness);
  analogWrite(l2,brightness2);
  if(brightness2>=255){
    ls++;
   brightness=0;}}
if(ls==3){
  brightness3+=5;
  brightness2-=5;
  analogWrite(l2,brightness2);
  analogWrite(l3,brightness3);
  if(brightness3>=255){
    ls++;
    brightness2=0;}}
if(ls==4){
  brightness3-=5;
  brightness4+=5;
  analogWrite(l3,brightness3);
  analogWrite(l4,brightness4);
  if(brightness4>=255){
    ls++;
    brightness3=0;}}
    if(ls>4){
      ls=1;}}
      
      void cyclotron2(unsigned long animavar){
          if(ls==0){
      ls++;}
        if(ls==1){
          brightness4-=5;
          analogWrite(l4,brightness4);
          if(brightness4<=0){
            ls++;
            brightness4=0;}}
            if(ls==2){
              brightness+=5;
              analogWrite(l1,brightness);
              if(brightness>255){
                ls++;}}
                if(ls==3){
              brightness-=5;
              analogWrite(l1,brightness);
              if(brightness<0){
                ls++;
                digitalWrite(l1,LOW);}}
                if(ls==4){
              brightness2+=5;
              analogWrite(l2,brightness2);
              if(brightness2>255){
                ls++;}}
                if(ls==5){
              brightness2-=5;
              analogWrite(l2,brightness2);
              if(brightness2<0){
                ls++;
                digitalWrite(l2,LOW);}}
                if(ls==6){
              brightness3+=5;
              analogWrite(l3,brightness3);
              if(brightness3>255){
                ls++;
                }}
                if(ls==7){
              brightness3-=5;
              analogWrite(l3,brightness3);
              if(brightness3<0){
                ls++;
                digitalWrite(l3,LOW);}}
                if(ls==8){
              brightness4+=5;
              analogWrite(l4,brightness4);
              if(brightness4>254){
                ls++;}}
                if(ls>8){
                  ls=1;}
              }
        void cyclotron3(unsigned long animavar){
            if(ls==0){
      ls++;}
          if(ls==1){
            brightness4-=15;
            brightness=255;
            analogWrite(l4,brightness4);
            analogWrite(l1,brightness);
            if(brightness4<=0){
              ls++;}}
              if(ls==2){
                brightness-=15;
                brightness2=255;
                analogWrite(l1,brightness);
                analogWrite(l2,brightness2);
                if(brightness<=0){
                  ls++;}}
                  if(ls==3){
                    brightness2-=15;
                    brightness3=255;
                    analogWrite(l2,brightness2);
                    analogWrite(l3,brightness3);
                    if(brightness2<=0){
                      ls++;}}
                      if(ls==4){
                        brightness3-=15;
                        brightness4=255;
                        analogWrite(l3,brightness3);
                        analogWrite(l4,brightness4);
                        if(brightness3<=0){
                          ls++;}
                          }
                          if(ls>4){
                            ls=1;}}
                  
                  void cyclotron4(unsigned long animavar){
                      if(ls==0){
      ls++;}
                    if(digitalRead(ledp1)==LOW){
                      ls++;}
                    if(ls==1){
                      digitalWrite(l3,LOW);
                      digitalWrite(l4,HIGH);
                    }
                    
                    if(ls==2){
                      digitalWrite(l4,LOW);
                      digitalWrite(l1,HIGH);
                      }                        
                     if(ls==3){
                       digitalWrite(l1,LOW);
                       digitalWrite(l2,HIGH);
                     }                      
                       if(ls==4){
                         digitalWrite(l2,LOW);
                         digitalWrite(l3,HIGH);
                         }
                         if(ls>4){
                           ls=1;}
                             }
                     
                     void ledsgun(unsigned long animavar){
                       if(digitalRead(sw2)==HIGH){
                         if(brightnessledr!=0 && ledwanim!=0 || ledwanim!=0 || ledwanim!=0 && brightnessledr!=0 && ledrbanim==3){
                           brightnessledr=0;
                           brightnessledb=0;
                        digitalWrite(ledr,LOW);
                        digitalWrite(ledb,LOW);}
 
                       if(ledwanim==0 && digitalRead(button1)==HIGH){
                         if(lds==0){
                           if(val<4){
                         brightnessledr+=5;
                         blinkledb++;}
                     else{    
                         brightnessledr+=10;
                         blinkledb++;}
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr>=250){
                                 lds=1;}}}
                                 
                                 if(lds==1){
                                   if(val<4){
                         brightnessledr-=5;
                         blinkledb++;}else{
                         brightnessledr-=10;
                         blinkledb++;}
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr<=0){
                                 lds=0;}}}
                                 }
                                 
                                 if(ledwanim==1 && digitalRead(button1)==HIGH){
                                   if(blinkledw==0){
                                     digitalWrite(ledw,HIGH);
                                     blinkledw++;
                                    }
                                     else{
                                       digitalWrite(ledw,LOW);
                                       blinkledw++;
                                       }
                                       if(blinkledw==2){
                                         blinkledw=0;}
                                       
                                 }
                                 
                                 if(ledwanim==2 && digitalRead(button1)==HIGH){
                                   if(lds==0){
                                     brightnessledw+=20;
                                     analogWrite(ledw, brightnessledw);
                                     if(brightnessledw>250){
                                       lds=1;}}
                                       if(lds==1){
                                     brightnessledw-=20;
                                     analogWrite(ledw, brightnessledw);
                                     if(brightnessledw<=0){
                                       lds=0;}}
                                       }
                                       
                                       }
                                       
                                       else{
                                         if(brightnessledw!=0 && ledrbanim!=0 || ledrbanim!=0){
                                           brightnessledw=0;
                                         analogWrite(ledw, brightnessledw);
                                         digitalWrite(ledw,LOW);}
                                         if(ledrbanim==0){
                                               if(blinkledw==0){
                                     digitalWrite(ledw,HIGH);
                                     blinkledw++;
                                    }
                                     else{
                                       digitalWrite(ledw,LOW);
                                       blinkledw++;
                                       }
                                       if(blinkledw==2){
                                         blinkledw=0;}
                                       }
                                       
                                       if(ledrbanim==1 && digitalRead(button1)==HIGH){
                                     if(blinkledr==0){
                                       digitalWrite(ledr,LOW);
                                     blinkledr++;}
                                     
                                     else{
                                       digitalWrite(ledr,HIGH);
                                     blinkledr++;}
                                     
                                     if(blinkledr>1 && digitalRead(button1)==HIGH){
                                    blinkledr=0;}
                                    if(blinkledb==0){
                                      digitalWrite(ledb,LOW);
                                    blinkledb++;}else{
                                        digitalWrite(ledb,HIGH);
                                      blinkledb++;}
                                      if(blinkledb==3){
                                        blinkledb=0;}
                                        
                                      
                                 }
                                 
                                 if(ledrbanim==2 && digitalRead(button1)==HIGH){
                                    if(lds==0){
                         brightnessledr+=10;
                         blinkledb++;}
                        analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr>=250){
                                 lds=1;}}
                                 
                                 if(lds==1){
                         brightnessledr-=10;
                         blinkledb++;
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr<=0){
                                 lds=0;}}}
                                 }
                                 }
                                 if(ledrbanim==3 && digitalRead(sw2)==LOW){
                                   if(lds==0){
                                     brightnessledb-=20;
                                     brightnessledr+=20;
                                     analogWrite(ledr, brightnessledr);
                                     analogWrite(ledb, brightnessledb);
                                     if(brightnessledr>250){
                                       lds=1;}}
                                       if(lds==1){
                                     brightnessledr-=20;
                                     brightnessledb+=20;
                                     analogWrite(ledr, brightnessledr);
                                     analogWrite(ledb, brightnessledb);
                                     if(brightnessledr<=0){
                                       lds=0;}}
                                       
                                     }
                                }     
     
     void bargraphgunanim1(unsigned long anivar){
       
       if(ledbs==1){
digitalWrite(ledb1,1);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);}
if(ledbs==2){
digitalWrite(ledb2,1);}
if(ledbs==3){
digitalWrite(ledb3,1);}
if(ledbs==4){
digitalWrite(ledb4,1);}
if(ledbs==5){
digitalWrite(ledb5,1);}
if(ledbs==6){
digitalWrite(ledb6,1);}
if(ledbs==7){
digitalWrite(ledb7,1);}
if(ledbs==8){
digitalWrite(ledb8,1);}
if(ledbs==9){
digitalWrite(ledb9,1);}
if(ledbs==10){
digitalWrite(ledb10,1);}
if(ledbs==11){
digitalWrite(ledb11,1);}
if(ledbs==12){
digitalWrite(ledb12,1);}
if(ledbs==13){
digitalWrite(ledb13,1);}
if(ledbs==14){
digitalWrite(ledb14,1);}
if(ledbs==15){
digitalWrite(ledb15,1);}
if(ledbs==16){
digitalWrite(ledb15,0);}
if(ledbs==17){
digitalWrite(ledb14,0);}
if(ledbs==18){
digitalWrite(ledb13,0);}
if(ledbs==19){
digitalWrite(ledb12,0);}
if(ledbs==20){
digitalWrite(ledb11,0);}
if(ledbs==21){
digitalWrite(ledb10,0);}
if(ledbs==22){
digitalWrite(ledb9,0);}
if(ledbs==23){
digitalWrite(ledb8,0);}
if(ledbs==24){
digitalWrite(ledb7,0);}
if(ledbs==25){
digitalWrite(ledb6,0);}
if(ledbs==26){
digitalWrite(ledb5,0);}
if(ledbs==27){
digitalWrite(ledb4,0);}
if(ledbs==28){
digitalWrite(ledb3,0);}
if(ledbs==29){
digitalWrite(ledb2,0);}
if(ledbs==30){
digitalWrite(ledb1,0);
digitalWrite(ledb1,LOW);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
ledbs=0;}
                                   
     }
     
   void bargraphgunanim2(unsigned long anivar){
     if(ledbs==1){
       digitalWrite(ledb1,1);
       digitalWrite(ledb15,1);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
       }
       if(ledbs==2){
       digitalWrite(ledb2,1);
       digitalWrite(ledb14,1);
       }
       if(ledbs==3){
       digitalWrite(ledb3,1);
       digitalWrite(ledb13,1);
       }       
       if(ledbs==4){
       digitalWrite(ledb4,1);
       digitalWrite(ledb12,1);
       }                          
       if(ledbs==5){
       digitalWrite(ledb5,1);
       digitalWrite(ledb11,1);
       }                          
       if(ledbs==6){
       digitalWrite(ledb6,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb1,0);
       digitalWrite(ledb15,0);
     }
       if(ledbs==7){
       digitalWrite(ledb7,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb2,0);
       digitalWrite(ledb14,0);
       }
       if(ledbs==8){
       digitalWrite(ledb8,1);
       digitalWrite(ledb3,0);
       digitalWrite(ledb13,0);
       }
       if(ledbs==9){
       digitalWrite(ledb4,0);
       digitalWrite(ledb12,0);
       }
       if(ledbs==10){
       digitalWrite(ledb5,0);
       digitalWrite(ledb11,0);
       }
       if(ledbs==11){
       digitalWrite(ledb6,0);
       digitalWrite(ledb10,0);
       }                  
       if(ledbs==12){
       digitalWrite(ledb7,0);
       digitalWrite(ledb9,0);
       }
       if(ledbs==13){
       digitalWrite(ledb8,0);
       ledbs=0;
       }
       
}       

   void bargraphgunanim3(unsigned long anivar){
     if(ledbs==1){
       digitalWrite(ledb1,1);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,1);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
       }
       if(ledbs==3){
       digitalWrite(ledb1,0);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,0);
       }
       if(ledbs==5){
       digitalWrite(ledb2,0);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,0);
       }
       if(ledbs==7){
       digitalWrite(ledb3,0);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,0);
       }
       if(ledbs==9){
       digitalWrite(ledb4,0);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb8,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,0);
       }
       if(ledbs==11){
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb8,0);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       }
       if(ledbs==13){
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,0);
       digitalWrite(ledb9,0);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       }
       if(ledbs==15){
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,0);
       digitalWrite(ledb10,0);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       }
       if(ledbs==17){
       digitalWrite(ledb1,1);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,0);
       digitalWrite(ledb11,0);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,1);
       ledbs=1;
       }
       }
         
       void bargraphgunanim4(unsigned long anivar){
         
         if(ledbs==1){
           digitalWrite(ledb1,1);
           digitalWrite(ledb4,0);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
           }
           if(ledbs==2){
           digitalWrite(ledb2,1);
           digitalWrite(ledb1,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==3){
           digitalWrite(ledb3,1);
           digitalWrite(ledb2,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==4){
           digitalWrite(ledb4,1);
           digitalWrite(ledb3,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==5){
           digitalWrite(ledb5,1);
           digitalWrite(ledb4,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==6){
           digitalWrite(ledb6,1);
           digitalWrite(ledb5,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==7){
           digitalWrite(ledb7,1);
           digitalWrite(ledb6,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==8){
           digitalWrite(ledb8,1);
           digitalWrite(ledb7,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==9){
           digitalWrite(ledb9,1);
           digitalWrite(ledb8,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==10){
           digitalWrite(ledb10,1);
           digitalWrite(ledb9,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==11){
           digitalWrite(ledb11,1);
           digitalWrite(ledb10,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==12){
           digitalWrite(ledb12,1);
           digitalWrite(ledb11,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==13){
           digitalWrite(ledb13,1);
           digitalWrite(ledb12,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==14){
           digitalWrite(ledb14,1);
           digitalWrite(ledb13,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==15){
           digitalWrite(ledb15,1);
           digitalWrite(ledb14,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==16){
           digitalWrite(ledb14,1);
           digitalWrite(ledb15,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==17){
           digitalWrite(ledb13,1);
           digitalWrite(ledb14,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==18){
           digitalWrite(ledb12,1);
           digitalWrite(ledb13,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==19){
           digitalWrite(ledb11,1);
           digitalWrite(ledb12,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==20){
           digitalWrite(ledb10,1);
           digitalWrite(ledb11,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==21){
           digitalWrite(ledb9,1);
           digitalWrite(ledb10,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==22){
           digitalWrite(ledb8,1);
           digitalWrite(ledb9,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==23){
           digitalWrite(ledb7,1);
           digitalWrite(ledb8,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==24){
           digitalWrite(ledb6,1);
           digitalWrite(ledb7,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==25){
           digitalWrite(ledb5,1);
           digitalWrite(ledb6,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==26){
           digitalWrite(ledb4,1);
           digitalWrite(ledb5,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==27){
           digitalWrite(ledb3,1);
           digitalWrite(ledb4,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==28){
           digitalWrite(ledb2,1);
           digitalWrite(ledb3,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==29){
           digitalWrite(ledb1,1);
           digitalWrite(ledb2,0);
           digitalWrite(ledb4,0);
           ledbs=1;
           }
             }
             
          void bargraphgunov(unsigned long anivar){
            if(readov>overheat*1){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
              }
              if(readov>overheat*2){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,0);
              digitalWrite(ledb4,0);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*3){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,0);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*4){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*5){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*6){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*7){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*8){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*9){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*10){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*11){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*12){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*13){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*14){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,1);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*15){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,1);
              digitalWrite(ledb15,1);
              }
              
            }





void coolingSequence(){
              
  for(int i = A0; i <= A14; i++){
    digitalWrite(i,0);
    }

    for(int i = ledb1; i <= ledb15; i++){
         digitalWrite(i,0);
      }

    for(int i = ledblinkl; i <= ledact3; i++){
         digitalWrite(i,0);
      }
    
    for(int i = l1; i <= l4; i++){
         digitalWrite(i,0);
      }
  
  mp3_play(6);//play cooling sound
  delay(1000);
  digitalWrite(relaisPin,1); //active le relais pendant 3 secondes(ne pas le laisser activer top longtemps pour la E-cig, 3 secondes GRAND MAX !)
  delay(3000);
  digitalWrite(relaisPin,0); //on désactive le relais
  delay(3000); //Délai à mettre en fonction de la durée de ton son overheat, j'ai 3000 ms par exemple, mais tu peut mettre une autre valeur mieux adaptée
  readov = 0;
  brightnessledr=0;
  brightnessledw=0;
  brightnessledb=0;
  brightness=0;
  brightness2=0;
  brightness3=0;
  brightness4=255;
  blinkledr=0;
  blinkledw=0;
  blinkledb=0;
            }

Image
Quel est cet artefact ? Un jeu hanté !
On a un message Gozerien, il faut le décrypter !

lzqdm.owwotm.kwu/file/d/1BI9TpXXM0K-pEHzBplydZfXZGfN7A2Y4/view?usp=sharing

Une année clé nous aiderai à décaler ces lettres. Mais laquelle ?
Avatar de l’utilisateur
Ghostbuster-BZH
Membre GBF
Membre GBF
Messages : 1049
Inscription : 23 mars 2019, 22:00
Pseudo XBOX Live : GB BZH
Localisation : Bretagne (22)

Re: Mon premier Proton Pack

Message par Ghostbuster-BZH »

protongamer a écrit :Bon j'ai fait les modifications nécessaires, mais je n'ai pas testé, dis moi si ça fonctionne. ;)

Alors sache que la librairie utilisé c'est celle-ci :
https://github.com/DFRobot/DFPlayer-Mini-mp3" target="_blank" target="_blank" target="_blank

Pour les sons, si tu as bien compris, il faut les mettre dans un dossier nommé mp3 qui est dans la microSD. Je t'ai préparé deux trois sons:
https://1drv.ms/u/s!Am3L_puKoAG8gQODunq ... Y?e=B02G1l" target="_blank" target="_blank

Pour le câblage, il faut relier le RX du mp3 au TX de l'arduino avec une résistance de 1k. A brancher une fois le code téléversé, si jamais tu veut retéléverser, débrancher la connectique entre le RX TX.

Code : Tout sélectionner

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

//Programme kit lumière par ProtonGamer V1.1

//Nombre maximum de musiques
#define MAX_TRACKS  1

//Paramètres
static char animcyclotron=4;    //Vous pouvez modifier l'animation du cyclotron [1-2-3-4]
static char ledwanim=2;         //Vous pouvez mofifier l'animation de la led blanche(1-2) ou la désactiver(0), qui sera remplacé par les deux autres leds en mode (1)[0-1-2]
static char ledrbanim=3;        //Vous pouvez modifier l'animation des leds rouge et bleu(1-2-3) ou la désactiver(0), qui sera remplacé par la led blanche en mode(1)[0-1-2-3]
static char bargraphgunanim=1;  //Vous pouvez modifier l'animation du bargraph du wand[1-2-3]
boolean activeov=0;             //Ceci vous permet d'activer la surchauffe du proton pack[0-1]
unsigned char overheat=17;      //Ceci est le réglage de la surchauffe si elle est activé [1-17]
//fin des paramètres

//Sorties pour le Powercell
const char ledp1=A0, ledp2=A1, ledp3=A2, ledp4=A3, ledp5=A4, ledp6=A5, ledp7=A6, ledp8=A7,
ledp9=A8, ledp10=A9, ledp11=A10, ledp12=A11, ledp13=A12, ledp14=A13, ledp15=A14;
//Sorties pour le bargraphe
const char ledb1=28, ledb2=29, ledb3=30, ledb4=31, ledb5=32, ledb6=33, ledb7=34, ledb8=35,
ledb9=36, ledb10=37, ledb11=38, ledb12=39, ledb13=40, ledb14=41, ledb15=42;
//Sorties pour le cyclotron
const char l1=2, l2=3, l3=4, l4=5;
//Sortie du potentiomètre pour le réglage de la vitesse
const char potar_v=A15;
//Sortie de l'activation des lumières
const char sw1=14;
//Activation du SloBlo
const char sw2=15;
//Activation du tir
const char button1=16;
//Rafraichissement du Proton Pack
const char button2=17;
//Sortie des leds du gun
const char ledr=13, ledb=6, ledw=12;
//Voyant du wand
const char ledblinkl=22, ledblinkf=23, ledsloblo=24, ledact1=25, ledact2=26, ledact3=27;

//Ne pas modifier sauf pour les connaisseurs :)
char ledp=0;
char ledbs=0;
boolean decov=0;
char ledba=0;
int val=0;
boolean s1=0;
int brightness=0;
int brightness2=0;
int brightness3=0;
int brightness4=0;
int brightnessledw=0;
int brightnessledr=0;
int brightnessledb=0;
int overheatSequenceDelay = 0;
char blinkledw=0;
char blinkledr=0;
char blinkledb=0;
char lds=0;
int readov=0;
static char ls=1;
int etatcommand=0;
const char overPin = 2;
const char relaisPin = 3;
byte track = 0;
bool alreadyTrack = 0;
byte boot = 0;
byte fire_state = 0;



void setup() {

  Serial.begin (9600);
  mp3_set_serial (Serial);  //set Serial for DFPlayer-mini mp3 module 
  mp3_set_volume (15);
  
  brightness4=255;
pinMode(ledp1,OUTPUT);
pinMode(ledp2,OUTPUT);
pinMode(ledp3,OUTPUT);
pinMode(ledp4,OUTPUT);
pinMode(ledp5,OUTPUT);
pinMode(ledp6,OUTPUT);
pinMode(ledp7,OUTPUT);
pinMode(ledp8,OUTPUT);
pinMode(ledp9,OUTPUT);
pinMode(ledp10,OUTPUT);
pinMode(ledp11,OUTPUT);
pinMode(ledp12,OUTPUT);
pinMode(ledp13,OUTPUT);
pinMode(ledp14,OUTPUT);
pinMode(ledp15,OUTPUT);
pinMode(l1,OUTPUT);
pinMode(l2,OUTPUT);
pinMode(l3,OUTPUT);
pinMode(l4,OUTPUT);
pinMode(ledr,OUTPUT);
pinMode(ledb,OUTPUT);
pinMode(ledw,OUTPUT);
pinMode(sw1,INPUT);
pinMode(sw2,INPUT);
pinMode(ledblinkl,OUTPUT);
pinMode(ledblinkf,OUTPUT);
pinMode(ledsloblo,OUTPUT);
pinMode(ledact1,OUTPUT);
pinMode(ledact2,OUTPUT);
pinMode(ledact3,OUTPUT);
pinMode(ledb1,OUTPUT);
pinMode(ledb2,OUTPUT);
pinMode(ledb3,OUTPUT);
pinMode(ledb4,OUTPUT);
pinMode(ledb5,OUTPUT);
pinMode(ledb6,OUTPUT);
pinMode(ledb7,OUTPUT);
pinMode(ledb8,OUTPUT);
pinMode(ledb9,OUTPUT);
pinMode(ledb10,OUTPUT);
pinMode(ledb11,OUTPUT);
pinMode(ledb12,OUTPUT);
pinMode(ledb13,OUTPUT);
pinMode(ledb14,OUTPUT);
pinMode(ledb15,OUTPUT);
pinMode(button2,INPUT);
pinMode(overPin,OUTPUT);
pinMode(relaisPin,OUTPUT);
if(ledrbanim==3){
  brightnessledb=250;}
  
}

void loop() {


if(boot == 0 && digitalRead(button2) == 0 && alreadyTrack == 1){

mp3_play(8+track);//play soundtrack

track++;

if(track >= MAX_TRACKS){
  track = 0;
}
alreadyTrack = 0;

}

if(boot == 0 && digitalRead(button2) == 1){
  alreadyTrack = 1;
}
  
  if(digitalRead(sw1)==HIGH){
alreadyTrack = 0;
    if(boot == 0){
      mp3_play(1); //play boot sound
      boot = 1;
    }
    
    val = analogRead(potar_v);
    digitalWrite(ledact1,HIGH);
    digitalWrite(ledact2,HIGH);
    digitalWrite(ledact3,HIGH);
    if(digitalRead(sw2)==LOW){
      digitalWrite(ledsloblo,1);}else{
        digitalWrite(ledsloblo,0);}
powercell(etatcommand);
if(digitalRead(button1)==HIGH){
  if(fire_state == 0){
    mp3_play(3); //play fire sound
    fire_state = 1;
  }
  if(s1==0){
  ledbs=0;
    digitalWrite(ledb1,LOW);
  digitalWrite(ledb2,LOW);
  digitalWrite(ledb3,LOW);
  digitalWrite(ledb4,LOW);
  digitalWrite(ledb5,LOW);
  digitalWrite(ledb6,LOW);
  digitalWrite(ledb7,LOW);
  digitalWrite(ledb8,LOW);
  digitalWrite(ledb9,LOW);
  digitalWrite(ledb10,LOW);
  digitalWrite(ledb11,LOW);
  digitalWrite(ledb12,LOW);
  digitalWrite(ledb13,LOW);
  digitalWrite(ledb14,LOW);
  digitalWrite(ledb15,LOW);}
if(digitalRead(sw2)==LOW){
  if(bargraphgunanim==1){
  bargraphgunanim2(etatcommand);}
  if(bargraphgunanim==2){
  bargraphgunanim3(etatcommand);}
  if(bargraphgunanim==3){
  bargraphgunanim4(etatcommand);}}
}
if(digitalRead(button2)==HIGH && decov == 0){
  mp3_play(7); //play lite cooling
  decov=1;}
  if(decov==1){
    readov-=4;}   

if(animcyclotron == 1){
cyclotron1(etatcommand);}
if(animcyclotron == 2){
cyclotron2(etatcommand);}
if(animcyclotron == 3){
cyclotron3(etatcommand);}
if(animcyclotron == 4){
cyclotron4(etatcommand);}
if(digitalRead(button1)==HIGH){
  if(activeov==1 && digitalRead(sw2)==HIGH){
    bargraphgunov(etatcommand);
  if(readov>overheat*15){
(overheat*15)+1;}else{
readov++;}}
if(activeov==0 && digitalRead(sw2)==HIGH){
  bargraphgunanim2(etatcommand);
  }
if(readov<overheat*15){
ledsgun(etatcommand);}
if(readov>overheat*15){
  digitalWrite(ledw,0);
  digitalWrite(ledb,0);
  digitalWrite(ledr,0);
  mp3_play(5);//play overheat sound
  while(overheatSequenceDelay < 4900){//overheat sequence
    for(int i = A0; i <= A14; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }

    for(int i = ledb1; i <= ledb15; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }

    for(int i = ledblinkl; i <= ledact3; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }
    
    for(int i = l1; i <= l4; i++){
      static int j;
      j = random(0,1000);
      if(j < 500){
         digitalWrite(i,0);
      }

      if(j >= 500){
         digitalWrite(i,1);
      }
    }
    
    overheatSequenceDelay++;
    delay(1); //1ms base
  }
    coolingSequence(); //cooling sequence ---> Relay activated, sound, all leds off
  }

s1=1;}
if(digitalRead(button1)==LOW){
  if(fire_state == 1){
    mp3_play(4); //play fire ended
    fire_state = 0;
  }
  digitalWrite(ledw,LOW);
  digitalWrite(ledr,LOW);
  digitalWrite(ledb,LOW);
  if(ledbs>0){
    if(s1==1){    
  ledbs=0;
  s1=0;}}
  if(readov>0){
readov--;}
if(readov<=0){
  readov=0;
  decov=0;}
if(activeov==0){
bargraphgunanim1(etatcommand);}
if(activeov==1){
if(readov>0){
bargraphgunov(etatcommand);}
if(readov<=0){
bargraphgunanim1(etatcommand);}
}
}
ledp++;
ledbs++;
delay(val);
}else{
  ledp=16;
  ls=0;
  lds=1;
  ledbs=1;
  readov=0;
  brightnessledr=0;
  brightnessledw=0;
  brightnessledb=0;
  brightness=0;
  brightness2=0;
  brightness3=0;
  brightness4=255;
  blinkledr=0;
  blinkledw=0;
  blinkledb=0;
  digitalWrite(l1,LOW);
  digitalWrite(l2,LOW);
  digitalWrite(l3,LOW);
  digitalWrite(l4,LOW);
  digitalWrite(ledp1,LOW);
  digitalWrite(ledp2,LOW);
  digitalWrite(ledp3,LOW);
  digitalWrite(ledp4,LOW);
  digitalWrite(ledp5,LOW);
  digitalWrite(ledp6,LOW);
  digitalWrite(ledp7,LOW);
  digitalWrite(ledp8,LOW);
  digitalWrite(ledp9,LOW);
  digitalWrite(ledp10,LOW);
  digitalWrite(ledp11,LOW);
  digitalWrite(ledp12,LOW);
  digitalWrite(ledp13,LOW);
  digitalWrite(ledp14,LOW);
  digitalWrite(ledp15,LOW);
  digitalWrite(ledb1,LOW);
  digitalWrite(ledb2,LOW);
  digitalWrite(ledb3,LOW);
  digitalWrite(ledb4,LOW);
  digitalWrite(ledb5,LOW);
  digitalWrite(ledb6,LOW);
  digitalWrite(ledb7,LOW);
  digitalWrite(ledb8,LOW);
  digitalWrite(ledb9,LOW);
  digitalWrite(ledb10,LOW);
  digitalWrite(ledb11,LOW);
  digitalWrite(ledb12,LOW);
  digitalWrite(ledb13,LOW);
  digitalWrite(ledb14,LOW);
  digitalWrite(ledb15,LOW);
  digitalWrite(ledb,LOW);
  digitalWrite(ledw,LOW);
  digitalWrite(ledr,LOW);
  digitalWrite(ledblinkl,LOW);
  digitalWrite(ledblinkf,LOW);
  digitalWrite(ledsloblo,LOW);
  digitalWrite(ledact1,LOW);
  digitalWrite(ledact2,LOW);
  digitalWrite(ledact3,LOW);
if(boot == 1){
      mp3_play(2); //play off sequence
      boot = 0;
    }
}
}


void powercell(unsigned long animavar){
    if(ledp==1){
    digitalWrite(ledp1,HIGH);}
    if(ledp==2){
    digitalWrite(ledp2,HIGH);}
    if(ledp==3){
    digitalWrite(ledp3,HIGH);}
    if(ledp==4){
    digitalWrite(ledblinkf,LOW);
    digitalWrite(ledp4,HIGH);}
    if(ledp==5){
    digitalWrite(ledp5,HIGH);}
    if(ledp==6){
    digitalWrite(ledp6,HIGH);}
    if(ledp==7){
    digitalWrite(ledp7,HIGH);}
    if(ledp==8){
    digitalWrite(ledp8,HIGH);
    digitalWrite(ledblinkf,HIGH);
    digitalWrite(ledblinkl,HIGH);}
    if(ledp==9){
    digitalWrite(ledp9,HIGH);}
    if(ledp==10){
    digitalWrite(ledp10,HIGH);}
    if(ledp==11){
    digitalWrite(ledp11,HIGH);}
    if(ledp==12){
    digitalWrite(ledp12,HIGH);
    digitalWrite(ledblinkf,LOW);}
    if(ledp==13){
    digitalWrite(ledp13,HIGH);}
    if(ledp==14){
    digitalWrite(ledp14,HIGH);}
    if(ledp==15){
    digitalWrite(ledp15,HIGH);
    digitalWrite(ledblinkf,HIGH);
    digitalWrite(ledblinkl,LOW);}
    if(ledp>15){
      digitalWrite(ledp1,LOW);
      digitalWrite(ledp2,LOW);
      digitalWrite(ledp3,LOW);
      digitalWrite(ledp4,LOW);
      digitalWrite(ledp5,LOW);
      digitalWrite(ledp6,LOW);
      digitalWrite(ledp7,LOW);
      digitalWrite(ledp8,LOW);
      digitalWrite(ledp9,LOW);
      digitalWrite(ledp10,LOW);
      digitalWrite(ledp11,LOW);
      digitalWrite(ledp12,LOW);
      digitalWrite(ledp13,LOW);
      digitalWrite(ledp14,LOW);
      digitalWrite(ledp15,LOW);
      ledp=0;}
  }
  void cyclotron1(unsigned long animavar){
    if(ls==0){
      ls++;}
    if(ls==1){
  brightness4-=5;
  brightness+=5;
  analogWrite(l1,brightness);
  analogWrite(l4,brightness4);
  if(brightness>=255){
    ls++;
    brightness4=0;}}
if(ls==2){
  brightness-=5;
  brightness2+=5;
  analogWrite(l1,brightness);
  analogWrite(l2,brightness2);
  if(brightness2>=255){
    ls++;
   brightness=0;}}
if(ls==3){
  brightness3+=5;
  brightness2-=5;
  analogWrite(l2,brightness2);
  analogWrite(l3,brightness3);
  if(brightness3>=255){
    ls++;
    brightness2=0;}}
if(ls==4){
  brightness3-=5;
  brightness4+=5;
  analogWrite(l3,brightness3);
  analogWrite(l4,brightness4);
  if(brightness4>=255){
    ls++;
    brightness3=0;}}
    if(ls>4){
      ls=1;}}
      
      void cyclotron2(unsigned long animavar){
          if(ls==0){
      ls++;}
        if(ls==1){
          brightness4-=5;
          analogWrite(l4,brightness4);
          if(brightness4<=0){
            ls++;
            brightness4=0;}}
            if(ls==2){
              brightness+=5;
              analogWrite(l1,brightness);
              if(brightness>255){
                ls++;}}
                if(ls==3){
              brightness-=5;
              analogWrite(l1,brightness);
              if(brightness<0){
                ls++;
                digitalWrite(l1,LOW);}}
                if(ls==4){
              brightness2+=5;
              analogWrite(l2,brightness2);
              if(brightness2>255){
                ls++;}}
                if(ls==5){
              brightness2-=5;
              analogWrite(l2,brightness2);
              if(brightness2<0){
                ls++;
                digitalWrite(l2,LOW);}}
                if(ls==6){
              brightness3+=5;
              analogWrite(l3,brightness3);
              if(brightness3>255){
                ls++;
                }}
                if(ls==7){
              brightness3-=5;
              analogWrite(l3,brightness3);
              if(brightness3<0){
                ls++;
                digitalWrite(l3,LOW);}}
                if(ls==8){
              brightness4+=5;
              analogWrite(l4,brightness4);
              if(brightness4>254){
                ls++;}}
                if(ls>8){
                  ls=1;}
              }
        void cyclotron3(unsigned long animavar){
            if(ls==0){
      ls++;}
          if(ls==1){
            brightness4-=15;
            brightness=255;
            analogWrite(l4,brightness4);
            analogWrite(l1,brightness);
            if(brightness4<=0){
              ls++;}}
              if(ls==2){
                brightness-=15;
                brightness2=255;
                analogWrite(l1,brightness);
                analogWrite(l2,brightness2);
                if(brightness<=0){
                  ls++;}}
                  if(ls==3){
                    brightness2-=15;
                    brightness3=255;
                    analogWrite(l2,brightness2);
                    analogWrite(l3,brightness3);
                    if(brightness2<=0){
                      ls++;}}
                      if(ls==4){
                        brightness3-=15;
                        brightness4=255;
                        analogWrite(l3,brightness3);
                        analogWrite(l4,brightness4);
                        if(brightness3<=0){
                          ls++;}
                          }
                          if(ls>4){
                            ls=1;}}
                  
                  void cyclotron4(unsigned long animavar){
                      if(ls==0){
      ls++;}
                    if(digitalRead(ledp1)==LOW){
                      ls++;}
                    if(ls==1){
                      digitalWrite(l3,LOW);
                      digitalWrite(l4,HIGH);
                    }
                    
                    if(ls==2){
                      digitalWrite(l4,LOW);
                      digitalWrite(l1,HIGH);
                      }                        
                     if(ls==3){
                       digitalWrite(l1,LOW);
                       digitalWrite(l2,HIGH);
                     }                      
                       if(ls==4){
                         digitalWrite(l2,LOW);
                         digitalWrite(l3,HIGH);
                         }
                         if(ls>4){
                           ls=1;}
                             }
                     
                     void ledsgun(unsigned long animavar){
                       if(digitalRead(sw2)==HIGH){
                         if(brightnessledr!=0 && ledwanim!=0 || ledwanim!=0 || ledwanim!=0 && brightnessledr!=0 && ledrbanim==3){
                           brightnessledr=0;
                           brightnessledb=0;
                        digitalWrite(ledr,LOW);
                        digitalWrite(ledb,LOW);}
 
                       if(ledwanim==0 && digitalRead(button1)==HIGH){
                         if(lds==0){
                           if(val<4){
                         brightnessledr+=5;
                         blinkledb++;}
                     else{    
                         brightnessledr+=10;
                         blinkledb++;}
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr>=250){
                                 lds=1;}}}
                                 
                                 if(lds==1){
                                   if(val<4){
                         brightnessledr-=5;
                         blinkledb++;}else{
                         brightnessledr-=10;
                         blinkledb++;}
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr<=0){
                                 lds=0;}}}
                                 }
                                 
                                 if(ledwanim==1 && digitalRead(button1)==HIGH){
                                   if(blinkledw==0){
                                     digitalWrite(ledw,HIGH);
                                     blinkledw++;
                                    }
                                     else{
                                       digitalWrite(ledw,LOW);
                                       blinkledw++;
                                       }
                                       if(blinkledw==2){
                                         blinkledw=0;}
                                       
                                 }
                                 
                                 if(ledwanim==2 && digitalRead(button1)==HIGH){
                                   if(lds==0){
                                     brightnessledw+=20;
                                     analogWrite(ledw, brightnessledw);
                                     if(brightnessledw>250){
                                       lds=1;}}
                                       if(lds==1){
                                     brightnessledw-=20;
                                     analogWrite(ledw, brightnessledw);
                                     if(brightnessledw<=0){
                                       lds=0;}}
                                       }
                                       
                                       }
                                       
                                       else{
                                         if(brightnessledw!=0 && ledrbanim!=0 || ledrbanim!=0){
                                           brightnessledw=0;
                                         analogWrite(ledw, brightnessledw);
                                         digitalWrite(ledw,LOW);}
                                         if(ledrbanim==0){
                                               if(blinkledw==0){
                                     digitalWrite(ledw,HIGH);
                                     blinkledw++;
                                    }
                                     else{
                                       digitalWrite(ledw,LOW);
                                       blinkledw++;
                                       }
                                       if(blinkledw==2){
                                         blinkledw=0;}
                                       }
                                       
                                       if(ledrbanim==1 && digitalRead(button1)==HIGH){
                                     if(blinkledr==0){
                                       digitalWrite(ledr,LOW);
                                     blinkledr++;}
                                     
                                     else{
                                       digitalWrite(ledr,HIGH);
                                     blinkledr++;}
                                     
                                     if(blinkledr>1 && digitalRead(button1)==HIGH){
                                    blinkledr=0;}
                                    if(blinkledb==0){
                                      digitalWrite(ledb,LOW);
                                    blinkledb++;}else{
                                        digitalWrite(ledb,HIGH);
                                      blinkledb++;}
                                      if(blinkledb==3){
                                        blinkledb=0;}
                                        
                                      
                                 }
                                 
                                 if(ledrbanim==2 && digitalRead(button1)==HIGH){
                                    if(lds==0){
                         brightnessledr+=10;
                         blinkledb++;}
                        analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr>=250){
                                 lds=1;}}
                                 
                                 if(lds==1){
                         brightnessledr-=10;
                         blinkledb++;
                         analogWrite(ledr, brightnessledr);
                         if(blinkledb==1){
                           digitalWrite(ledb,HIGH);
                           }else{
                             digitalWrite(ledb,LOW);
                             if(blinkledb==2){
                               blinkledb=0;}
                               if(brightnessledr<=0){
                                 lds=0;}}}
                                 }
                                 }
                                 if(ledrbanim==3 && digitalRead(sw2)==LOW){
                                   if(lds==0){
                                     brightnessledb-=20;
                                     brightnessledr+=20;
                                     analogWrite(ledr, brightnessledr);
                                     analogWrite(ledb, brightnessledb);
                                     if(brightnessledr>250){
                                       lds=1;}}
                                       if(lds==1){
                                     brightnessledr-=20;
                                     brightnessledb+=20;
                                     analogWrite(ledr, brightnessledr);
                                     analogWrite(ledb, brightnessledb);
                                     if(brightnessledr<=0){
                                       lds=0;}}
                                       
                                     }
                                }     
     
     void bargraphgunanim1(unsigned long anivar){
       
       if(ledbs==1){
digitalWrite(ledb1,1);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);}
if(ledbs==2){
digitalWrite(ledb2,1);}
if(ledbs==3){
digitalWrite(ledb3,1);}
if(ledbs==4){
digitalWrite(ledb4,1);}
if(ledbs==5){
digitalWrite(ledb5,1);}
if(ledbs==6){
digitalWrite(ledb6,1);}
if(ledbs==7){
digitalWrite(ledb7,1);}
if(ledbs==8){
digitalWrite(ledb8,1);}
if(ledbs==9){
digitalWrite(ledb9,1);}
if(ledbs==10){
digitalWrite(ledb10,1);}
if(ledbs==11){
digitalWrite(ledb11,1);}
if(ledbs==12){
digitalWrite(ledb12,1);}
if(ledbs==13){
digitalWrite(ledb13,1);}
if(ledbs==14){
digitalWrite(ledb14,1);}
if(ledbs==15){
digitalWrite(ledb15,1);}
if(ledbs==16){
digitalWrite(ledb15,0);}
if(ledbs==17){
digitalWrite(ledb14,0);}
if(ledbs==18){
digitalWrite(ledb13,0);}
if(ledbs==19){
digitalWrite(ledb12,0);}
if(ledbs==20){
digitalWrite(ledb11,0);}
if(ledbs==21){
digitalWrite(ledb10,0);}
if(ledbs==22){
digitalWrite(ledb9,0);}
if(ledbs==23){
digitalWrite(ledb8,0);}
if(ledbs==24){
digitalWrite(ledb7,0);}
if(ledbs==25){
digitalWrite(ledb6,0);}
if(ledbs==26){
digitalWrite(ledb5,0);}
if(ledbs==27){
digitalWrite(ledb4,0);}
if(ledbs==28){
digitalWrite(ledb3,0);}
if(ledbs==29){
digitalWrite(ledb2,0);}
if(ledbs==30){
digitalWrite(ledb1,0);
digitalWrite(ledb1,LOW);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
ledbs=0;}
                                   
     }
     
   void bargraphgunanim2(unsigned long anivar){
     if(ledbs==1){
       digitalWrite(ledb1,1);
       digitalWrite(ledb15,1);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb4,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
       }
       if(ledbs==2){
       digitalWrite(ledb2,1);
       digitalWrite(ledb14,1);
       }
       if(ledbs==3){
       digitalWrite(ledb3,1);
       digitalWrite(ledb13,1);
       }       
       if(ledbs==4){
       digitalWrite(ledb4,1);
       digitalWrite(ledb12,1);
       }                          
       if(ledbs==5){
       digitalWrite(ledb5,1);
       digitalWrite(ledb11,1);
       }                          
       if(ledbs==6){
       digitalWrite(ledb6,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb1,0);
       digitalWrite(ledb15,0);
     }
       if(ledbs==7){
       digitalWrite(ledb7,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb2,0);
       digitalWrite(ledb14,0);
       }
       if(ledbs==8){
       digitalWrite(ledb8,1);
       digitalWrite(ledb3,0);
       digitalWrite(ledb13,0);
       }
       if(ledbs==9){
       digitalWrite(ledb4,0);
       digitalWrite(ledb12,0);
       }
       if(ledbs==10){
       digitalWrite(ledb5,0);
       digitalWrite(ledb11,0);
       }
       if(ledbs==11){
       digitalWrite(ledb6,0);
       digitalWrite(ledb10,0);
       }                  
       if(ledbs==12){
       digitalWrite(ledb7,0);
       digitalWrite(ledb9,0);
       }
       if(ledbs==13){
       digitalWrite(ledb8,0);
       ledbs=0;
       }
       
}       

   void bargraphgunanim3(unsigned long anivar){
     if(ledbs==1){
       digitalWrite(ledb1,1);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,1);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
       }
       if(ledbs==3){
       digitalWrite(ledb1,0);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,0);
       }
       if(ledbs==5){
       digitalWrite(ledb2,0);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,0);
       }
       if(ledbs==7){
       digitalWrite(ledb3,0);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,0);
       }
       if(ledbs==9){
       digitalWrite(ledb4,0);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb8,1);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,0);
       }
       if(ledbs==11){
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,1);
       digitalWrite(ledb8,0);
       digitalWrite(ledb9,1);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       }
       if(ledbs==13){
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,1);
       digitalWrite(ledb7,0);
       digitalWrite(ledb9,0);
       digitalWrite(ledb10,1);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       }
       if(ledbs==15){
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,1);
       digitalWrite(ledb6,0);
       digitalWrite(ledb10,0);
       digitalWrite(ledb11,1);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       }
       if(ledbs==17){
       digitalWrite(ledb1,1);
       digitalWrite(ledb2,1);
       digitalWrite(ledb3,1);
       digitalWrite(ledb4,1);
       digitalWrite(ledb5,0);
       digitalWrite(ledb11,0);
       digitalWrite(ledb12,1);
       digitalWrite(ledb13,1);
       digitalWrite(ledb14,1);
       digitalWrite(ledb15,1);
       ledbs=1;
       }
       }
         
       void bargraphgunanim4(unsigned long anivar){
         
         if(ledbs==1){
           digitalWrite(ledb1,1);
           digitalWrite(ledb4,0);
      digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
           }
           if(ledbs==2){
           digitalWrite(ledb2,1);
           digitalWrite(ledb1,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==3){
           digitalWrite(ledb3,1);
           digitalWrite(ledb2,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==4){
           digitalWrite(ledb4,1);
           digitalWrite(ledb3,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==5){
           digitalWrite(ledb5,1);
           digitalWrite(ledb4,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==6){
           digitalWrite(ledb6,1);
           digitalWrite(ledb5,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==7){
           digitalWrite(ledb7,1);
           digitalWrite(ledb6,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==8){
           digitalWrite(ledb8,1);
           digitalWrite(ledb7,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==9){
           digitalWrite(ledb9,1);
           digitalWrite(ledb8,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==10){
           digitalWrite(ledb10,1);
           digitalWrite(ledb9,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==11){
           digitalWrite(ledb11,1);
           digitalWrite(ledb10,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==12){
           digitalWrite(ledb12,1);
           digitalWrite(ledb11,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==13){
           digitalWrite(ledb13,1);
           digitalWrite(ledb12,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==14){
           digitalWrite(ledb14,1);
           digitalWrite(ledb13,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==15){
           digitalWrite(ledb15,1);
           digitalWrite(ledb14,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==16){
           digitalWrite(ledb14,1);
           digitalWrite(ledb15,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==17){
           digitalWrite(ledb13,1);
           digitalWrite(ledb14,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==18){
           digitalWrite(ledb12,1);
           digitalWrite(ledb13,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==19){
           digitalWrite(ledb11,1);
           digitalWrite(ledb12,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==20){
           digitalWrite(ledb10,1);
           digitalWrite(ledb11,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==21){
           digitalWrite(ledb9,1);
           digitalWrite(ledb10,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==22){
           digitalWrite(ledb8,1);
           digitalWrite(ledb9,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==23){
           digitalWrite(ledb7,1);
           digitalWrite(ledb8,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==24){
           digitalWrite(ledb6,1);
           digitalWrite(ledb7,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==25){
           digitalWrite(ledb5,1);
           digitalWrite(ledb6,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==26){
           digitalWrite(ledb4,1);
           digitalWrite(ledb5,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==27){
           digitalWrite(ledb3,1);
           digitalWrite(ledb4,0);
           digitalWrite(ledb4,0);
           }
           if(ledbs==28){
           digitalWrite(ledb2,1);
           digitalWrite(ledb3,0);
           digitalWrite(ledb4,1);
           }
           if(ledbs==29){
           digitalWrite(ledb1,1);
           digitalWrite(ledb2,0);
           digitalWrite(ledb4,0);
           ledbs=1;
           }
             }
             
          void bargraphgunov(unsigned long anivar){
            if(readov>overheat*1){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,LOW);
      digitalWrite(ledb3,LOW);
      digitalWrite(ledb5,LOW);
      digitalWrite(ledb6,LOW);
      digitalWrite(ledb7,LOW);
      digitalWrite(ledb8,LOW);
      digitalWrite(ledb9,LOW);
      digitalWrite(ledb10,LOW);
      digitalWrite(ledb11,LOW);
      digitalWrite(ledb12,LOW);
      digitalWrite(ledb13,LOW);
      digitalWrite(ledb14,LOW);
      digitalWrite(ledb15,LOW);
              }
              if(readov>overheat*2){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,0);
              digitalWrite(ledb4,0);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*3){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,0);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*4){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,0);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*5){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,0);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*6){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,0);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*7){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,0);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*8){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,0);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*9){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,0);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*10){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,0);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*11){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,0);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*12){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,0);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*13){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,0);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*14){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,1);
              digitalWrite(ledb15,0);
              }
              if(readov>overheat*15){
              digitalWrite(ledb1,1);
              digitalWrite(ledb2,1);
              digitalWrite(ledb3,1);
              digitalWrite(ledb4,1);
              digitalWrite(ledb5,1);
              digitalWrite(ledb6,1);
              digitalWrite(ledb7,1);
              digitalWrite(ledb8,1);
              digitalWrite(ledb9,1);
              digitalWrite(ledb10,1);
              digitalWrite(ledb11,1);
              digitalWrite(ledb12,1);
              digitalWrite(ledb13,1);
              digitalWrite(ledb14,1);
              digitalWrite(ledb15,1);
              }
              
            }





void coolingSequence(){
              
  for(int i = A0; i <= A14; i++){
    digitalWrite(i,0);
    }

    for(int i = ledb1; i <= ledb15; i++){
         digitalWrite(i,0);
      }

    for(int i = ledblinkl; i <= ledact3; i++){
         digitalWrite(i,0);
      }
    
    for(int i = l1; i <= l4; i++){
         digitalWrite(i,0);
      }
  
  mp3_play(6);//play cooling sound
  delay(1000);
  digitalWrite(relaisPin,1); //active le relais pendant 3 secondes(ne pas le laisser activer top longtemps pour la E-cig, 3 secondes GRAND MAX !)
  delay(3000);
  digitalWrite(relaisPin,0); //on désactive le relais
  delay(3000); //Délai à mettre en fonction de la durée de ton son overheat, j'ai 3000 ms par exemple, mais tu peut mettre une autre valeur mieux adaptée
  readov = 0;
  brightnessledr=0;
  brightnessledw=0;
  brightnessledb=0;
  brightness=0;
  brightness2=0;
  brightness3=0;
  brightness4=255;
  blinkledr=0;
  blinkledw=0;
  blinkledb=0;
            }

Merci encore pour ton travail! Maintenant que c'est fait, en relisant et étudiant le code je commence à comprendre la logique de la programmation. Bon de là à dire que je serais capable de coder, il y a encore un fossé! LOL
Merci aussi pour les sons, je m'en étais refaits aussi en qualité MP3 128kb mais au final les tiens sont mieux (tu dois avoir une meilleure base de sons que moi) et plus adaptés à ta programmation (les miens se basaient sur la programmation du module son initial).
Par contre je me posais une question, en l'état, hormis les effets sonores du Pack, il n'y a qu'une seule musique lisible (la BO du film). J'aimerais avoir la possibilité de lire plusieurs titres comme sur ton module initial à savoir lancer un titre et pouvoir passer au suivant via les boutons du Wand. En gros on aurait un bouton PLAY permettant de lancer la lecture (comme c'est actuellement le cas) et un autre NEXT TRACK. Quelles lignes dois-je rajouter dans le code pour ça STP?
Pour le moment je ne suis pas en mesure de tester tout ça, je n'ai pas de breadboard pour tester donc il faut que je fasse le montage définitif. Dés que ça sera possible je ne manquerai pas de te dire ce qu'il en est. De toutes façons je compléterai ce post au fur et à mesure de ma progression dans la réalisation de mon Pack.
Merci.
CA A FAIT CHBOUM LA D'DANS

Image
Avatar de l’utilisateur
protongamer
Membre GBF
Membre GBF
Messages : 1718
Inscription : 21 février 2014, 20:56
Localisation : Toulouse 31

Re: Mon premier Proton Pack

Message par protongamer »

Ghostbuster-BZH a écrit : Par contre je me posais une question, en l'état, hormis les effets sonores du Pack, il n'y a qu'une seule musique lisible (la BO du film). J'aimerais avoir la possibilité de lire plusieurs titres comme sur ton module initial à savoir lancer un titre et pouvoir passer au suivant via les boutons du Wand. En gros on aurait un bouton PLAY permettant de lancer la lecture (comme c'est actuellement le cas) et un autre NEXT TRACK. Quelles lignes dois-je rajouter dans le code pour ça STP?
De rien l'ami ;)

Alors sache que tu n'as pas besoin de rajouter de lignes car si tu as bien observé le code, j'ai ajouté la fonctionnalité de jouer les bandes sons. A la limite, si tu veut jouer plus d'une bande son, tu devra changer ce paramètre :

Code : Tout sélectionner

//Nombre maximum de musiques
#define MAX_TRACKS  1

Et dans ce code ci-dessous, c'est la fonctionnalité pour pouvoir jouer les musiques:

Code : Tout sélectionner

if(boot == 0 && digitalRead(button2) == 0 && alreadyTrack == 1){

mp3_play(8+track);//play soundtrack

track++;

if(track >= MAX_TRACKS){
  track = 0;
}
alreadyTrack = 0;

}

Donc si tu as bien observé la deuxième partie du code, les fichiers musiques doivent se nommer à partir de 0008.mp3 jusqu'à xxxx.mp3
xxxx -> nombre max de musiques bien sur, pas une musique salace :mrgreen:
voila voila ;)
Image
Quel est cet artefact ? Un jeu hanté !
On a un message Gozerien, il faut le décrypter !

lzqdm.owwotm.kwu/file/d/1BI9TpXXM0K-pEHzBplydZfXZGfN7A2Y4/view?usp=sharing

Une année clé nous aiderai à décaler ces lettres. Mais laquelle ?
Avatar de l’utilisateur
Ghostbuster-BZH
Membre GBF
Membre GBF
Messages : 1049
Inscription : 23 mars 2019, 22:00
Pseudo XBOX Live : GB BZH
Localisation : Bretagne (22)

Re: Mon premier Proton Pack

Message par Ghostbuster-BZH »

protongamer a écrit :
Ghostbuster-BZH a écrit : Par contre je me posais une question, en l'état, hormis les effets sonores du Pack, il n'y a qu'une seule musique lisible (la BO du film). J'aimerais avoir la possibilité de lire plusieurs titres comme sur ton module initial à savoir lancer un titre et pouvoir passer au suivant via les boutons du Wand. En gros on aurait un bouton PLAY permettant de lancer la lecture (comme c'est actuellement le cas) et un autre NEXT TRACK. Quelles lignes dois-je rajouter dans le code pour ça STP?
De rien l'ami ;)

Alors sache que tu n'as pas besoin de rajouter de lignes car si tu as bien observé le code, j'ai ajouté la fonctionnalité de jouer les bandes sons. A la limite, si tu veut jouer plus d'une bande son, tu devra changer ce paramètre :

Code : Tout sélectionner

//Nombre maximum de musiques
#define MAX_TRACKS  1

Et dans ce code ci-dessous, c'est la fonctionnalité pour pouvoir jouer les musiques:

Code : Tout sélectionner

if(boot == 0 && digitalRead(button2) == 0 && alreadyTrack == 1){

mp3_play(8+track);//play soundtrack

track++;

if(track >= MAX_TRACKS){
  track = 0;
}
alreadyTrack = 0;

}

Donc si tu as bien observé la deuxième partie du code, les fichiers musiques doivent se nommer à partir de 0008.mp3 jusqu'à xxxx.mp3
xxxx -> nombre max de musiques bien sur, pas une musique salace :mrgreen:
voila voila ;)
Ah OK, je vois... T’es un chef! Merci mille fois! Sérieusement ton pseudo est mal choisi, Spengler t’irait à la perfection!
J’espère avoir un jour l’occasion de te croiser sur une conv pour te payer un coup!
CA A FAIT CHBOUM LA D'DANS

Image
Avatar de l’utilisateur
Ghostbuster-BZH
Membre GBF
Membre GBF
Messages : 1049
Inscription : 23 mars 2019, 22:00
Pseudo XBOX Live : GB BZH
Localisation : Bretagne (22)

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Ghostbuster-BZH »

Enfin des nouvelles de mon Pack Proton...

Gros changement de direction, je suis tombé sur une super opportunité et j'ai fait l'acquisition d'un Neutrino Wand Matty! Du coup plus besoin de me refaire un Neutrino sur mesure (kit Wand 80% Benofkent neuf que je revends d'ailleurs) et de ce fait toute la partie électronique Arduino du pack n'était plus adaptée et devait elle aussi changée. Désolé Protongamer pour tout le temps que tu as passé à m'aider dans la préparation du programme Arduino, ça servira peut-être à d'autres par contre...

Voici donc la liste mattos définitif :
- 1 Proton Pack Spirit Halloween
- 1 Neutrino Wand Matty
- 1 kit lumières SH Ghostlab
- 1 kit son SH/Matty Ghostlab
- 1 kit Vent Relay Ghostlab
- 1 abaisseur de tension
- 1 e-Cig
- 1 pompe à air
- 2 LED blanches 10mm
- du cablage
- 1 batterie 12V 9800mAh
- 1 kit cosmétique upgrade SH Benofkent
- 1 Alice Frame
- 1 tube d'isolant pour tuyau
- 1 kit pattes de fixation SH pour Alice Pack Ghostlab
- peinture noir mat
- peinture alu métallisée
- colle chaude

J'ai commencé par complètement désossé le pack proton SH en retirant toute l'électronique et le Wand d'origine (je compte d'ailleurs le ré-utiliser pour en faire un jouet pour mon fils).
J'ai apporté quelques modifications au pack (fausses soudures avec colle chaude, rebouchage des trous du HP, ponçage,...) avant de tout repeindre en noir mat.
Une fois sec j'ai fait des traces d'usures avec un pinceau brosse bien bousillé et la peinture alu métallisé.
J'ai changé le bumper d'origine par un de chez Benofkent pour SH repeint en alu métallisé.
J'ai apporté les différentes modifications cosmétiques pour le rendre un peu plus réaliste (nappe, gaine,...).
Je me suis ensuite attaqué à l'intérieur en installant les différents kits électroniques. Rien de bien sorcier, on suit les tutos PDF fournis en ligne par Ghostlab.
Pour la partie Vent, j'ai commencé par percer et découper les pièces existantes et ajouté un morceau de tuyau PVC D50. J'ai raccordé directement à la sortie du relais 2 LED blanches 10mm (donc alimentée en 12V avec les résistances adaptées bien sûr) et un ventilateur que je vais coller (je récupère le ventilo demain) sur le dessus du tuyau PVC. J'ai également branché en sortie de relais un abaisseur de tension pour alimenter une pompe à air et une e-Cig. En sortie de l'e-Cig un petit tuyau amène la fumée directement dans le tube PVC. Et hop, un Overheat fonctionnel! Merci les vidéos tutos sur Youtube!
J'ai découpé une motherboard en médium de 3mm (j'ai balancé celle en carton), c'est pas parfait mais ça fait l'affaire. j'ai ajouté dessus une fiche pour recharger la batterie et un interrupteur général.
Restait plus qu'à fixer l'Alice Frame avec les pattes Ghostlab, un jeu d'enfant! Et hop! C'est fini, un Proton Pack relativement correct quand on voit de quoi je suis parti!
Dans la pratique il me reste quelques détails à peaufiner encore mais je vous mets déjà quelques photos. Les photos du pack totalement terminé suivront avec une petite vidéo de démo.

Image

Image

Image

Image

Image

Image

Image

Image
CA A FAIT CHBOUM LA D'DANS

Image
Avatar de l’utilisateur
Misterdid
Membre GBF
Membre GBF
Messages : 282
Inscription : 05 novembre 2019, 23:10

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Misterdid »

:crunch: :crunch: :crunch: :crunch: :crunch:

Trop top moumoute ! Bravo !
Avatar de l’utilisateur
Ghostbuster-BZH
Membre GBF
Membre GBF
Messages : 1049
Inscription : 23 mars 2019, 22:00
Pseudo XBOX Live : GB BZH
Localisation : Bretagne (22)

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Ghostbuster-BZH »

Misterdid a écrit ::crunch: :crunch: :crunch: :crunch: :crunch:

Trop top moumoute ! Bravo !
Merci.
CA A FAIT CHBOUM LA D'DANS

Image
Avatar de l’utilisateur
Misterdid
Membre GBF
Membre GBF
Messages : 282
Inscription : 05 novembre 2019, 23:10

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Misterdid »

ton shpp t'es revenu à combien avec tout les rajouts si cela n'est pas trop indiscret ?
Avatar de l’utilisateur
Ghostbuster-BZH
Membre GBF
Membre GBF
Messages : 1049
Inscription : 23 mars 2019, 22:00
Pseudo XBOX Live : GB BZH
Localisation : Bretagne (22)

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Ghostbuster-BZH »

Misterdid a écrit :ton shpp t'es revenu à combien avec tout les rajouts si cela n'est pas trop indiscret ?
- Proton Pack SH : 142€
- Neutrino Wand Matty : 300€
- Kits GhostLab : 200€
- Alice Frame : 10€ sur un vide grenier (il est pas tout à fait accurate mais ça fait l’affaire)
- kit cosmétique Benofkent : 80€
- kit fumée : moins de 10€ (beaucoup de récup et de bidouille)
- peinture : récup

C’est pas donné mais ça reste accessible et le résultat final est pas trop mal.
Je viens de le finir, il manque juste les stickers. Je posterai le rendu final demain soir je pense.
Dernière modification par Ghostbuster-BZH le 11 février 2021, 01:21, modifié 2 fois.
CA A FAIT CHBOUM LA D'DANS

Image
Avatar de l’utilisateur
Misterdid
Membre GBF
Membre GBF
Messages : 282
Inscription : 05 novembre 2019, 23:10

Re: [GHOSTBUSTER-BZH] Mon premier Proton Pack

Message par Misterdid »

Alors vivement aujourd'hui :oui: :oui:
Répondre