IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Déclencher le son d'arduino via processing


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    étudiant
    Inscrit en
    Avril 2020
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 13
    Par défaut Déclencher le son d'arduino via processing
    Bonjour tout le monde.

    Voilà je revient avec mon projet de pyramide. Le but du projet c'est de toucher les faces de l'objet et cela enclenche une piste de son. Les faces, il s'agirait de carton auquel j'aurais entouré d'aluminium. Donc le "spectateur" devra toucher les faces

    pour enclenché un son.

    J'ai fais des tests avec l'alu pour allumer une led pour commencer. J'ai réussis à allumer ma led. Là actuellement je bosse sur le déclenchement du son via arduino et processing. Le but dans le code c'est que quand je touche le sensor (l'alu) sur

    arduino, ça va enclencher le son via processing. Et j'aurais besoin un peu d'aide pour m'aider dans ce processus si vous avez une solution s'il vous plait. Je vous remercie déjà d'avance pour tout


    Voici le code Arduino:




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
     
     
    #include <CapacitiveSensor.h>
     
    #define  Pin 12                                         
     
    CapacitiveSensor   cs_4_2 = CapacitiveSensor(4, 2);
     
     
     
    void setup() {
     
       Serial.begin(9600);
      //pinMode(ledPin, OUTPUT);
      //digitalWrite(ledPin, LOW);
     
    }
     
    void loop() {
     
     long total1 =  cs_4_2.capacitiveSensor(30);
     
     Serial.println(total1);
     
     
     if (total1 > 500)                            // Donc on touche le sensor
      {
        Serial.write(1);            // le sons ce declenche
      } 
      else
      {
       Serial.write(0);               // Autrement, pas de sons
      }
     
      delay(33);
     
    }


    et là le code processing :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
     
    import processing.sound.*;
    import processing.serial.*;
     
    SoundFile file;
     
     
    Serial myPort;
     
     
     
     
    void setup() {
      size(640, 360);
      background(255);
     
      myPort = new Serial(this, "COM3", 9600);
     
     
      file = new SoundFile(this, "testSon.mp3");
      file.play();
    }      
     
    void draw() {
     
     
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 904
    Par défaut
    si côté processing vous faites un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import processing.serial.*;
    
    Serial monArduino;
    
    void setup() {
      printArray(Serial.list()); // affichage de tous les ports pour voir le N° de l'Arduino
      monArduino = new Serial(this, Serial.list()[0], 115200); // changer le [0] pour le bon index [1], [2], ... du port de votre Arduino
    }
    
    void draw() {
      while (monArduino.available() > 0) { // si on a reçu quelque chose
        int octetLu = monArduino.read(); // on le lit
        if (octetLu == 0) println("pas de son"); // si c'était 0 on affiche "pas de son" dans la console de processing 
        else 
        if (octetLu == 1) println("activer le son"); // sinon si c'est 1 on affiche "activer le son"
        // sinon on ignore 
      }
    }
    (je viens de taper cela ici, donc pas sûr à 100%)

    dans votre code arduino, changez la communication série pour 115200 bauds pour que ça corresponde à la vitesse de lecture dans processing
    En gros vous dites à votre PC/Mac sur quel port série il doit écouter des messages codés et quand vous recevez un octet qui correspond à un ordre connu, vous faites une action par exemple 0 arrêt du son et sinon 10,20,30,40 pare exemple pour les 4 faces de la "pyramide" (voire 50 si on peut toucher dessous).

    ensuite faut juste gérer correctement le déclenchement pour ne pas bombarder le PC de messages 1000 fois par secondes

    et bien sûr il ne faut pas que le moniteur Série de l'IDE Arduino soit ouvert car vous voulez que ce soit votre programme Processing qui reçoive les données

Discussions similaires

  1. [WB18] se connecter à une carte Arduino via IP
    Par ihih45 dans le forum WebDev
    Réponses: 0
    Dernier message: 13/11/2013, 21h52
  2. [ODS] Définir son propre style (via template) à l'aide d'ODS listing
    Par joyeux_lapin13 dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 19/10/2011, 11h49
  3. Imprimer via process
    Par bobjoumi dans le forum C#
    Réponses: 13
    Dernier message: 20/01/2011, 13h37
  4. Commande LPR via Process
    Par plutonium719 dans le forum Langage
    Réponses: 1
    Dernier message: 16/03/2009, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo