Bonjour je débute, j'ai fait un code pour un arduino nano pour allumer des led et jouer un morceaux de musique c'est pour une Ecto-1 imprimer en 3d, mon problème c'est que même led clignotait comme il faut j'ai rajouter mon mp3 et quand le mp3 se lance certaine led devrais clignoter mais tout reste allumer merci.
`Texte préformaté`
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
#include <DFRobotDFPlayerMini.h>
#include <digitalPinFast.h>
SoftwareSerial mySerial(10, 11); // RX, TX
#define TIMING 100
#define PIN_FLASH_RED 5 //Feu rouge sur le toit avant
#define PIN_FLASH_BLUE_1 10 //Feu bleu avant sur le toit 1
#define PIN_FLASH_BLUE_2 A2 //Feu bleu avant sur le toit 2
#define PIN_FLASH_BLUE_S 3 //Clignotant côté gauche, rétroviseur extérieur
#define PIN_STROBE_1 2 //Clignotant avant 1
#define PIN_STROBE_2 4 //Clignotant avant 2
#define PIN_HEADLIGHTS A1 //Phare
#define PIN_TAILLIGHTS A4 //Phare Jaune
#define PIN_TAILLIGHTS_A4 A3 //Feu arrière
int beacon[] = { 6, 7, 8, 9 }; //Balise sur le toit. 4 balises qui font 4 LED par broche.
void Starting_Sequence()
{
digitalWrite(PIN_TAILLIGHTS, HIGH);
delay(2000);
digitalWrite(PIN_TAILLIGHTS_A4, HIGH);
delay(2000);
digitalWrite(PIN_HEADLIGHTS, HIGH);
delay(2000);
digitalWrite(PIN_FLASH_BLUE_1, HIGH);
delay(2000);
digitalWrite(PIN_FLASH_BLUE_2, HIGH);
delay(2000);
for (int i = 0; i < 6; i++)
{
digitalWrite(PIN_HEADLIGHTS, LOW);
delay(20);
digitalWrite(PIN_HEADLIGHTS, HIGH);
delay(150);
}
digitalWrite(PIN_STROBE_1, HIGH);
digitalWrite(PIN_STROBE_2, HIGH);
delay(1000);
digitalWrite(PIN_FLASH_BLUE_S, HIGH);
delay(1000);
digitalWrite(PIN_FLASH_BLUE_1, HIGH);
delay(500);
digitalWrite(PIN_FLASH_BLUE_2, HIGH);
delay(1000);
digitalWrite(PIN_FLASH_RED, HIGH);
delay(1000);
for (int i = 0; i < 4; i++)
{
digitalWrite(beacon[i], HIGH);
delay(500);
}
delay(1500);
}
void set_lights(int a, int b, int c, int d, int strobe)
{
// analogWrite(PIN_FLASH_WHITE, a);
analogWrite(PIN_FLASH_BLUE_S, a);
analogWrite(PIN_FLASH_RED, d);
digitalWrite(strobe, digitalRead(strobe) == HIGH ? LOW : HIGH);
delay(25);
}
void setup(){
for (int i = 0; i < 4; i++)
{
pinMode(beacon[i], OUTPUT);
}
pinMode(PIN_FLASH_RED, OUTPUT);
pinMode(PIN_FLASH_BLUE_1, OUTPUT);
pinMode(PIN_FLASH_BLUE_2, OUTPUT);
pinMode(PIN_FLASH_BLUE_S, OUTPUT);
pinMode(PIN_STROBE_1, OUTPUT);
pinMode(PIN_STROBE_2, OUTPUT);
pinMode(PIN_HEADLIGHTS, OUTPUT);
pinMode(PIN_TAILLIGHTS, OUTPUT);
pinMode(PIN_TAILLIGHTS_A4, OUTPUT);
Starting_Sequence();
// son
mySerial.begin (9600);
Serial.begin (9600);
mp3_set_serial (mySerial); //définir le logicielSerial pour le module mp3 DFPlayer-mini
delay(10); //wait 1ms for mp3 module to set volume
mp3_set_volume (30); // valeur 0~30
mp3_set_EQ(0); //0~5Serial.begin (9600);
randomSeed(analogRead(0)); // randomize le random
}
void loop()
{
// ----------------- SOUND ---------------------
mp3_play (1);
delay (300000);
digitalWrite(beacon[1], HIGH);
set_lights(0, 250, 0, 0, PIN_STROBE_1);
set_lights(60, 190, 60, 60, PIN_STROBE_1);
set_lights(130, 130, 130, 130, PIN_STROBE_2);
set_lights(190, 60, 190, 190, PIN_STROBE_2);
set_lights(250, 10, 250, 250, PIN_STROBE_1);
digitalWrite(beacon[1], LOW);
for (int i = 2; i < 4; i++) {
digitalWrite(beacon[i], HIGH);
delay(TIMING);
digitalWrite(beacon[i], LOW);}
for (int i = 3; i >= 0; i--){
digitalWrite(beacon[i], LOW);}
digitalWrite(beacon[0], HIGH);
set_lights(190, 60, 190, 190, PIN_STROBE_1);
set_lights(130, 130, 130, 130, PIN_STROBE_2);
set_lights(60, 190, 60, 60, PIN_STROBE_2);
set_lights(0, 250, 0, 0, PIN_STROBE_1);
digitalWrite(beacon[0], LOW);
}