1
Flippers / [WIP] Restauration de mon Indiana Jones
« le: Dimanche 02 Octobre 2016, 18:35:19 pm »
Ton flipp est magnifique, tu as fait a mon sens juste ce qu'il fallait sans le rendre bling-bling comme certain font.
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>
SdFat sd;
SFEMP3Shield MP3player;
const int btnPin=12;
#define NUMBERSWITCH 3 // Nombre de switch
// Switch 1 2 3
const int btnPins[]= {18, 19, 20}; // pin correspondant a chaque switch
const int tracks[] = { 1, 2, 3}; // morceau à lire pour chaque switch
const int gyro[] = {26, 24, 22};
int buttonState = 0;
void setup() {
Serial.begin(9600);
//start the shield
sd.begin(SD_SEL, SPI_HALF_SPEED);
MP3player.begin();
for(int i=0; i<NUMBERSWITCH; i++){
pinMode(btnPins[i], INPUT);
}
}
//do something else now
void loop() {
int tracktoplay = 0;
//detecte le bouton actif
for(int i = 0; i< NUMBERSWITCH; i++){
int state = digitalRead(btnPins[i]);
if(state == LOW){ // le bouton numéro i est appuyé ?
digitalWrite (gyro[i], HIGH);
tracktoplay = tracks[i]; // on va jouer le morceau correspondant
break; // on a trouvé le morceau à jouer
}else
digitalWrite(gyro[i], LOW); // si non alors on n'alimente pas la broche 18 => gyro1 éteint
}
if(tracktoplay != 0){ //Est-ce qu'il y a un morceau à jouer ?
if (! MP3player.isPlaying()) //Est ce que l'on joue déjà le morceau ?
MP3player. playTrack(tracktoplay); // si non, on lance la musique
}
}
void loop() {
int b = 1;
int d = 1;
int f = 1;
int a = digitalRead(18); // lit la valeur de la broche 18
int c = digitalRead(19); // lit la valeur de la broche 19
int e = digitalRead(20);
if(a==b) // test si la valeur de a est égale à 1 (soit est ce que le bouton 1 est enfoncé ?)
{digitalWrite(gyro1,LOW); // si oui alors on alimente la broche 18 => gyro1 allumée
}else
digitalWrite(gyro1, HIGH); // si non alors on n'alimente pas la broche 18 => gyro1 éteint
if(c==d) // test si la valeur de c est égale à 1 (soit est ce que le bouton 2 est enfoncé ?)
{digitalWrite(gyro2,LOW); // si oui alors on alimente la broche 19 => gyro2 allumée
}else
digitalWrite(gyro2, HIGH); // si oui alors on n'alimente pas la broche 19 => gyro2 éteint
if(e==f)
{digitalWrite(gyro3,LOW);
}else
digitalWrite(gyro3,HIGH);
}