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 :

convertir des signaux en pwm pour un 2DOF ou 3DOF


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut convertir des signaux en pwm pour un 2DOF ou 3DOF
    bonjour à tous

    je débute dans l'arduino j ai encore beaucoup à apprendre.
    je voudrai convertir des signaux en pwm (x,y,z) par l'instruction pulseIn.
    pour contrôler des servos en 2DOF ou 3DOF
    je galère sur le mixage des voies
    car la position de mes moteurs ne correspond pas à x,y ,z
    je sais qu'il faut ajouter du pitch et du roll sur les deux servos ou trois si (z)

    je vous serais très reconnaissant si vous pouviez m'aider

    Cordialement albert
    merci

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
     #include <Servo.h> 
     
     Servo myservo1;  
     Servo myservo2;
     //Servo myservo3; //pour le futur en 3DOF
     
    int ch1; // Here's where we'll keep our channel values
    int ch2;
    //int ch3; //pour une future application en 3DOF //z//
     
    int val;
     
    void setup() {
      myservo1.attach(8);  
      myservo2.attach(9);
      // myservo3.attach(10);//pour une future application en 3DOF //z//
     
     
      pinMode(5, INPUT); // lecture pins(x)
      pinMode(6, INPUT); // lecture pins(y)
     
      //pinMode(7, INPUT);// lecture pins(z) //pour une future application en 3DOF //z//
     
      Serial.begin(9600); // vitesse Serial
     
    }
     
    void loop() {
     
      ch1 = pulseIn(5, HIGH, 25000); // PWM lecture du channel x
      ch2 = pulseIn(6, HIGH, 25000); // PWM  lecture du channel y
      //ch3 = pulseIn(7, HIGH, 25000);//pour une future application en 3DOF //z//
     
     
      Serial.print("Channel 1:"); // Print Channel
      Serial.println(ch1);        // Channel
     
      Serial.print("Channel 2:");// Print Channel
      Serial.println(ch2);       // Channel
     
     
      //Serial.print("Channel 3:"); //pour une future application en 3DOF //z//
      //Serial.println(ch3);
     
     
    // mixage Channel en 2DOF - aux secours help
     
      //ch1
      val = map(val, 0, 1023, 0, 179);
      myservo1.write(val); 
     
      //ch2
      val = map(val, 0, 1023, 0, 179);
      myservo2.write(val); 
     
     // ch3//pour une future application en 3DOF //z//
     // val = map(val, 0, 1023, 0, 179);
     // myservo3.write(val); 
     
     
      delay(100); 
     
    }

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 719
    Points
    56 719
    Billets dans le blog
    40
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     //ch1
      val = map(val, 0, 1023, 0, 179);
    Ça ne serait pas map(ch1,1023,0,179), pour commencer ?

    Je ne sais pas si c'est important, mais pulsein est bloquant. L'instruction va "attendre" que le signal bascule (ou le timeout) avant de passer à la suite.

  3. #3
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonsoir

    map(ch1,1023,0,179),oui vous avez raison

    merci de votre intérêt
    cordialement albert

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2010, 14h31
  2. Macro pour convertir des € en $, et vice versa
    Par Jibe1982 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/10/2008, 11h19
  3. Réponses: 3
    Dernier message: 18/08/2008, 17h02
  4. Problème pour concaténer des signaux
    Par Math66 dans le forum Signal
    Réponses: 3
    Dernier message: 31/05/2007, 15h12
  5. Installer un cgi pour convertir des html en pdf
    Par sami_c dans le forum Apache
    Réponses: 3
    Dernier message: 23/03/2006, 14h36

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