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

Entrée/Sortie Java Discussion :

Connexion arduino/processing défaillante


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Connexion arduino/processing défaillante
    Bonjour a vous, alors je suis venu ici car en cherchant sur d'autres sites français ou anglais et les tutos ils me proposaient toujours la même solution pour mon programme qui, ne marchait pas. La Ligne de code qui ne marche pas sur processing est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String portName = Serial.list()[7];
    Les solutions que on me propose est toujours celle la mais, cela ne m'aide pas a me connecter a ma carte arduino :/
    Le message d'erreur est ArrayindexOutOf BoundException:13

    Aussi, voila tout le code que j'ai si besoin
    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
    import processing.serial.*;
    Serial mon_port;
     
    void setup() {
      size (1080, 720);
      fill(0);
      text("1", 50, 50);
      text("2", 50, 150);
      text("3", 50, 250);
      text("4", 50, 350);
      text("5", 50, 450);
      text("6", 50, 550);
      println("Liste des ports: \n" + Serial.list());
      mon_port = new Serial(this, Serial.list()[7], 9600);
      mon_port.bufferUntil('\n');
    }
     
    void serialEvent (Serial myPort) {
      fill(0);
      //insérez le programme ici
        boolean High = true; 
        if (High) { 
        rect(100, 20, 80, 50);
      }
    }
    void draw() {
     
    }
    En changeant le serial.list en 1 ou 0 ca me fera le carré si 1 ou pas de rien si 0.

    Merci de me répondre :X

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Rien compris. Mais ce dont je suis étonné c'est que cette ligne (avec un accès au 7) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String portName = Serial.list()[7];
    ne devrait pas donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayindexOutOf BoundException:13
    mais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayindexOutOf BoundException:7
    Donc soi tu as posté le mauvais morceau de code soit "aucunes idées".
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui désolé je me suis trompé c'est bien 7, et pourrai tu me dire exactement ce que tu a pas compris ou tu veux que j'explique cela autrement ?

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Non ca me semble plus cohérent.

    En gros Serial.list() il te retourne une array avec 0 ou X elements.

    Je ne sais pas d'ou tu as décider de mettre 7, si c'est en copiant collant, ben c'est perdu Tu essayes d'acceder a l'élément a l'index 7 et tu obtient une exception qui te dit clairement que y'a pas autant d'élément dans ta liste.

    Donc maintenant, affiche ce que te donne cette méthode (ou a coup de débug), pour qu'éventuellement tu vois ce que tu cherches ainsi que son index et ca devrait mieux fonctionner.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    De base, on m'avais dis que cette ligne de code faite pour pouvoir communiquer avec le port X,port connecté a mon arduino, ce que je cherche encore a faire désespérément a faire encore.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par elewen Voir le message
    De base, on m'avais dis que cette ligne de code faite pour pouvoir communiquer avec le port X,port connecté a mon arduino, ce que je cherche encore a faire désespérément a faire encore.
    Oui mais pourquoi 7 et pas 0 ou 42 ? J'imagine qu'une machine n'est pas l'autre ... donc forcement sur une machine ca peut être 7 , sur une autre totalement autres choses.

    Donc liste lest port et regarde si dans l'indentifiant ou que sais-je tu vois un truc qui ressemble à ce que tu cherches.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ohw okay désolé, c'est de ma faute, le port 7 est le port ou je suis connecté avec arduino, ayant testé sur d'autre ordinateur et don, d'autre numéro de port, la seule chose qu'il change c'est l'erreur qui deviens celui du port que j'ai choisi.

  8. #8
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    En fait, il vous suffit d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_port = Serial.list()[7];
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_port = new Serial(this, Serial.list()[7], 9600);
    Par contre, il faudra alors probablement agir sur mon_port pour définir le mode de fonctionnement (vitesse, parité, stopBit, etc...)

    Pour la formation : cours et tutoriels pour apprendre Arduino
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. Connexion Arduino & Raspberry en USB avec Serial
    Par Alexis55000 dans le forum Raspberry Pi
    Réponses: 20
    Dernier message: 22/12/2016, 23h00
  2. Réponses: 4
    Dernier message: 10/10/2013, 11h06
  3. [VB.NET] Process défaillant!
    Par Kalion dans le forum VB.NET
    Réponses: 9
    Dernier message: 16/03/2009, 10h10
  4. Augmenter le nombre de connexion - PROCESS / SESSIONS
    Par 6bil1 dans le forum Administration
    Réponses: 9
    Dernier message: 12/02/2009, 11h36
  5. Réponses: 9
    Dernier message: 27/05/2008, 10h48

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