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 :

Pointeur afin d'éviter d'écrire 16 fois le même code


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Par défaut Pointeur afin d'éviter d'écrire 16 fois le même code
    Bonjour à tous,
    Je suis nouveau sur ce forum et je connais un peu le langage arduino.
    J'ai cependant quelques lacunes.
    J'aimerais utiliser des pointeurs afin d'éviter de déclarer des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <Servo.h>
     
    Servo myservo1;//create servo object to control a servo
    Servo myservo2;//create servo object to control a servo
     
    void setup()
     
    {
      myservo1.attach(9);//attachs the servo on pin 9 to servo object
      myservo2.attach(10);
     
      myservo1.write(0);//back to 0 degrees 
      myservo2.write(0);//back to 0 degrees 
      // etc etc
    J'aimerais utiliser un pointeur à la place de myservo1 ou myservo2
    J'ai l'intention d'en avoir au moins 16
    du style
    *pointeur.attach(9);
    *pointeur.write(0);

    Mais évidemment ça ne fonctionne pas

    Est-ce que quelqu'un aurait une idée pour résoudre mon soucis.

    Avec mes remerciements

    Alain

  2. #2
    Membre expérimenté Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Par défaut
    Salut,


    Essaye avec un tableau d'objet.

    Un pointeur est une adresse mémoire, dans tous les cas tu seras obligé d'écrire quel que chose si tu veux la lire.
    Ensuit tu peux pointer sur t'on tableau.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Par défaut tableau d'objet
    Bonjour,

    Merci pour ta réponse,
    Oui , j'ai aussi essayé avec un tableau char en pensant que un élément du tableau pourrait remplacer le nom "myservo"
    ça ne fonctionnait pas

    En revanche un tableau d'objet serait idéal, mais je ne sais pas comment l'initialiser

    objet tab[] {myservo1,myservo2} ?

    merci pour le soutien
    Alain

  4. #4
    Membre expérimenté Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Par défaut
    J'ai jamais fait en arduino.

    Ca semble être t'on cas :
    https://programmingelectronics.com/t...-with-arduino/

    encore plus astucieux qu'une table d'obj ( relativement lourd pour des arduino).

    Plutôt une table de pin (int), et tu attache détache a t'on objet servo.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Par défaut
    Merci pour la réponse
    je vais essayer tout ça ce soir
    et vous tiens au courant
    merci en tout cas
    alain

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour

    Le langage Arduino reste du C++ :
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Servo myservo[16];
     
    void setup()
    {
       for (int i=0; i<16; i++)
       {
           myservo[i].attach(9 + i); //9, 10, 11, 12 etc.
           myservo[i].write(0);
       }
    }
    pas de difficulté particulière.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/01/2012, 17h13
  2. Réponses: 6
    Dernier message: 19/02/2010, 13h11
  3. Réponses: 4
    Dernier message: 15/05/2009, 17h52
  4. [MySQL] Éviter de faire 2 fois la même requête
    Par fey dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/06/2008, 15h40
  5. Réponses: 3
    Dernier message: 13/04/2008, 02h03

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