Probléme de téléversement

Forum spécifique au shield Deuligne

Probléme de téléversement

Message non lude Elfen » Sam 4 Mai 2013 21:35

Bonjour à tous!

J'ai acheté il y a peu de temps un Deuligne pour une carte Arduino UNO. Après l'avoir monté j'ai ensuite effectué des petits testes pour voir si tout fonctionnait (avec les programmes mis à disposition) et rien ne semblait anormal :D . Cependant lorsque je téléverse un programme de plus de 15 999 octets (tout marche lorsque je téléverse un programme de 15558 octets) l'écran ne m'affiche pas les bons caractères ( et le capteur à ultrason de mon montage n’émet plus de signal non plus). Mes recherches sur le problème n'ont aboutis à une solution, c'est pour cela que je sollicite votre aide :?

Merci!
Heu...Bonjour
Avatar de l’utilisateur
Elfen
 
Messages: 4
Inscription: Sam 4 Mai 2013 21:20

Re: Probléme de téléversement

Message non lude phil » Dim 5 Mai 2013 23:35

est ce que tu peux poster les deux codes en question : celui qui marche et celui qui marche pas ?

Est ce que tu utilises progmem ou la librairie flash j'ai déjà eu des trucs assez bizarre avec ces fonctions ?
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Probléme de téléversement

Message non lude Elfen » Lun 6 Mai 2013 18:22

Voila les 2 codes en question (le premier code marche et non le second). Le projet consiste à jouer de la musique soit a l'aide d'un clavier souple, soit avec un capteur à ultrason, ou soit écouter de la musique programmé. C'est les musiques programmées qui prennent le plus de place. Concernant les libraries j'utilise <Deuligne>, <Keypad> et <Wire>.
Excusez moi si le code n'est pas optimisé, je n'utilise Arduino que depuis peu, et je ne cache pas que je me suis grandement inspiré d'autres codes concernant la programmation de musique :roll:

premier code :
Code: Tout sélectionner
#include "Wire.h"
#include <Deuligne.h>
#include <Keypad.h>

Deuligne lcd;  // initialiser l'écran LCD

int echoPin = 2;  // entrée du capteur broche 2
int initPin = 3;  // sortie du capteur broche 3
unsigned long pulseTime = 0;  // durée de la pulsation (en microseconde)
unsigned long distance = 0;  // variable de la distance (en cm)

int buzzer = 9;
int length =0;
int notes = 0;
int tempo =0;
int beats =0;

// Fairy Tail
int length2 = 210; // nombre de notes
int tempo2 = 40;
char notes2[] = "RMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMrmfmsflsfmrmfmsflsfmrmfmsflsfmRMFMSFLSFMrlldsdfmrmrlDDdlfsdfmrmrmfmsflsfmRMFMSFLSFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMR";
float beats2[] = {4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,16,32,4,4,4,4,16,16,16,16,16,16,16,4,4,4,4,8,8,8,8,16,16,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,10}; //Tempo

void playTone(int ton1, int duration){
  for (long i = 0; i < duration * 1000L; i += ton1){
    tone(buzzer, ton1);
    delayMicroseconds(ton1);}
  noTone(buzzer);}

void playNote(char note, int duration) {
//                  do    do#   re    re#  mi   fa   fa#   sol  sol#  la   la#  si   do
char names[] = { '0',  '!', '1', '?', '2', '3', '.', '4', ':', '5', ',', '6', 'd', 'i', 'r', 'j', 'm','f', 'k', 's', 'o','l','n', 'p', 'D', 'I', 'R', 'J', 'M', 'F', 'K', 'S', 'O', 'L', 'N', 'P' , 'X' , ' W' };
int tones[] =  { 131, 138, 147, 155, 165, 175, 185, 196, 208, 220, 233, 247, 262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494, 523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988 ,1046, 1175};
 
  // jouer les notes correspondantes aux fréquences
  for (int i = 0; i < 38; i++){
    if (names[i] == note){
      playTone(tones[i], duration);}}}

int j = 0;  // variable pour savoir quand quitter le modce
int u = 0;  // variable pour savoir le mode
int m = 0;  // variable pour savoir la musique
int i = 0;  // variable de l'emplacement des notes sur l'écran LCD
int t = 0;  // variable pour reconnaitre les notes #


const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 lignes
char keys[ROWS][COLS] = {  // disposition du clavier
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {7, 6, 5, 4}; // pin à connecter pour les lignes
byte colPins[COLS] = {11, 10, 8}; // pin à connecter pour les colonnes

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
lcd.init();
lcd.print("musique :");
lcd.setCursor(0, 1);
lcd.print("Jouer capteur");
u=1;
pinMode(initPin,OUTPUT);                     
pinMode(echoPin,INPUT); // c'est une entrée car elle reçoit une information                     
pinMode(buzzer,OUTPUT);}

void loop(){
char key = keypad.getKey(); 

/////////////////////////////////////////////////////////////////
///                          MENU                             ///
/////////////////////////////////////////////////////////////////
if (j==0){
  if (key=='1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key=='2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer clavier");
    u=2;}
  if (key=='3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer musique");
    u=3;}
  if (key=='0'){
    lcd.clear();
    lcd.print("musique :"); 
    if (u==1){
      j=1;} 
    if (u==2){
      j=2;}
    if (u==3){
      j=3;
      lcd.setCursor(0, 1);
      lcd.print("La Marche Turque");
      m=1;}}}           
   
/////////////////////////////////////////////////////////////////
///                      JOUER CAPTEUR                        ///
/////////////////////////////////////////////////////////////////
if (j==1){ 
  digitalWrite(initPin, HIGH);  // envoi du signal...
  delayMicroseconds(10);  // ...durant 10 microsecondes
  digitalWrite(initPin, LOW);  // fin de l'envoi du signal
  pulseTime = pulseIn(echoPin, HIGH);  // calcul du temps entre l'envoi du signal et sa reception
  distance = pulseTime/58;  // convertion du temps en distance
  ////////////////////////////////Do////////////////////////////////
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (distance>3.5 && distance<5.5){  // la main est entre 3cm et 6cm
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);  //do          pin de sortie, fréquence de la note, durée de la note en ms
      delay(250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////Re////////////////////////////////   
  if (distance>=6.5 && distance<8.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=9.5 && distance<11.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Fa//////////////////////////////// 
  if (distance>=12.5 && distance<14.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;}}
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=15.5 && distance<17.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;}}   
  ////////////////////////////////La//////////////////////////////// 
  if (distance>=18.5 && distance<20.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Si//////////////////////////////// 
  if (distance>=21.5 && distance<23.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=24.5 && distance<26.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////RE////////////////////////////////   
  if (distance>=27.5 && distance<29.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=30.5 && distance<32.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////FA//////////////////////////////// 
  if (distance>=33.5 && distance<35.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;}}   
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=36.5 && distance<38.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;}} 
  ////////////////////////////////LA//////////////////////////////// 
  if (distance>=39.5 && distance<41.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////SI//////////////////////////////// 
  if (distance>=42.5 && distance<44.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=45.5 && distance<47.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;}}}
     
/////////////////////////////////////////////////////////////////
///                      JOUER CLAVIER                        ///
/////////////////////////////////////////////////////////////////
if (j==2){
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;} 
  if (key == '1'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}}}     
////////////////////////////////Re////////////////////////////////
  if (key == '2'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Mi////////////////////////////////       
  if (key == '3'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////Fa////////////////////////////////       
  if (key == '4'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}}}
///////////////////////////////Sol////////////////////////////////
  if (key == '5'){
    if (t==0){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}}
    else{
      if (i<13){
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}}}
////////////////////////////////La////////////////////////////////       
  if (key == '6'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Si////////////////////////////////       
  if (key == '7'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////DO////////////////////////////////       
  if (key == '8'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}}}       
////////////////////////////////RE////////////////////////////////
  if (key == '9'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////##////////////////////////////////
  if (key == '#'){
    t=1;}
///////////////////////////////RESET///////////////////////////////   
  if (key == '0'){
    lcd.clear();
    lcd.print("musique :");
    i=0;
    t=0;}}

/////////////////////////////////////////////////////////////////
///                      JOUER MUSIQUE                        ///
/////////////////////////////////////////////////////////////////

if (j==3){   
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key == '1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("La marche Turque");
    m=1;}
  if (key == '2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Fairy Tail");
    m=2;}
  if (key == '3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Lilium");
    m=3;}
  if (key == '4'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("London");
    m=4;}
  if (key == '5'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Mario Bross");
    m=5;}
  if (key == '6'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Nazotoki");
    m=6;}   
  if (key == '7'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris A");
    m=7;}
  if (key == '8'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris C");
    m=8;}
  if (key == '9'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Menuet");
    m=9;}   
  if (key == '0'){
    if (m==2){
      for (int i = 0; i < length2; i++){
        if (notes2[i] == ' '){
          delay(beats2 [i] * tempo2);} // rest
        else {
          playNote(notes2 [i], beats2 [i] * tempo2);} 
        delay(tempo2 / 2);}}}}}


second code : (avec toutes les musiques, soit neuf au total)
Code: Tout sélectionner
#include "Wire.h"
#include <Deuligne.h>
#include <Keypad.h>

Deuligne lcd;  // initialiser l'écran LCD

int echoPin = 2;  // entrée du capteur broche 2
int initPin = 3;  // sortie du capteur broche 3
unsigned long pulseTime = 0;  // durée de la pulsation (en microseconde)
unsigned long distance = 0;  // variable de la distance (en cm)

int buzzer = 9;
int length =0;
int notes = 0;
int tempo =0;
int beats =0;

// La Marche Turque
int length1 = 500; // the number of notes
int tempo1 = 30;
char notes1[] = "plolD RDpDM FMJMPLOLPLOLXLXSLPLSLSLPLSLSLPLSKMMFSSLSFMRsMFSSLSFMRDRMMFMRDpmDRMMFMRDpplolD RDpDM FMJMPLOLPLOLXLPXPLOLMFRDplpl lpIlpIplokolpomlpIlpIplokpoml CWCPLPLOKLOKFKOFIJFIKFKOLOLPCXCXCWCPLPLOKLOKMKOMIJMIJMKJDIJDIMRIplpIRMKOLLOKMMRIplpIRMKOLNPMRIplpIRMKOLLOKMMRIpIMlIpRoplCWCPLPLOKLOKFKOFIJFIKFKOLOLPCXCXCXCNWCWCWCWCWCPLOLPOLPCLFKOFK";
float beats1[] = {2,2,2,2,4,4,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,8,4,4,0.3,0.3,4,4,4,4,0.3,0.3,4,4,4,4,0.3,0.3,4,4,4,4,8,4,4,4,4,2,2,2,2,4,4,4,4,4,4,2,2,2,2,8,4,4,4,4,2,2,2,2,4,4,4,4,4,4,2,2,2,2,8,2,2,2,2,4,4,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,8,4,4,4,4,4,4,4,4,4,4,8,3,1.5,1.5,8,6,4,4,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,4,4,4,4,4,4,4,4,8,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8};
// Fairy Tail
int length2 = 210; // the number of notes
int tempo2 = 40;
char notes2[] = "RMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMrmfmsflsfmrmfmsflsfmrmfmsflsfmRMFMSFLSFMrlldsdfmrmrlDDdlfsdfmrmrmfmsflsfmRMFMSFLSFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMR";
float beats2[] = {4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,16,32,4,4,4,4,16,16,16,16,16,16,16,4,4,4,4,8,8,8,8,16,16,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,10}; //Tempo
// Lilium
int length3 = 122; // the number of notes
int tempo3 = 100;
char notes3[] = "kIollkIolplkomrmkrirmkolplokIollkIolplkomrmkrirplokfjfk npIRloRIMlIplomrinpIRloRIMlIDlokllpo kIollkIolplkomrmkrirplokfjfk";
float beats3[] = {1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,3,1,1,1,4,2,1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,0.5,1,1,1,1,1,1,1,1,1,1,1,1.2,1.2,1.2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,0.5,1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,2};
// London
int length4 = 67; // the numbaer of notes
int tempo4 = 100;
char notes4[] = "mkslpmjDplskmkslpDRDpDlDplplsksk6mkslpmjDplskmkslpDRDpDlDplplskskcd";
float beats4[] = {4,0.6666,0.6666,0.6666,4,2,4,2,6,4,0.6666,0.6666,0.6666,4,1,1,12,4,0.6666,0.6666,0.6666,5,1,6,6,4,0.6666,0.6666,0.66665,5,1,6,6,4,0.6666,0.6666,0.6666,4,2,4,2,6,4,0.6666,0.6666,0.6666,4,1,1,12,4,0.6666,0.6666,0.6666,5,1,6,6,4,0.6666,0.6666,0.66665,5,1,6};
// Mario Bross               
int length5 = 295; // the number of notes
int tempo5 = 95;
char notes5[] = "MM M DM S  s  D  s m  l p nl sMSL FS M DRp D  s m  l p nl sMSL FS M DRp  SKFJ M olD lDR SKFJ M X XX   SKFJ M olD lDR J  R D   DD D DR MD ls  DD D DRM  DD D DR MD ls  MM M DM S  s  D  s m  l p nl sMSL FS M DRp D  s m  l p nl sMSL FS M DRp MD s o lF Fl  pLLLSFMD ls  MD l o lF Fl  pF FFMRDm md  "; // a space represents a rest
float beats5[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, //Page 1
                2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 4, //Page 2
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, //Page4
                1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, //Page 5
                1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1.3, 1.3, 1.3, 1, 1, 1, 1, 1, 1, 2 }; //Page 6
// Nazotoki
int length6 = 208; // the number of notes
int tempo6 = 135;
char notes6[]="dDpDRJsonofFJRDpOSFJRDpDRDRJRJRJRDRdss4sio4sdss4siosjfssslkr rjffjrjfsjsrsssksllkR rjfsoososfjrrd  DpDRJsonofFJRDpOSFJRDpDRDpDjfssssllkr rjffjrjfsjssrssskslkR onDnDRDnD DDnDRDns ssffjns DRJRDpsD DDsssnonosslp";
float beats6[]={1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,1,1,1,2,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,1,2,0.5,0.5,0.5,0.5,1,0.5,0.5,1,1,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,2,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,1,1,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,2,0.5,0.5,0.5,0.5,1,1,1,1,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,2,2,0.5,0.5,0.5,0.5,1,0.5,0.5,2,1,0.5,0.5,1,1,1,1,2,1,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,2.5,1,1,2};
// Tetris A
int length7 = 142; // the number of notes
int tempo7 = 95;
char notes7[] = "MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll mdr6d5:6 mdr6dmlo MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll";
float beats7[] = {2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,4,4,4,4,4,4,4,2,2,4,4,4,4,2,2,4,4,6,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2}; //Tempo
// Tetris C
int length8 = 169; // the number of notes
int tempo8 = 60;
char notes8[] = "lIKIoIlIkIfIlIKIoIlIkIfIlIlkRpopomIlkIplokfifoIplIKIoIlIkIfIlIKIoIlIkIfIlIlkRpopomMpIMIlmol MRIplolpIlpRIRMolpIpIKJKOLOKMJIJDI M KSKMJMIJpK OLOKFKJFIOFIFOPWFXFPFLPLOLKOK";
float beats8[] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,2,2,1,1,2,2,1,1,1,1,1,1,2,4,2,1,0.5,0.5,1,1,1,1,1,1,1,2,1,0.5,0.5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,0.5,0.5,2}; //Tempo
// Menuet
int length9 = 127; // the number of notes
int tempo9 = 90;
char notes9[]="RslpDRssMDRMKSssDRDplpDplskslpsplRslpDRssMDRMKSssDRDplpDplslplsksPSLPSLRMKMSMKSRIpIllpIRMKSKMKsIRRsksMsksRDplskslrmkslpDplpRsks";
float beats9[]={2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,4,2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,6,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,2,1,1,1,1,1,1,2,2,2,2,2,2,6,2,1,1,2,2,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,1,1,2,2,2,1,1,2,2,6};

void playTone(int ton1, int duration){
  for (long i = 0; i < duration * 1000L; i += ton1){
    tone(buzzer, ton1);
    delayMicroseconds(ton1);}
  noTone(buzzer);}

void playNote(char note, int duration) {
//                  do    do#   re    re#  mi   fa   fa#   sol  sol#  la   la#  si   do
char names[] = { '0',  '!', '1', '?', '2', '3', '.', '4', ':', '5', ',', '6', 'd', 'i', 'r', 'j', 'm','f', 'k', 's', 'o','l','n', 'p', 'D', 'I', 'R', 'J', 'M', 'F', 'K', 'S', 'O', 'L', 'N', 'P' , 'X' , ' W' };
int tones[] =  { 131, 138, 147, 155, 165, 175, 185, 196, 208, 220, 233, 247, 262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494, 523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988 ,1046, 1175};
 
  // play the tone corresponding to the note name
  for (int i = 0; i < 38; i++){
    if (names[i] == note){
      playTone(tones[i], duration);}}}

int j = 0;  // variable pour savoir quand quitter le modce
int u = 0;  // variable pour savoir le mode
int m = 0;  // variable pour savoir la musique
int i = 0;  // variable de l'emplacement des notes sur l'écran LCD
int t = 0;  // variable pour reconnaitre les notes #


const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 lignes
char keys[ROWS][COLS] = {  // disposition du clavier
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {7, 6, 5, 4}; // pin à connecter pour les lignes
byte colPins[COLS] = {11, 10, 8}; // pin à connecter pour les colonnes

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
lcd.init();
lcd.print("musique :");
lcd.setCursor(0, 1);
lcd.print("Jouer capteur");
u=1;
pinMode(initPin,OUTPUT);                     
pinMode(echoPin,INPUT); // c'est une entrée car elle reçoit une information                     
pinMode(buzzer,OUTPUT);}

void loop(){
char key = keypad.getKey(); 

/////////////////////////////////////////////////////////////////
///                          MENU                             ///
/////////////////////////////////////////////////////////////////
if (j==0){
  if (key=='1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key=='2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer clavier");
    u=2;}
  if (key=='3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer musique");
    u=3;}
  if (key=='0'){
    lcd.clear();
    lcd.print("musique :"); 
    if (u==1){
      j=1;} 
    if (u==2){
      j=2;}
    if (u==3){
      j=3;
      lcd.setCursor(0, 1);
      lcd.print("La Marche Turque");
      m=1;}}}           
   
/////////////////////////////////////////////////////////////////
///                      JOUER CAPTEUR                        ///
/////////////////////////////////////////////////////////////////
if (j==1){ 
  digitalWrite(initPin, HIGH);  // envoi du signal...
  delayMicroseconds(10);  // ...durant 10 microsecondes
  digitalWrite(initPin, LOW);  // fin de l'envoi du signal
  pulseTime = pulseIn(echoPin, HIGH);  // calcul du temps entre l'envoi du signal et sa reception
  distance = pulseTime/58;  // convertion du temps en distance
  ////////////////////////////////Do////////////////////////////////
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (distance>3.5 && distance<5.5){  // la main est entre 3cm et 6cm
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);  //do          pin de sortie, fréquence de la note, durée de la note en ms
      delay(250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////Re////////////////////////////////   
  if (distance>=6.5 && distance<8.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=9.5 && distance<11.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Fa//////////////////////////////// 
  if (distance>=12.5 && distance<14.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;}}
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=15.5 && distance<17.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;}}   
  ////////////////////////////////La//////////////////////////////// 
  if (distance>=18.5 && distance<20.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Si//////////////////////////////// 
  if (distance>=21.5 && distance<23.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=24.5 && distance<26.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////RE////////////////////////////////   
  if (distance>=27.5 && distance<29.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=30.5 && distance<32.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////FA//////////////////////////////// 
  if (distance>=33.5 && distance<35.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;}}   
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=36.5 && distance<38.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;}} 
  ////////////////////////////////LA//////////////////////////////// 
  if (distance>=39.5 && distance<41.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////SI//////////////////////////////// 
  if (distance>=42.5 && distance<44.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=45.5 && distance<47.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;}}}
     
/////////////////////////////////////////////////////////////////
///                      JOUER CLAVIER                        ///
/////////////////////////////////////////////////////////////////
if (j==2){
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;} 
  if (key == '1'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}}}     
////////////////////////////////Re////////////////////////////////
  if (key == '2'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Mi////////////////////////////////       
  if (key == '3'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////Fa////////////////////////////////       
  if (key == '4'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}}}
///////////////////////////////Sol////////////////////////////////
  if (key == '5'){
    if (t==0){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}}
    else{
      if (i<13){
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}}}
////////////////////////////////La////////////////////////////////       
  if (key == '6'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Si////////////////////////////////       
  if (key == '7'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////DO////////////////////////////////       
  if (key == '8'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}}}       
////////////////////////////////RE////////////////////////////////
  if (key == '9'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////##////////////////////////////////
  if (key == '#'){
    t=1;}
///////////////////////////////RESET///////////////////////////////   
  if (key == '0'){
    lcd.clear();
    lcd.print("musique :");
    i=0;
    t=0;}}

/////////////////////////////////////////////////////////////////
///                      JOUER MUSIQUE                        ///
/////////////////////////////////////////////////////////////////

if (j==3){   
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key == '1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("La marche Turque");
    m=1;}
  if (key == '2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Fairy Tail");
    m=2;}
  if (key == '3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Lilium");
    m=3;}
  if (key == '4'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("London");
    m=4;}
  if (key == '5'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Mario Bross");
    m=5;}
  if (key == '6'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Nazotoki");
    m=6;}   
  if (key == '7'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris A");
    m=7;}
  if (key == '8'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris C");
    m=8;}
  if (key == '9'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Menuet");
    m=9;}   
  if (key == '0'){
    if (m==1){
      for (int i = 0; i < length1; i++){
        if (notes1[i] == ' '){
          delay(beats1 [i] * tempo1);} // rest
        else {
          playNote(notes1 [i], beats1 [i] * tempo1);} 
        delay(tempo1 / 2);}}  // pause between notes
    if (m==2){
      for (int i = 0; i < length2; i++){
        if (notes2[i] == ' '){
          delay(beats2 [i] * tempo2);} // rest
        else {
          playNote(notes2 [i], beats2 [i] * tempo2);} 
        delay(tempo2 / 2);}}
    if (m==3){
      for (int i = 0; i < length3; i++){
        if (notes3[i] == ' '){
          delay(beats3 [i] * tempo3);} // rest
        else {
          playNote(notes3 [i], beats3 [i] * tempo3);} 
        delay(tempo3 / 2);}}
    if (m==4){
      for (int i = 0; i < length4; i++){
        if (notes4[i] == ' '){
          delay(beats4 [i] * tempo4);} // rest
        else {
          playNote(notes4 [i], beats4 [i] * tempo4);} 
        delay(tempo4 / 2);}}
    if (m==5){
      for (int i = 0; i < length5; i++){
        if (notes5[i] == ' '){
          delay(beats5 [i] * tempo5);} // rest
        else {
          playNote(notes5 [i], beats5 [i] * tempo5);} 
        delay(tempo5 / 2);}}
    if (m==6){
      for (int i = 0; i < length6; i++){
        if (notes6[i] == ' '){
          delay(beats6 [i] * tempo6);} // rest
        else {
          playNote(notes6 [i], beats6 [i] * tempo6);} 
        delay(tempo6 / 2);}}
    if (m==7){
      for (int i = 0; i < length7; i++){
        if (notes7[i] == ' '){
          delay(beats7 [i] * tempo7);} // rest
        else {
          playNote(notes7 [i], beats7 [i] * tempo7);} 
        delay(tempo7 / 2);}} 
    if (m==8){
      for (int i = 0; i < length8; i++){
        if (notes8[i] == ' '){
          delay(beats8 [i] * tempo8);} // rest
        else {
          playNote(notes8 [i], beats8 [i] * tempo8);} 
        delay(tempo8 / 2);}}
    if (m==9){
      for (int i = 0; i < length9; i++){
        if (notes9[i] == ' '){
          delay(beats9 [i] * tempo9);} // rest
        else {
          playNote(notes9 [i], beats9 [i] * tempo9);} 
        delay(tempo9 / 2);}}       
}}}


Merci de ton aide!
Heu...Bonjour
Avatar de l’utilisateur
Elfen
 
Messages: 4
Inscription: Sam 4 Mai 2013 21:20

Re: Probléme de téléversement

Message non lude phil » Mar 7 Mai 2013 09:50

en regardant rapidement ton code, il me semble que tu es assez optimiste au niveau consommation de RAM ;)
Je m'explique.
Les Arduino Uno sont équipés d'un microcontroleur avec une RAM de 2 Koctets.
en faisant un calcul rapide, il me semble que tes variables notes1, beat1 jusqu’à notes5, beat5 explosent cette limitation !!!
En effet un char consomme 1 octet en mémoire et un float 4 octets. tu es donc à 5155 octets soit bien plus la limite de 2Ko

Du coup, comme les variables beat et notes ne sont pas vouée à changer lors de l’exécution de ton code (elles sont juste lues) je te recommande d'utiliser
les fonctions progmem http://arduino.cc/fr/Main/PROGMEM
ou
la librairie flash http://arduiniana.org/libraries/Flash/ (qui fait la meme chose)
Cela permettra "d’écrire" tes variables dans la mémoire flash et non dans la RAM.

Et oui, je sais :? :? :? j'ai dit dans mon précédent post que j'avais eu des problème avec, mais je pense que dans ton cas, c'est la meilleur solution.
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Probléme de téléversement

Message non lude Elfen » Mar 7 Mai 2013 15:57

Merci pour tes explications! Je pense que je vais opter pour la library Flash (qui me semble plus facile à manipuler :D ). Je ne vais pas pouvoir tester cela avant ce weekend, mais je te tiens au courant dès que possible! ;)
Heu...Bonjour
Avatar de l’utilisateur
Elfen
 
Messages: 4
Inscription: Sam 4 Mai 2013 21:20

Re: Probléme de téléversement

Message non lude phil » Mer 8 Mai 2013 18:29

Je vais essayer ce soir si j'ai le temps d'adapter au moins les "chansons" avec PROGMEM, juste pour entendre ce que ça donne...

Si c'est un succès, je te poste le code

++
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Probléme de téléversement

Message non lude Elfen » Ven 10 Mai 2013 16:35

Voila! J'ai effectué les changements nécessaires avec la library Flash. Tout marche super bien! :D
Voila le code :

Code: Tout sélectionner
#include "Wire.h"
#include <Deuligne.h>
#include <Keypad.h>
#include <Flash.h>

Deuligne lcd;  // initialiser l'écran LCD

int echoPin = 2;  // entrée du capteur broche 2
int initPin = 3;  // sortie du capteur broche 3
unsigned long pulseTime = 0;  // durée de la pulsation (en microseconde)
unsigned long distance = 0;  // variable de la distance (en cm)

int buzzer = 9;

// La Marche Turque
int length1 = 500; // nombre de notes
int tempo1 = 30;
FLASH_STRING(notes1, "plolD RDpDM FMJMPLOLPLOLXLXSLPLSLSLPLSLSLPLSKMMFSSLSFMRsMFSSLSFMRDRMMFMRDpmDRMMFMRDpplolD RDpDM FMJMPLOLPLOLXLPXPLOLMFRDplpl lpIlpIplokolpomlpIlpIplokpoml CWCPLPLOKLOKFKOFIJFIKFKOLOLPCXCXCWCPLPLOKLOKMKOMIJMIJMKJDIJDIMRIplpIRMKOLLOKMMRIplpIRMKOLNPMRIplpIRMKOLLOKMMRIpIMlIpRoplCWCPLPLOKLOKFKOFIJFIKFKOLOLPCXCXCXCNWCWCWCWCWCPLOLPOLPCLFKOFK");
FLASH_ARRAY(float, beats1, 2,2,2,2,4,4,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,8,4,4,0.3,0.3,4,4,4,4,0.3,0.3,4,4,4,4,0.3,0.3,4,4,4,4,8,4,4,4,4,2,2,2,2,4,4,4,4,4,4,2,2,2,2,8,4,4,4,4,2,2,2,2,4,4,4,4,4,4,2,2,2,2,8,2,2,2,2,4,4,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,8,4,4,4,4,4,4,4,4,4,4,8,3,1.5,1.5,8,6,4,4,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,4,4,4,4,4,4,4,4,8,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8);
// Fairy Tail
int length2 = 210;
int tempo2 = 40;
FLASH_STRING(notes2, "RMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMrmfmsflsfmrmfmsflsfmrmfmsflsfmRMFMSFLSFMrlldsdfmrmrlDDdlfsdfmrmrmfmsflsfmRMFMSFLSFMRMRDlslDRDRMRDlslDFMRMRDlslDRDFMRMRDlDRDFMR");
FLASH_ARRAY(float, beats2, 4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,16,32,4,4,4,4,16,16,16,16,16,16,16,4,4,4,4,8,8,8,8,16,16,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,4,10); //Tempo
// Lilium
int length3 = 122;
int tempo3 = 100;
FLASH_STRING(notes3, "kIollkIolplkomrmkrirmkolplokIollkIolplkomrmkrirplokfjfk npIRloRIMlIplomrinpIRloRIMlIDlokllpo kIollkIolplkomrmkrirplokfjfk");
FLASH_ARRAY(float, beats3, 1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,3,1,1,1,4,2,1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,0.5,1,1,1,1,1,1,1,1,1,1,1,1.2,1.2,1.2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,0.5,1,1,3,1,2,1,1,3,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,2);
// London
int length4 = 67;
int tempo4 = 100;
FLASH_STRING(notes4, "mkslpmjDplskmkslpDRDpDlDplplsksk6mkslpmjDplskmkslpDRDpDlDplplskskcd");
FLASH_ARRAY(float, beats4, 4,0.6666,0.6666,0.6666,4,2,4,2,6,4,0.6666,0.6666,0.6666,4,1,1,12,4,0.6666,0.6666,0.6666,5,1,6,6,4,0.6666,0.6666,0.66665,5,1,6,6,4,0.6666,0.6666,0.6666,4,2,4,2,6,4,0.6666,0.6666,0.6666,4,1,1,12,4,0.6666,0.6666,0.6666,5,1,6,6,4,0.6666,0.6666,0.66665,5,1,6);
// Mario Bross               
int length5 = 295;
int tempo5 = 95;
FLASH_STRING(notes5, "MM M DM S  s  D  s m  l p nl sMSL FS M DRp D  s m  l p nl sMSL FS M DRp  SKFJ M olD lDR SKFJ M X XX   SKFJ M olD lDR J  R D   DD D DR MD ls  DD D DRM  DD D DR MD ls  MM M DM S  s  D  s m  l p nl sMSL FS M DRp D  s m  l p nl sMSL FS M DRp MD s o lF Fl  pLLLSFMD ls  MD l o lF Fl  pF FFMRDm md  ");
FLASH_ARRAY(float, beats5, 1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,2,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1.3,1.3,1.3,1.3,1.3,1.3,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1.3,1.3,1.3,1,1,1,1,1,1,2);
// Nazotoki
int length6 = 208;
int tempo6 = 135;
FLASH_STRING(notes6, "dDpDRJsonofFJRDpOSFJRDpDRDRJRJRJRDRdss4sio4sdss4siosjfssslkr rjffjrjfsjsrsssksllkR rjfsoososfjrrd  DpDRJsonofFJRDpOSFJRDpDRDpDjfssssllkr rjffjrjfsjssrssskslkR onDnDRDnD DDnDRDns ssffjns DRJRDpsD DDsssnonosslp");
FLASH_ARRAY(float, beats6, 1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,1,1,1,2,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,1,2,0.5,0.5,0.5,0.5,1,0.5,0.5,1,1,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,2,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,1,1,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,2,0.5,0.5,0.5,0.5,1,1,1,1,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,2,2,0.5,0.5,0.5,0.5,1,0.5,0.5,2,1,0.5,0.5,1,1,1,1,2,1,0.5,0.5,1,1,1,1,1,1,1,0.5,0.5,1,0.5,0.5,1,0.5,0.5,1,2.5,1,1,2);
// Tetris A
int length7 = 142;
int tempo7 = 95;
FLASH_STRING(notes7, "MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll mdr6d5:6 mdr6dmlo MpDRDpllDMRDp DRMDll RFLSFM DMRDppDRMDll");
FLASH_ARRAY(float, beats7, 2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,4,4,4,4,4,4,4,2,2,4,4,4,4,2,2,4,4,6,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,2,1,2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2); //Tempo
// Tétris C
int length8 = 169;
int tempo8 = 90;
FLASH_STRING(notes8, "lIKIoIlIkIfIlIKIoIlIkIfIlIlkRpopomIlkIplokfifoIplIKIoIlIkIfIlIKIoIlIkIfIlIlkRpopomMpIMIlmol MRIplolpIlpRIRMolpIpIKJKOLOKMJIJDI M KSKMJMIJpK OLOKFKJFIOFIFOPWFXFPFLPLOLKOK");
FLASH_ARRAY(float, beats8, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,2,2,1,1,2,2,1,1,1,1,1,1,2,4,2,1,0.5,0.5,1,1,1,1,1,1,1,2,1,0.5,0.5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,0.5,0.5,2); //Tempo
// Menuet
int length9 = 127;
int tempo9 = 90;
FLASH_STRING(notes9, "RslpDRssMDRMKSssDRDplpDplskslpsplRslpDRssMDRMKSssDRDplpDplslplsksPSLPSLRMKMSMKSRIpIllpIRMKSKMKsIRRsksMsksRDplskslrmkslpDplpRsks");
FLASH_ARRAY(float, beats9, 2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,4,2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,6,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,2,1,1,1,1,1,1,2,2,2,2,2,2,6,2,1,1,2,2,1,1,2,2,2,2,1,1,1,1,2,1,1,1,1,1,1,2,2,2,1,1,2,2,6);
               
void playTone(int ton1, int duration){
  for (long i = 0; i < duration * 1000L; i += ton1){
    tone(buzzer, ton1);
    delayMicroseconds(ton1);}
  noTone(buzzer);}

void playNote(char note, int duration) {
//                  do    do#   re    re#  mi   fa   fa#   sol  sol#  la   la#  si   do
char names[] = { '0',  '!', '1', '?', '2', '3', '.', '4', ':', '5', ',', '6', 'd', 'i', 'r', 'j', 'm','f', 'k', 's', 'o','l','n', 'p', 'D', 'I', 'R', 'J', 'M', 'F', 'K', 'S', 'O', 'L', 'N', 'P' , 'X' , ' W' };
int tones[] =  { 131, 138, 147, 155, 165, 175, 185, 196, 208, 220, 233, 247, 262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494, 523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988 ,1046, 1175};
 
  // jouer les notes correspondantes aux fréquences
  for (int i = 0; i < 38; i++){
    if (names[i] == note){
      playTone(tones[i], duration);}}}

int j = 0;  // variable pour savoir quand quitter le modce
int u = 0;  // variable pour savoir le mode
int m = 0;  // variable pour savoir la musique
int i = 0;  // variable de l'emplacement des notes sur l'écran LCD
int t = 0;  // variable pour reconnaitre les notes #


const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 lignes
char keys[ROWS][COLS] = {  // disposition du clavier
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {7, 6, 5, 4}; // pin à connecter pour les lignes
byte colPins[COLS] = {11, 10, 8}; // pin à connecter pour les colonnes

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
lcd.init();
lcd.print("musique :");
lcd.setCursor(0, 1);
lcd.print("Jouer capteur");
u=1;
pinMode(initPin,OUTPUT);                     
pinMode(echoPin,INPUT); // c'est une entrée car elle reçoit une information                     
pinMode(buzzer,OUTPUT);}

void loop(){
char key = keypad.getKey(); 

/////////////////////////////////////////////////////////////////
///                          MENU                             ///
/////////////////////////////////////////////////////////////////
if (j==0){
  if (key=='1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key=='2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer clavier");
    u=2;}
  if (key=='3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer musique");
    u=3;}
  if (key=='0'){
    lcd.clear();
    lcd.print("musique :"); 
    if (u==1){
      j=1;} 
    if (u==2){
      j=2;}
    if (u==3){
      j=3;
      lcd.setCursor(0, 1);
      lcd.print("La Marche Turque");
      m=1;
      key=1;}}}           
   
/////////////////////////////////////////////////////////////////
///                      JOUER CAPTEUR                        ///
/////////////////////////////////////////////////////////////////
if (j==1){ 
  digitalWrite(initPin, HIGH);  // envoi du signal...
  delayMicroseconds(10);  // ...durant 10 microsecondes
  digitalWrite(initPin, LOW);  // fin de l'envoi du signal
  pulseTime = pulseIn(echoPin, HIGH);  // calcul du temps entre l'envoi du signal et sa reception
  distance = pulseTime/58;  // convertion du temps en distance
  ////////////////////////////////Do////////////////////////////////
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (distance>3.5 && distance<5.5){  // la main est entre 3cm et 6cm
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);  //do          pin de sortie, fréquence de la note, durée de la note en ms
      delay(250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////Re////////////////////////////////   
  if (distance>=6.5 && distance<8.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=9.5 && distance<11.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Fa//////////////////////////////// 
  if (distance>=12.5 && distance<14.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      delay(250);
      i=i+2;}}
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=15.5 && distance<17.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      delay(250);
      i=i+3;}}   
  ////////////////////////////////La//////////////////////////////// 
  if (distance>=18.5 && distance<20.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////Si//////////////////////////////// 
  if (distance>=21.5 && distance<23.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      delay(250);
      i=i+2;}}
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=24.5 && distance<26.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////RE////////////////////////////////   
  if (distance>=27.5 && distance<29.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////Mi//////////////////////////////// 
  if (distance>=30.5 && distance<32.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("MI");
      tone(9, 659.26, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////FA//////////////////////////////// 
  if (distance>=33.5 && distance<35.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("FA");
      tone(9, 698.46, 250);
      delay(250);
      i=i+2;}}   
  ///////////////////////////////Sol//////////////////////////////// 
  if (distance>=36.5 && distance<38.5){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SOL");
      tone(9, 783.99, 250);
      delay(250);
      i=i+3;}} 
  ////////////////////////////////LA//////////////////////////////// 
  if (distance>=39.5 && distance<41.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("LA");
      tone(9, 880, 250);
      delay(250);
      i=i+2;}} 
  ////////////////////////////////SI//////////////////////////////// 
  if (distance>=42.5 && distance<44.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("SI");
      tone(9, 987.77, 250);
      delay(250);
      i=i+2;}}   
  ////////////////////////////////DO//////////////////////////////// 
  if (distance>=45.5 && distance<47.5){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;} 
    else{
      lcd.clear();
      lcd.print("musique :"); 
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 1046.5, 250);
      delay(250);
      i=i+2;}}}
     
/////////////////////////////////////////////////////////////////
///                      JOUER CLAVIER                        ///
/////////////////////////////////////////////////////////////////
if (j==2){
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    i=0;
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;} 
  if (key == '1'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Do");
      tone(9, 261.63, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Do#");
        tone(9, 277.18, 250);
        i=i+3;
        t=0;}}}     
////////////////////////////////Re////////////////////////////////
  if (key == '2'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Re");
      tone(9, 293.66, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Re#");
        tone(9, 311.13, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Mi////////////////////////////////       
  if (key == '3'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Mi");
      tone(9, 329.63, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa");
        tone(9, 349.23, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////Fa////////////////////////////////       
  if (key == '4'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Fa");
      tone(9, 349.23, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Fa#");
        tone(9, 369.99, 250);
        i=i+3;
        t=0;}}}
///////////////////////////////Sol////////////////////////////////
  if (key == '5'){
    if (t==0){
    if (i<14){
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Sol");
      tone(9, 392, 250);
      i=i+3;}}
    else{
      if (i<13){
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("Sol#");
        tone(9, 415.30, 250);
        i=i+4;
        t=0;}}}
////////////////////////////////La////////////////////////////////       
  if (key == '6'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("La");
      tone(9, 440, 250);
      i=i+2;}}
    else{
      if (i<14){
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("La#");
        tone(9, 466.16, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////Si////////////////////////////////       
  if (key == '7'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("Si");
      tone(9, 493.88, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO");
        tone(9, 523.25, 250);
        i=i+2;
        t=0;}}}
////////////////////////////////DO////////////////////////////////       
  if (key == '8'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("DO");
      tone(9, 523.25, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("DO#");
        tone(9, 554.37, 250);
        i=i+3;
        t=0;}}}       
////////////////////////////////RE////////////////////////////////
  if (key == '9'){
    if (t==0){
    if (i<15){
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}
    else{
      lcd.clear();
      lcd.print("musique :");
      i=0;
      lcd.setCursor(i, 1);
      lcd.print("RE");
      tone(9, 587.33, 250);
      i=i+2;}}
    else{
      if (i<15){
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}
      else{
        lcd.clear();
        lcd.print("musique :");
        i=0;
        lcd.setCursor(i, 1);
        lcd.print("RE#");
        tone(9, 622.25, 250);
        i=i+3;
        t=0;}}}
////////////////////////////////##////////////////////////////////
  if (key == '#'){
    t=1;}
///////////////////////////////RESET///////////////////////////////   
  if (key == '0'){
    lcd.clear();
    lcd.print("musique :");
    i=0;
    t=0;}}

/////////////////////////////////////////////////////////////////
///                      JOUER MUSIQUE                        ///
/////////////////////////////////////////////////////////////////

if (j==3){   
  if (key == '*'){
    j=0;
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Jouer capteur");
    u=1;}
  if (key == '1'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("La marche Turque");
    m=1;}
  if (key == '2'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Fairy Tail");
    m=2;}
  if (key == '3'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Lilium");
    m=3;}
  if (key == '4'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("London");
    m=4;}
  if (key == '5'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Mario Bross");
    m=5;}
  if (key == '6'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Nazotoki");
    m=6;}   
  if (key == '7'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris A");
    m=7;}
  if (key == '8'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Tetris C");
    m=8;}
  if (key == '9'){
    lcd.clear();
    lcd.print("musique :"); 
    lcd.setCursor(0, 1);
    lcd.print("Menuet");
    m=9;}   
  if (key == '0'){
    if (m==1){
      for (int i = 0; i < length1; i++){
        if (notes1[i] == ' '){
          delay(beats1 [i] * tempo1);}
        else {
          playNote(notes1 [i], beats1 [i] * tempo1);} 
        delay(tempo1 / 2);}}
    if (m==2){
      for (int i = 0; i < length2; i++){
        if (notes2[i] == ' '){
          delay(beats2 [i] * tempo2);}
        else {
          playNote(notes2 [i], beats2 [i] * tempo2);} 
        delay(tempo2 / 2);}}
    if (m==3){
      for (int i = 0; i < length3; i++){
        if (notes3[i] == ' '){
          delay(beats3 [i] * tempo3);}
        else {
          playNote(notes3 [i], beats3 [i] * tempo3);} 
        delay(tempo3 / 2);}}
    if (m==4){
      for (int i = 0; i < length4; i++){
        if (notes4[i] == ' '){
          delay(beats4 [i] * tempo4);}
        else {
          playNote(notes4 [i], beats4 [i] * tempo4);} 
        delay(tempo4 / 2);}}
    if (m==5){
      for (int i = 0; i < length5; i++){
        if (notes5[i] == ' '){
          delay(beats5 [i] * tempo5);}
        else {
          playNote(notes5 [i], beats5 [i] * tempo5);} 
        delay(tempo5 / 2);}}       
    if (m==6){
      for (int i = 0; i < length6; i++){
        if (notes6[i] == ' '){
          delay(beats6 [i] * tempo6);}
        else {
          playNote(notes6 [i], beats6 [i] * tempo6);} 
        delay(tempo6 / 2);}}
    if (m==7){
      for (int i = 0; i < length7; i++){
        if (notes7[i] == ' '){
          delay(beats7 [i] * tempo7);}
        else {
          playNote(notes7 [i], beats7 [i] * tempo7);} 
        delay(tempo7 / 2);}}       
    if (m==8){
      for (int i = 0; i < length8; i++){
        if (notes8[i] == ' '){
          delay(beats8 [i] * tempo8);}
        else {
          playNote(notes8 [i], beats8 [i] * tempo8);} 
        delay(tempo8 / 2);}}
    if (m==9){
      for (int i = 0; i < length9; i++){
        if (notes9[i] == ' '){
          delay(beats9 [i] * tempo9);}
        else {
          playNote(notes9 [i], beats9 [i] * tempo9);} 
        delay(tempo9 / 2);}}       
}}}


Encore merci pour ton aide!
Heu...Bonjour
Avatar de l’utilisateur
Elfen
 
Messages: 4
Inscription: Sam 4 Mai 2013 21:20

Re: Probléme de téléversement

Message non lude phil » Ven 10 Mai 2013 21:53

cool !!!

Pour la prochaine fois, tu peux utliser ça pour tester la RAM dispo
http://playground.arduino.cc/Code/AvailableMemory

Bienvenu dans le monde des microcontroleurs !!! ;) ;) ;)
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19


Retourner vers Deuligne

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron