Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2009-06-05 23:39:05 faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

faire marcher mon bouton sur plaque Arduino par données Processing



URGENT! URGENT!
bonsoir, voici le sketch que je suis en train de réaliser sur Processing, pour envoyer un son à la plaque arduino, qui elle-même contient un bouton qui sera le déclencheur de ce son.
mais il doit y avoir une petite erreur d'ajout à faire ou simplement quelques éléments en trop...mon doute est là. En fait le son se déclenche mais il est vraiment infime, et par bribes, on écoute juste un son décousu et méconnaissable...
Enfin ce que je souhaiterais savoir, c'est comment l'écrire correctement, afin que le bouton lorsqu'on le presse, déclenche le son qui serait de 4 min. et que si l'on rappui dessus il s'éteint. En fait comme une sorte d'interrupteur?
j'espère avoir été claire dans mon explication.
merci à tous!!!!

import processing.serial.*;
int linefeed = 10;
int val = 0;
Serial myPort;

import ddf.minim.*;

Minim minim;
AudioPlayer player;
AudioPlayer player2;


boolean CAPTEUR_ON = false;
boolean MOVIE_PLAYING = true;


void setup() {
 
size(512, 100, P2D);
 
println(Serial.list());
myPort = new Serial(this, "/dev/cu.usbserial-0000101D", 9600); 
myPort.bufferUntil(linefeed);
minim = new Minim(this);
player = minim.loadFile("Gramofono.mp3", 512);
player2 = minim.loadFile("silencio processing.mp3", 512);
player.loop();
player2.loop();
}

void draw() {

  background(0);
if (CAPTEUR_ON == true) {
minim.loadFile("Gramofono.mp3", 512);
       
   
  } else {
minim.loadFile("silencio processing.mp3", 512);
   
  }
}

void serialEvent(Serial myPort) {
 
  String myString = myPort.readStringUntil(linefeed);
  if (myString != null) {
    myString = trim(myString);
    int val = int(myString);
    println("1" + val);
   
    if(val==0){ // si ce nombre vaut 0 (= OFF)
      CAPTEUR_ON = false;
      if (MOVIE_PLAYING == false) player.loop();
    }
    else{ // si ce nombre vaut autre chose
      CAPTEUR_ON = true;
      player2.loop();
      MOVIE_PLAYING = false;
    }
  }
}
void stop()
{

player.close();
minim.stop();
super.stop();

}

Hors ligne

 

#2 2009-06-06 11:49:18 Re : faire marcher mon bouton sur plaque Arduino par données Processing

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: faire marcher mon bouton sur plaque Arduino par données Processing



bonjour et bienvenue,

Je n'ai pas le temps de regarder dans le détail, mais il y a des trucs qui ne collent pas, tu parles d'un son, et dans le code il y en a deux? Deuxième chose, il me semble que les « loadfile » sont en trop dans le draw(), les fichiers sont déjà chargés dans le setup(). Essaie de le faire progressivement, d'abord jouer un son avec une interaction simple au clavier, puis rajouter les infos qui viennent d'arduino par le port série. Pour jouer un son, tu trouveras le code très facilement dans la doc de minim

Hors ligne

 

#3 2009-06-06 18:32:51 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



Bonsoir!!! merci infiniement pour votre réponse, brève logique et surtout aussi rapide. j'ai bien saisi ce dont vous m'avez parlé, et le fait d'avoir inscrit un second son qui n'est autre que du silence, était en fait pour éviter d'avoir à noter stop ou close, ce que je viens de trouver dans la précieuse information que vous m'avez fait parvenir. En effet, le sketch du doc de minim m'est très utile. simplement pour le temps qu'il me reste avant de lancer ce projet, je préfères continuer à essayer avec mon son créé au préalable. Et ainsi m'aider de votre réponse et de ce doc envoyé. je le testerai je vous en dierai des nouvelles...
Encore un grand merci!
sarah.

Hors ligne

 

#4 2009-06-07 11:08:54 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



Bonjour! en fait je ne sais pas si je l'avais précisé: je ne veux faire aucun dessin, il s'agit simplement d'une interaction avec un bouton que l'on presse, et d'où sort le son...

Hors ligne

 

#5 2009-06-07 12:15:20 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



alors je viens d'essayer plusieures choses; cette solution fonctionne, avec le montage établi, simplement quelques fois quand je presse le bouton, on sent qu'il y a une sorte de saturation et il le son se bloque alors un peu. est-ce normal? dois-je donc retirer les formules appartenant au second son qui n'est que du silence?
merci beaucoup pour la patience!!
j'attend votre réponse.


import processing.serial.*;
int linefeed = 10;
int val = 0;
Serial myPort;

import ddf.minim.*;

Minim minim;
AudioPlayer player;
AudioInput in;



boolean CAPTEUR_ON = false;
boolean MOVIE_PLAYING = true;


void setup()
{
 
size(512, 100, P2D);
 
println(Serial.list());
myPort = new Serial(this, "/dev/cu.usbserial-0000101D", 9600); 
myPort.bufferUntil(linefeed);
minim = new Minim(this);
minim.debugOn();
in = minim.getLineIn(Minim.STEREO, 512);
player = minim.loadFile("Gramofono.mp3", 512);
player.loop();

}

void draw()
{

  background(0);
  stroke(255);
}


void keyPressed()

{
 
if ( key == 'p') player.play();

}
       
   
 

void serialEvent(Serial myPort) {
 
  String myString = myPort.readStringUntil(linefeed);
  if (myString != null) {
    myString = trim(myString);
    int val = int(myString);
    println("1" + val);
   
    if(val==0){ // si ce nombre vaut 0 (= OFF)
      CAPTEUR_ON = false;
      if (MOVIE_PLAYING == false) player.loop();
    }
    else{ // si ce nombre vaut autre chose
      CAPTEUR_ON = true;
   
      MOVIE_PLAYING = false;
    }
  }
}
void stop()
{

player.close();
minim.stop();
super.stop();

}

Hors ligne

 

#6 2009-06-07 12:25:45 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



désolée j'ai de nouveau une question: dois-je faire apparaître dans le sketch, que dans mon montage le cable du bouton se trouve connecté au port 5?

Hors ligne

 

#7 2009-06-07 13:52:14 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



Au secours!!!!!!!!!!!!!mon bouton ne fonctionne pas!!!

Hors ligne

 

#8 2009-06-07 20:02:30 Re : faire marcher mon bouton sur plaque Arduino par données Processing

sarahapache
nouveau membre
Date d'inscription: 2009-06-04
Messages: 7

Re: faire marcher mon bouton sur plaque Arduino par données Processing



alors là maintenant le sketch de ce matin je viens de le reessayer et il ne marche même plus...il me donne une erreur au niveau de String myString = myPort.readStringUntil(linefeed);
ca sera surement parce-que j'ai du oublié quelquechose...

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024