Aller au contenu


Photo
- - - - -

Module son , et module carte sd


52 réponses à ce sujet

#21 Thor

Thor

    Habitué

  • Membres
  • PipPip
  • 251 messages
  • Gender:Male

Posté 17 mars 2012 - 10:56

Un truc qui parait tout con mais tu as bien mis ton fichier son dans un dossier nommé sound ?

#22 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 17 mars 2012 - 11:01

Un truc qui parait tout con mais tu as bien mis ton fichier son dans un dossier nommé sound ?


Heu..... je vais paraitre bête la , mes je n'est pas compris Thor , désolé.

Car je ne vois pas quel fichier sound tu me parles.

#23 Thor

Thor

    Habitué

  • Membres
  • PipPip
  • 251 messages
  • Gender:Male

Posté 17 mars 2012 - 11:13

Dans la version d'origine du deuxième lien d'un tes posts il est écris:

The sd card must be formated at FAT format.
Create a "sound" directory, put mp3/wav/midi files under the SD card, and make sure the length of file name do not exceed 8 letters.


...Créez un dossier "sound" mettez les fichiers mp3/wav/midi dans la carte SD ...

J'imagine que les fichier sons doivent étre mis dans ce dossier pour que la carte les trouve.

#24 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 17 mars 2012 - 11:21

Ok Thor , alors si je suis bien la chose , donc dans ma micro carte SD , il faut que je mette un fichier sound.

Mets ce fichier , il faut que je le nomme sound , c'est ça ?????

Désolé si je parais bête comme ça , mais il est préférable que je comprenne bien.

Met merci de ton aide Thor , j’attends une réponse de ta par et je teste ça.

Ps : Je pense que c'est plutôt un dossier et non un fichier ???

#25 Thor

Thor

    Habitué

  • Membres
  • PipPip
  • 251 messages
  • Gender:Male

Posté 17 mars 2012 - 11:24

Pas un fichier, un dossier dans lequel tu mets ton ou tes fichier son.

Edit:
Tu as du rajouté ton ps pendant que j'écrivais mon message donc oui, pour moi c'est ce qu'il faut faire.

#26 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 17 mars 2012 - 11:27

Ok Thor , et bien je vais testé ça alors , merci encore.

Je te ( vous) tiens informé.

#27 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 17 mars 2012 - 11:35

Et bien Thor félicitation , tu as résolu mon problème , et bien la ta fait fore , je te remercie beaucoup.

Dalleur je n'avais même pas vue ça sur le site

The sd card must be formated at FAT format.
Create a "sound" directory, put mp3/wav/midi files under the SD card, and make sure the length of file name do not exceed 8 letters.



Encore merci a toi Thor tu ma enlevais une épine du pied.

#28 Thor

Thor

    Habitué

  • Membres
  • PipPip
  • 251 messages
  • Gender:Male

Posté 18 mars 2012 - 04:08

;)

#29 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 19 mars 2012 - 12:34

Bonsoir , je reviens vair vous , car je rencontre une petite difficulté de compréhension dans un code , celui si

#include <Wire.h>
#include <stdlib.h>

#define ArduinoPlayer_address 0x35  //Arduino Lecteur 0x35 adresse I2C (par défaut)

void TwiSend(const char  *cmd)  //I2C Command
{
  char len = 0;
  len = strlen(cmd); //Calculer la longueur de la commande
  Wire.beginTransmission(ArduinoPlayer_address); // Arduino Lecteur adresse I2C
  while(len--)
  {
    Wire.send(*(cmd++));      
  }
  Wire.endTransmission();    // stop transmission
}
void setup()
{
  Wire.begin(); // rejoindre le bus I2C (adresse en option pour le maître)
  Serial.begin(9600);
  delay(2000);//Attendez 2 secondes
  Serial.println("Ready"); 
  TwiSend("\\:v 255\r\n");    // régler le volume, de 0 (minimum) -255 (maximum)
}

//Recevez de contrôle-commande à partir de série
void loop()
{
  int val;
  if(Serial.available() > 0)
  {
    val=Serial.read();
    switch(val)
    {
    case 'p':      // Pause
      TwiSend("\\<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' />\r\n");
      Serial.println("OK");
      break; 
    case 's':     // Continoue to play
      TwiSend("\\:s\r\n");
      Serial.println("OK");
      break;     
    case  'n':
      TwiSend("\\:n\r\n");  // Play prochain
      Serial.println("OK");
      break; 
    case 'u':
      TwiSend("\\:u\r\n"); // Play précédent
      Serial.println("OK");
      break; 
    case  'm':      //Play
      //Le volume doit être réglé avant de jouer le son
      TwiSend("\\:v 250\r\n");    //régler le volume, de 0 (minimum) -255 (maximum)
      TwiSend("\\yes\r\n"); 
      Serial.println("OK");
      break;   
    default:
      break;    
    }
  }
}

En faite voila se que je conte faire , et je vous explique se que je ne comprends pas dans se code.

Donc avec le morceau de code que j'ai pu faire pour contrôlé ma pince avec ma télécommande , je conte modifier se code

celui si ^^ pour contrôlé les voie grâce a ma télécommande.

Voilà ce que je ne comprends pas dans ce code que j'ai exposé ^^

Je ne vois pas comment il on déclaré les pins 4 ,5 analogique du module audio comme indiqué sur se

TUTO

Si une âme charitable peu éclairé ma lanterne ça serré sympa , merci d'avance.

@Cordialement.

#30 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde
  • Interests:Tout

Posté 19 mars 2012 - 12:46

Elle ne sont pas declarer car c'est les pin pour l'I²C. Ton module est en I²C, sont adresse est 0x35 Va voir sur le site arduino.

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#31 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 19 mars 2012 - 12:51

A ok donc c'est cette parti-là alors
#define ArduinoPlayer_address 0x35  //Arduino Lecteur 0x35 adresse I2C (par défaut)

Et bien ça vas être chaud si je veux faire mon projet bon je vais étudier ça.

Merci microrupteurman2

#32 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 20 mars 2012 - 12:56

Re les amies.

Bon voila j'ai testé de contrôlé le module audio micros carte SD par la télécommande IR , rien qu’avec une pression d'une

touche de la télécommande.

Je ni arrive pas du tous.

C'est assez dure je dois dire.

Alors et t'il possible qu'une personne , puisse me mètre sur la voie ( attention je ne demande pas con face mon travaille ,

mes juste m’aiguiller ).

Donc voila le code de ma pince que je contrôle avec ma télécommande IR , celui si et fonctionnel.

#include <Servo.h>
#include <IRremote.h>
#include <IRremoteInt.h>

Servo servo1;  // créer un objet d'asservissement pour commander le servo1
Servo servo2; // créer un objet d'asservissement pour commander le servo2

int possition1 ;    // variable pour stocker la position1 d'asservissement
int possition2 = 90;   //variable pour stocker la position2 d'asservissement
int RECV_PIN = 5;
int current; //conserver la trace de la position actuelle du servo
int codeValue; //les code de la télécommande

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);            // lancer un port série sur le serial monitor  
servo1.attach(7);            // attache le servo sur la broche 7 à l'objet d'asservissement
servo1.write(possition1);   // mis en position1 de départ servo1
servo2.attach(6);          // attache le servo sur la broche 6 à l'objet d'asservissement
servo2.write(possition2);// mis en position2 de départ servo2
irrecv.enableIRIn();          // Démarrer le récepteur
}
void loop()
{ 
Serial.println(results.value, DEC);

if (irrecv.decode(&results)) 
{ 
codeValue = results.value;
switch (codeValue) 
{
case 16615543: // touche 4 de la télécomande ouvre la pince
current  +=80;
if (current > 180) current = 0;
servo1.write(current);
break;

case 16619623: // touche 6 de la télécommande ferme la pince 
current -=80;
if (current < 0) current = 180;
servo1.write(current);
break;
                      
case 16591063: // touche 2 de la télécommande décend la pince 
current +=40;
if (current > 180) current = 0;
servo2.write(current);
break;

case 16607383: // touche 8 de la télécommande léve la pince
current -=40;
if (current < 0) current = 180;
servo2.write(current);
break;

int sensorValue = analogRead(1); // analogique 1, a 10k
while (sensorValue > 255) { //valeur peut être ajustée, 255 très sensible       
sensorValue = analogRead(1); //lit la valeur du capteur à nouveau pour la boucle
}
servo1.write(possition2);
current = possition2;
servo1.write(possition1); 
current = possition1;
servo2.write(possition2);
current = possition2;
servo2.write(possition1); 
current = possition1;
}
irrecv.resume();
} 
 }


Et voici le code d'aisé qui nous propose pour faire fonctionné le module audio.

#include <Wire.h>
#include <stdlib.h>
#define ArduinoPlayer_address 0x35  //Arduino Lecteur 0x35 adresse I2C (par défaut)

void TwiSend(const char  *cmd)  //I2C Command
{
  char len = 0;
  len = strlen(cmd); //Calculer la longueur de la commande
  Wire.beginTransmission(ArduinoPlayer_address); // Arduino Lecteur adresse I2C
  while(len--)
  {
    Wire.send(*(cmd++));      
  }
  Wire.endTransmission();    // stop transmission
}

void setup()
{
  
  Wire.begin(); // rejoindre le bus I2C (adresse en option pour le maître)
  Serial.begin(9600);
  delay(2000);//Attendez 2 secondes
  Serial.println("Ready"); 
  TwiSend("\\:v 255\r\n");    // régler le volume, de 0 (minimum) -255 (maximum)

}

//Recevez de contrôle-commande à partir de série
void loop()
{
  
  int val;
  if(Serial.available() > 0)
  {
    val=Serial.read();
    switch(val)
    {
    case 'p':      // Pause
      TwiSend("\\<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' />\r\n");
      Serial.println("OK");
      break; 
    case 's':     // Continoue to play
      TwiSend("\\:s\r\n");
      Serial.println("OK");
      break;     
    case  'n':
      TwiSend("\\:n\r\n");  // Play prochain
      Serial.println("OK");
      break; 
    case 'u':
      TwiSend("\\:u\r\n"); // Play précédent
      Serial.println("OK");
      break; 
    case  'm':      //Play
      //Le volume doit être réglé avant de jouer le son
      TwiSend("\\:v 250\r\n");    //régler le volume, de 0 (minimum) -255 (maximum)
      TwiSend("\\yes\r\n"); 
      Serial.println("OK");
      break;   
    default:
      break;    
    }
  }
}

Je voudrais fusionné se code ^^ met en le modifiant pour que je puisse enclenché une voie avec la télécommande IR.

Désolé si je ne suis pas clair dans mes explications ,mes ce n’est pas si facile a dire par écrie.

Je continue de mon coté a trouvé la solution.

Merci d'avance.

@Cordialement.

#33 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 20 mars 2012 - 03:24

Re les amies.

Bon voila j'ai testé de contrôlé le module audio micros carte SD par la télécommande IR , rien qu’avec une pression d'une

touche de la télécommande.

Je ni arrive pas du tous.

C'est assez dure je dois dire.

Alors et t'il possible qu'une personne , puisse me mètre sur la voie ( attention je ne demande pas con face mon travaille ,

mes juste m’aiguiller ).

Donc voila le code de ma pince que je contrôle avec ma télécommande IR , celui si et fonctionnel.

#include <Servo.h>
#include <IRremote.h>
#include <IRremoteInt.h>

Servo servo1;  // créer un objet d'asservissement pour commander le servo1
Servo servo2; // créer un objet d'asservissement pour commander le servo2

int possition1 ;    // variable pour stocker la position1 d'asservissement
int possition2 = 90;   //variable pour stocker la position2 d'asservissement
int RECV_PIN = 5;
int current; //conserver la trace de la position actuelle du servo
int codeValue; //les code de la télécommande

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);            // lancer un port série sur le serial monitor  
servo1.attach(7);            // attache le servo sur la broche 7 à l'objet d'asservissement
servo1.write(possition1);   // mis en position1 de départ servo1
servo2.attach(6);          // attache le servo sur la broche 6 à l'objet d'asservissement
servo2.write(possition2);// mis en position2 de départ servo2
irrecv.enableIRIn();          // Démarrer le récepteur
}
void loop()
{ 
Serial.println(results.value, DEC);

if (irrecv.decode(&results)) 
{ 
codeValue = results.value;
switch (codeValue) 
{
case 16615543: // touche 4 de la télécomande ouvre la pince
current  +=80;
if (current > 180) current = 0;
servo1.write(current);
break;

case 16619623: // touche 6 de la télécommande ferme la pince 
current -=80;
if (current < 0) current = 180;
servo1.write(current);
break;
                      
case 16591063: // touche 2 de la télécommande décend la pince 
current +=40;
if (current > 180) current = 0;
servo2.write(current);
break;

case 16607383: // touche 8 de la télécommande léve la pince
current -=40;
if (current < 0) current = 180;
servo2.write(current);
break;

int sensorValue = analogRead(1); // analogique 1, a 10k
while (sensorValue > 255) { //valeur peut être ajustée, 255 très sensible       
sensorValue = analogRead(1); //lit la valeur du capteur à nouveau pour la boucle
}
servo1.write(possition2);
current = possition2;
servo1.write(possition1); 
current = possition1;
servo2.write(possition2);
current = possition2;
servo2.write(possition1); 
current = possition1;
}
irrecv.resume();
} 
 }


Et voici le code d'aisé qui nous propose pour faire fonctionné le module audio.

#include <Wire.h>
#include <stdlib.h>
#define ArduinoPlayer_address 0x35  //Arduino Lecteur 0x35 adresse I2C (par défaut)

void TwiSend(const char  *cmd)  //I2C Command
{
  char len = 0;
  len = strlen(cmd); //Calculer la longueur de la commande
  Wire.beginTransmission(ArduinoPlayer_address); // Arduino Lecteur adresse I2C
  while(len--)
  {
    Wire.send(*(cmd++));      
  }
  Wire.endTransmission();    // stop transmission
}

void setup()
{
  
  Wire.begin(); // rejoindre le bus I2C (adresse en option pour le maître)
  Serial.begin(9600);
  delay(2000);//Attendez 2 secondes
  Serial.println("Ready"); 
  TwiSend("\\:v 255\r\n");    // régler le volume, de 0 (minimum) -255 (maximum)

}

//Recevez de contrôle-commande à partir de série
void loop()
{
  
  int val;
  if(Serial.available() > 0)
  {
    val=Serial.read();
    switch(val)
    {
    case 'p':      // Pause
      TwiSend("\\<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' />\r\n");
      Serial.println("OK");
      break; 
    case 's':     // Continoue to play
      TwiSend("\\:s\r\n");
      Serial.println("OK");
      break;     
    case  'n':
      TwiSend("\\:n\r\n");  // Play prochain
      Serial.println("OK");
      break; 
    case 'u':
      TwiSend("\\:u\r\n"); // Play précédent
      Serial.println("OK");
      break; 
    case  'm':      //Play
      //Le volume doit être réglé avant de jouer le son
      TwiSend("\\:v 250\r\n");    //régler le volume, de 0 (minimum) -255 (maximum)
      TwiSend("\\yes\r\n"); 
      Serial.println("OK");
      break;   
    default:
      break;    
    }
  }
}

Je voudrais fusionné se code ^^ met en le modifiant pour que je puisse enclenché une voie avec la télécommande IR.

Désolé si je ne suis pas clair dans mes explications ,mes ce n’est pas si facile a dire par écrie.

Je continue de mon coté a trouvé la solution.

Merci d'avance.

@Cordialement.

j'imagine que quand tu appuis sur monter pince il lit le mp3 nommé "pince monté.mp3"?

c'est ça ?

je ne sais pas si c'est possible avec le code d'essai que tu utilise car il n'y as que "pause,play,next,stop" comme commande du mp3

il faudrais que tu trouves le code qui permet d'appeller un morceau bien spcecifique?

bon courage

#34 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 20 mars 2012 - 03:58

j'imagine que quand tu appuis sur monter pince il lit le mp3 nommé "pince monté.mp3"?

c'est ça ?

je ne sais pas si c'est possible avec le code d'essai que tu utilise car il n'y as que "pause,play,next,stop" comme commande du mp3

il faudrais que tu trouves le code qui permet d'appeller un morceau bien spcecifique?

bon courage



hum j'ai un peu reflechie et je prefere presiser que je ne suis pas sur de ce que j'ai ecris



int derniermp3 = 0 //declaration du dernier mp3 qui a était lu

void jouermorceauscpecifique (int numeromp3)
{
if (numeromp3 >= derniermp3)// si le numero du mp3 desirer est  superieur ou egale au dernier mp3 jouer 
{
for (int i=derniermp3; i < derniermp3; i++){ // boucle pour passer jusqu'au morceau voulu 
TwiSend("[url="file://\\:n\r\n"]\\:n\r\n[/url]");  // Play prochain
derniermp3 = i
}
}
if (numeromp3 <= derniermp3)
{
for (int i=derniermp3; i > derniermp3; i--){ // boucle pour passer jusqu'au morceau voulu 

TwiSend("[url="file://\\:u\r\n"]\\:u\r\n[/url]"); // Play précédent
derniermp3 = i
}
}

}


en gros tu mets les fichiers dans ton dossier sound

il sont nommé de 1 a 6 (par exemple : 4 .mp3)

on va dire que monté pince c'est le numeros 4


j'appelle la fonction :
jouermorceauscpecifique(4);


l'incrementation de la boucle devrais (au conditionnel) passer les morceau jusqu'au 4


je le re-dit je ne suis pas sure de ce que j'ai ecris dans soyer indulgent

en esperant avoir pu aider

Edit : sur le code je ne sais pas pourquoi mais il a des balise url qui se glisse ...

TwiSend("\\:u\r\n"); // Play précédent



#35 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 20 mars 2012 - 05:04

Merci de ton aide julkien.

Donc je vais te répondre.

j'imagine que quand tu appuis sur monter pince il lit le mp3 nommé "pince monté.mp3"?

c'est ça ?

je ne sais pas si c'est possible avec le code d'essai que tu utilise car il n'y as que "pause,play,next,stop" comme commande du mp3

il faudrais que tu trouves le code qui permet d'appeller un morceau bien spcecifique?

bon courage


Non non pas du tous quand j'appuie sur le bouton pour levé la pince , elle se lève c'est tous.

Normal je n'est pas compilé les de code , je veux dire que je n'est pas fusionné les de code.

En faite se que je voudrais faire , c'est quand j'appuie sur une touche de ma télécommande une voie se mais en route , après appuyer sur une autre touche de la télécommande et passé a la deuxième voie , comme un mode play suivant mes en fonction de la télécommande.

Edit : sur le code je ne sais pas pourquoi mais il a des balise url qui se glisse ...


Par contre je ne comprend pas le fonctionnement de url???

Bon je vais testé le code que tu ma fait.

int derniermp3 = 0 //declaration du dernier mp3 qui a était lu

void jouermorceauscpecifique (int numeromp3)
{
if (numeromp3 >= derniermp3)// si le numero du mp3 desirer est  superieur ou egale au dernier mp3 jouer 
{
for (int i=derniermp3; i < derniermp3; i++){ // boucle pour passer jusqu'au morceau voulu 
TwiSend("[url="file://\\:n\r\n"]\\:n\r\n[/url]");  // Play prochain
derniermp3 = i
}
}
if (numeromp3 <= derniermp3)
{
for (int i=derniermp3; i > derniermp3; i--){ // boucle pour passer jusqu'au morceau voulu 

TwiSend("[url="file://\\:u\r\n"]\\:u\r\n[/url]"); // Play précédent
derniermp3 = i
}
}

}


Encore merci julkien.

#36 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 20 mars 2012 - 05:34

J'ai testé ton code donc pour commencé je rencontre une erreur sur cette ligne.

TwiSend("[url="file://\\:n\r\n"]\\:n\r\n[/url]");  // Play prochain

Ou alors c'est moi qui ne c'est pas fusionné ton code aux mieux.

#37 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 20 mars 2012 - 05:43

J'ai testé ton code donc pour commencé je rencontre une erreur sur cette ligne.

TwiSend("[url="file://\\:n\r\n"]\\:n\r\n[/url]");  // Play prochain

Ou alors c'est moi qui ne c'est pas fusionné ton code aux mieux.



oui reprend cette ligne dans ton code d'exemple, je ne sais pas pourquoi quand je le publie sur le site il me met des balise

normalement il devrais ressembler a ça

int derniermp3 //declaration du dernier mp3 qui a était lu

void jouermorceauscpecifique (int numeromp3)
{
if (numeromp3 >= derniermp3)// si le numero du mp3 desirer est superieur ou egale au dernier mp3 jouer
{
for (int i=derniermp3; i < derniermp3; i++){ // boucle pour passer jusqu'au morceau voulu
TwiSend("\\:n\r\n"); // Play prochain
derniermp3 = i;
}
}
if (numeromp3 <= derniermp3)
{
for (int i=derniermp3; i > derniermp3; i--){ // boucle pour passer jusqu'au morceau voulu

TwiSend("\\:u\r\n"); // Play précédent
derniermp3 = i;
}
}

}



#38 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 20 mars 2012 - 06:15

julkien j'ai fait comme tu ma dit et bien j'ai toujour un message d'erreur

il me dit TwiSend'was not declared in this scope.

En gros twiSend n'est pas déclaré , si j'ai bien compris????

#39 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 20 mars 2012 - 07:18

julkien j'ai fait comme tu ma dit et bien j'ai toujour un message d'erreur

il me dit TwiSend'was not declared in this scope.

En gros twiSend n'est pas déclaré , si j'ai bien compris????



oui c'est normale c'est une fonction qui ce gref dans le code je mets ça propre et je reviend pour te le donner

#40 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 20 mars 2012 - 07:34

oui c'est normale c'est une fonction qui ce gref dans le code je mets ça propre et je reviend pour te le donner




#include <Servo.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <Wire.h>
#include <stdlib.h>
#define ArduinoPlayer_address 0x35  //Arduino Lecteur 0x35 adresse I2C (par défaut)

Servo servo1;  // créer un objet d'asservissement pour commander le servo1
Servo servo2; // créer un objet d'asservissement pour commander le servo2

int possition1 ;    // variable pour stocker la position1 d'asservissement
int possition2 = 90;   //variable pour stocker la position2 d'asservissement
int RECV_PIN = 5;
int current; //conserver la trace de la position actuelle du servo
int codeValue; //les code de la télécommande

IRrecv irrecv(RECV_PIN);
decode_results results;

int derniermp3 = 0; //declaration du dernier mp3 qui a était lu

 

void TwiSend(const char  *cmd)  //I2C Command
{
  char len = 0;
  len = strlen(cmd); //Calculer la longueur de la commande
  Wire.beginTransmission(ArduinoPlayer_address); // Arduino Lecteur adresse I2C
  while(len--)
  {
    Wire.send(*(cmd++));      
  }
  Wire.endTransmission();    // stop transmission
}


void jouermorceauscpecifique (int numeromp3)
{
  if (numeromp3 >= derniermp3)// si le numero du mp3 desirer est superieur ou egale au dernier mp3 jouer 
  {
    for (int i=derniermp3; i < derniermp3; i++){ // boucle pour passer jusqu'au morceau voulu 
      TwiSend("[url="file://\\:n\r\n"]\\:n\r\n[/url]"); // Play prochain
      derniermp3 = i;
    }
  }
  if (numeromp3 <= derniermp3)
  {
    for (int i=derniermp3; i > derniermp3; i--){ // boucle pour passer jusqu'au morceau voulu 

      TwiSend("[url="file://\\:u\r\n"]\\:u\r\n[/url]"); // Play précédent
      derniermp3 = i;
    }
  }

}
void setup()
{
  Wire.begin(); // rejoindre le bus I2C (adresse en option pour le maître) 
  Serial.begin(9600);            // lancer un port série sur le serial monitor  
  servo1.attach(7);            // attache le servo sur la broche 7 à l'objet d'asservissement
  servo1.write(possition1);   // mis en position1 de départ servo1
  servo2.attach(6);          // attache le servo sur la broche 6 à l'objet d'asservissement
  servo2.write(possition2);// mis en position2 de départ servo2
  irrecv.enableIRIn(); // Démarrer le récepteur
  delay(2000);//Attendez 2 secondes  
  Serial.println("Ready"); 
  TwiSend("[url="file://\\:v"]\\:v[/url] 255\r\n");  
}
void loop()
{ 
  Serial.println(results.value, DEC);

  if (irrecv.decode(&results)) 
  { 
    codeValue = results.value;
    switch (codeValue) 
    {
    case 16615543: // touche 4 de la télécomande ouvre la pince
      current  +=80;
      if (current > 180) current = 0;
      servo1.write(current);
      break;
    case 0000000000:// truc a rensigner par raport au bouton de ta telecommande 
      jouermorceauscpecifique(4);
      
    case 16619623: // touche 6 de la télécommande ferme la pince 
      current -=80;
      if (current < 0) current = 180;
      servo1.write(current);
      break;

    case 16591063: // touche 2 de la télécommande décend la pince 
      current +=40;
      if (current > 180) current = 0;
      servo2.write(current);
      break;

    case 16607383: // touche 8 de la télécommande léve la pince
      current -=40;
      if (current < 0) current = 180;
      servo2.write(current);
      break;

      int sensorValue = analogRead(1); // analogique 1, a 10k
      while (sensorValue > 255) { //valeur peut être ajustée, 255 très sensible       
        sensorValue = analogRead(1); //lit la valeur du capteur à nouveau pour la boucle
      }
      servo1.write(possition2);
      current = possition2;
      servo1.write(possition1); 
      current = possition1;
      servo2.write(possition2);
      current = possition2;
      servo2.write(possition1); 
      current = possition1;
    }
    irrecv.resume();
  } 
}

 





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users