Pages: [1]   Go Down
Author Topic: [Conseil-Aide] Dev-10628 (MP3 et MIDI)  (Read 791 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 5
Posts: 687
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour @ tous
Donc voilà j'ai reçu la 10628 , donc testé la partie MP3 avec les Sketch's Sparkfun  (OK ,ça fonctionne super bien)
Quand j'ai uploadé le sketch MIDI (SHEET  smiley-mad) donc j'ai regardé le schéma pour voir ça :
- GPIO0 Low /GPIO1 Low Puts VS1053 in MP3 Mode
- GPIO0 Low /GPIO1 High Puts VS1053 in MIDI Mode
J'ai donc connecté l'entrée 4(arduino) sur 5v ,uploadé le sketch MIDI (OK ,GOOD)
Sparkfun aurai pu mettre un micro inverseur sur la shield (BREF) .

Je souhaiterai (si c'est possible) réunir les 2 sketchs (MP3-MIDI) ,j'ai fait une tentative ,mais ça merde  smiley-mr-green

- Pensez-vous qu'en créant 2 VOID() [ Void MP3() - Void MIDI() ] et faire un test sur l'entrée 4 (GPIO1) dans le Void Loop()  ça pourrai éventuellement fonctionner ?
Les 3 sketchs sont en attachement .

- L'autre (aide ou conseil) pouvoir intégrer le Sketch de skywodd (MIDI PARSER) afin de pouvoir lire des fichiers MIDI sur SD .

Merci à l'avance  smiley-wink
Will






* MP3_Player_Example_Control.pde (11.6 KB - downloaded 9 times.)
* MusicIntrument_Example1.pde (5.4 KB - downloaded 9 times.)
* ArduinoMidiParserV2.ino (1.71 KB - downloaded 10 times.)
* GenericMidiParser.h (6.21 KB - downloaded 13 times.)
Logged

The truth is elsewhere !!

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

C'est quoi le but final ?
SD -> Arduino -> VS1053

Je vois mal comment tu veut fusionner mp3 et midi ...

Ps: Si tu ne fournis pas le fichier .cpp de mon parseur ça risque pas de compiler smiley-wink
Zip complet
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
God Member
*****
Karma: 5
Posts: 687
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Skywodd  smiley-wink

Le but ,est d'utiliser la SD de la Dev-10628  smiley-wink  , comme je me vois mal faire ça  smiley-red ,car il faut adapter ton prog.

quand je dit fusionner , je pense mettre un commut (soit MP3 ou MIDI) ,cette shield est capable de faire les 2 .
Je me suis peut-etre mal exprimé , chaque sketch (MIDI ou MP3) possède une partie se trouvant dans void loop() ,en mettant ces  2 parties dans un void() example : [ Void MP3() - Void MIDI() ]  et en faisant un test sur l'entrée 4 (GPIO1) qui les oriente vers leur Void() ,je pensais que cela pourrai fonctionner ??

P.S: pour le fichier .cpp ,j'ai voulu le mettre  smiley-mr-green mais ,rejetté faute de place  smiley-lol
Donc le voici  smiley-wink


@+
Will
 

* GenericMidiParser.cpp (13.23 KB - downloaded 15 times.)
Logged

The truth is elsewhere !!

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok je vois.

Ce que tu peut faire c'est dans loop() mettre un test du genre :
Code:
if(digitalRead(4) == HIGH) {
  midi();
} else {
  mp3();
}
Comme tu le disait.

Ou carrément faire une fonction loop() avec rien dedans, et faire le test dans setup() si tu ne veut pas changer de mode en cours de route mais juste au démarage.
Code:
if(digitalRead(4) == HIGH) {
  for(;;)   // boucle infini
    midi();
} else {
  for(;;)
    mp3();
}

Et mettre le code des loop() d'origine des deux skecth dans mp3() et midi(), avec le code d'initialisation midi/mp3 dans setup().
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
God Member
*****
Karma: 5
Posts: 687
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai donc la 1ere façon croyant que ça fonctionnerai :
Code:
if(digitalRead(4) == HIGH) {
  midi();
} else {
  mp3();
}
Mais non ,donc ,j'ai isolé toute la partie RESET de chaque et créé 2 procedures reset :
Code:
if(digitalRead(4) == HIGH) {
resmidi(); 
midi();
} else {
resmp3();
  mp3();
}

ça merde un peu suivant l'ordre ,si je commence par MIDI pour aller vers MP3 ça peut aller (enfin presque) ,par contre l'inverse  smiley-red
J'ai fait plusieurs tentatives en vain ,car pratiquement obligé de faire un reset arduino pour revenir à peu près dans l'ordre .
Si tu as un peu regardé les sketchs , il y a la partie reset hard shield (pin 8 ) ,donc essayé de le mettre dans les 2 procedures ,ça fonctionne ,mais il faudrai qu'il le fasse une fois car découpage du son .

A force de chercher je vais (ou on va ) peut-etre y arriver ,franchement je pensais que ça serai plus simple ,mais (SHEET ,pas de bol )  smiley-mr-green smiley-mr-green
Par contre pas essayé ça :
Code:
if(digitalRead(4) == HIGH) {
  for(;;)   // boucle infini
    midi();
} else {
  for(;;)
    mp3();
}
@+

P.S: Sinon tes partiels ça se passe bien  smiley-grin smiley-wink  (p'tit génie) ?

Logged

The truth is elsewhere !!

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Au pire méthode de brute :
Code:
byte mode;

void setup() {
  if(digitalRead(4) == HIGH) {
    setupMp3();
    mode = HIGH;
  } else {
    setupMidi();
    mode = LOW;
  }
}

void loop() {
  if(digitalRead(4) != mode) {
    if(!mode == HIGH) {
      setupMp3();
      mode = HIGH;
    } else {
      setupMidi();
      mode = LOW;
    }
  }

  if(mode == HIGH) {
    loopMp3();
  } else {
    loopMidi();
  }
}
C'est pas propre mais bon.

P.S: Sinon tes partiels ça se passe bien  smiley-grin smiley-wink  (p'tit génie) ?
Pas trop mal, la comptabilité c'est pas trop ça mais bon, c'est de la compta quoi smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
God Member
*****
Karma: 5
Posts: 687
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut & Merci F.....

Je regarderai ça demain ,car là ,pas trop le temps ,mais c'est vrai vu comme ça ,pourquoi pas !! smiley-wink
Je te dis quoi  smiley-wink

Quote
la comptabilité c'est pas trop ça mais bon, c'est de la compta quoi

C'est clair ,il faut kiffer  smiley-lol smiley-lol

@+
Will

Logged

The truth is elsewhere !!

Offline Offline
God Member
*****
Karma: 5
Posts: 687
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Skywodd
Donc ,je me suis inspiré de ton code (apporté quelques modifs) ,ça fonctionne .  smiley-lol smiley-wink

Mais ce n'est pas fini ,car il faut encore modifier quelques lignes de code ,car il ne reste plus qu'a intégrer la partie fichier MIDI  smiley-red

@+
P.S: ça avance (qui va piano va sano va lontano)  smiley-mr-green smiley-mr-green
Logged

The truth is elsewhere !!

Pages: [1]   Go Up
Jump to: