nunchuck+lcd+arduino - Page 2
Répondre à la discussion
Page 2 sur 7 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 186

nunchuck+lcd+arduino



  1. #31
    Yoruk

    Re : nunchuck+lcd+arduino


    ------

    PJ : Pièce jointe.

    J'aimerai quand même savoir dans quel cadre tu as a réaliser ce travail et de quelle formation tu disposes. Si on te demande de faire une telle réalisation, c'est que tu es censé maitriser certaines choses...

    Nous, on ne peut pas t'aider, sachant que je t'ai déjà demandé des éléments sur l'alimentation, que tu ne m'a pas indiqué.

    "remplacer cette "régulation" par un boitier de 4 piles relié au 2 servos ??"

    Sans informations sur les piles, sur la consommation des servos, l'autonomie que doit avoir le système, et plus globalement sur l'application globale du truc, comment veux-tu que l'on t'aide ? Tu as effectué des recherches pour le "coté pratique" ? Il y a plein de tutos sur le web pour t'aider !

    Pour la liaison série, tu peux me faire un screenshot complet de la fenêtre liaison série ? ça sent le problème de vitesse ou de parité. Encore une fois, on t'a demandé de faire cette liaison série ? Si non, pourquoi l'ajouter ?

    -----
    La robotique, c'est fantastique !

  2. #32
    pseudok

    Re : nunchuck+lcd+arduino

    désolé je ne peux pas faire de copie d'écran je n'ai pas word!

    Nom : SAM_0854.JPG
Affichages : 51
Taille : 470,5 Ko

    S'est un projet que je dois réaliser et je ne possède que le strict minimun

    pour la consommation des servos s'est 5V chacun
    est ce que cela veux dire qu'il me faut un boitier de 10V minimum soit (un boitier de plus de 4 pile AA)au moins 6 si chacunes des piles AA à 1.5V
    l'application du truc s'est de faire bouger 2 servos (type pan and tilt servo)
    de ce type
    https://www.youtube.com/watch?v=iXCkfVol3oo

  3. #33
    Yoruk

    Re : nunchuck+lcd+arduino

    Copie d'écran (touche du clavier) -> colle ça dans paint -> enregistrer sous. Pas besoin de word !

    Consommation c'est en COURANT qu'il faut une info. Il faut aussi des données sur la durée pendant laquelle tu veux que le système fonctionne.

    Tu as vraiment besoin d'être sur piles ?
    La robotique, c'est fantastique !

  4. #34
    pseudok

    Re : nunchuck+lcd+arduino

    pour diminuer les instabilitées je dois prendre en compte les données de X lectures avant d'écrire au servo ( ce qui augmentera le retard dans la réponse su servo)

    Nous avons aussi arrondi au X degrés et seulement écrit au servos si l'angle a changé.
    cette instabilité etant due à un asservissement n'est ce pas??

    car losrque j'envois le code alors que je n'ai pas encore bougé la délecommande
    celle ci prend une possition intitiale propre à chaque telecommande (d'ou pourquoi des accelerations initailes et des position de joyestique initial)

    peux tu me dire à quoi correspond ces termes

    countLoop
    nToAvg
    round
    Dernière modification par pseudok ; 30/10/2014 à 10h46.

  5. #35
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    pour diminuer les instabilitées je dois prendre en compte les données de X lectures avant d'écrire au servo ( ce qui augmentera le retard dans la réponse su servo)
    Oui, tu peux tester...

    Nous avons aussi arrondi au X degrés et seulement écrit au servos si l'angle a changé.
    cette instabilité etant due à un asservissement n'est ce pas??
    Incompréhensible...?


    car losrque j'envois le code alors que je n'ai pas encore bougé la délecommande
    celle ci prend une possition intitiale propre à chaque telecommande (d'ou pourquoi des accelerations initailes et des position de joyestique initial)
    Bin.. disons que le servo va à une position initiale au démarrage...?



    peux tu me dire à quoi correspond ces termes
    Quelle version du code ?



    PS : Merci pour le screenshot, mais il me faudrait l'intégralité de la fenêtre (comme demandé...)

    Si tu ne t'améliores pas sur l'orthographe et la clarté des réponses, moi je vais laisser tomber... Trois fois que je te demande de te relire avant de poster.
    La robotique, c'est fantastique !

  6. #36
    pseudok

    Re : nunchuck+lcd+arduino

    Ok , je vais faire un effort sur l'orthographe .

    en faite je parle d'asservissement car le système tend à revenir toujours dans sa position initiale .

    En effet , j'ai des accélérations initiales et lorsque je bouge là nunchuck, ceux-ci varient .
    Mais lorsque j’arrête de bouger ,on revient à ses accélérations .
    (je ne sais pas si on peut vraiment parler de correction puisque le servo bouge au départ même dans un montage sans nunchuck)!
    Donc je ne peux pas parler de correction de l'angle de départ du servo.

    voilà
    Nom : paint.jpg
Affichages : 52
Taille : 39,6 Ko

    Le souci que je rencontre , s'est que même lorsque la télécommande est éteinte les valeurs défilent quand même !


    Pour les termes que j'ai rajoutés , ce sont ceux utilisé dans des codes pour réaliser une moyenne et je veux juste savoir à quoi ils correspondent.
    Pour pouvoir les utiliser . Si tu ne les comprend pas comment puis-je réaliser cette moyenne ?

  7. #37
    pseudok

    Re : nunchuck+lcd+arduino

    voici ce que je souhaite réaliser pour tenter d'éliminer ces instabilités

    Ecrire seulement les valeurs prises par les servos quand ils changent.
    Faire une moyenne de X valeurs (en deg)

    A la fin , j'en déduirais que cela ne sert pratiquement à rien

    Et j'essayerais de mettre en place un filtre Kalman dans le code .

    Mais pour l'instant je souhaite juste réaliser une moyenne des valeurs ( je reste à ta disposition pour les soucis que je rencontre avec le moniteur série).
    Par contre , j'attends tes réponses car sans elles. Je ne peux pas passer à la suite .Et si tu comprend pas ou ne peux pas me réponde dis moi le .
    Ou sinon , je reste bloqué .

  8. #38
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    Le souci que je rencontre , s'est que même lorsque la télécommande est éteinte les valeurs défilent quand même !
    Normal, ta arduino tourne toujours...

    Pour la console série, en bas à droite, tu as la valeur de la vitesse en bauds, qui est à 4800. Dans ton prog, elle est à 115200. Change là et retente (pas besoin de modifier le programme).

    Pour la moyenne, quel est le problème ? Tu effectues la somme d'une suite de valeurs (même pas besoin de tableau en fait !). Tu incrémentes également une variable qui contient le nombre de valeur, et une fois que cette variable est égale à 10 par exemple, tu divises ton total par 10 et tu envoies le tout sur le servo...
    La robotique, c'est fantastique !

  9. #39
    pseudok

    Re : nunchuck+lcd+arduino

    merci , ça marche .

    Par contre, comment puis-je faire pour faire apparaître les informations sur des colonnes? et non sur une seul ligne comme j'ai car s'est illisible

    Pourquoi appelle ton ça, console série ?
    Tu parles de valeurs de vitesses en bauds: c'est la vitesse de quoi , de la manette ?
    Le baud s'est bien des bits par secondes
    Donc ces 2 valeurs sont des bauds .
    delay(500) Serial.begin(4800)

    Plus le bauds est petit et plus le système réagit rapidement? n'est-ce pas ?
    Dernière modification par pseudok ; 30/10/2014 à 13h55.

  10. #40
    pseudok

    Re : nunchuck+lcd+arduino

    Non , pour la moyenne je ne voit pas du tout ?

    Je ne sais même pas quel terme est utilisé pour la somme sou arduino (1.0.6) ?

  11. #41
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    Par contre, comment puis-je faire pour faire apparaître les informations sur des colonnes? et non sur une seul ligne comme j'ai car s'est illisible
    Difficile, c'est le transfert ligne par ligne qui fonctionne. Tu peux toujours faire la mise en forme dans le code et envoyer un retour à la ligne dès que ta ligne est terminée.

    Citation Envoyé par pseudok Voir le message
    Tu parles de valeurs de vitesses en bauds: c'est la vitesse de quoi , de la manette ?
    Pas du tout. Sérieusement, fait une recherche....


    Pour la moyenne excuse moi mais si faire "variable = variable + valeur" te dépasse, c'est qu'il te manque des bases en programmation... Encore une fois, quelle est ta formation et dans quel cadre as-tu à faire cela ?
    La robotique, c'est fantastique !

  12. #42
    pseudok

    Re : nunchuck+lcd+arduino

    Transfert ligne par ligne ?
    Tu peux toujours faire la mise en forme dans le code et envoyer un retour à la ligne dès que ta ligne est terminée.
    oui tout à fait c'est ça que je souhaite réaliser mais malheureusement sans succès !
    j'ai cherché mais là , je vois plus.

  13. #43
    Yoruk

    Re : nunchuck+lcd+arduino

    Tu mélanges des print à la suite pour constituer une ligne, puis pour la dernière valeur tu met un println pour aller à la ligne... Et tu recommences !

    Tu as trouvé ce qu'était les "bauds" ?
    La robotique, c'est fantastique !

  14. #44
    pseudok

    Re : nunchuck+lcd+arduino

    Les bauds se sont le nombre de symboles transmissible par secondes (ici les symboles ce sont des chiffres ?)

    oui merci , les valeurs passent bien à la ligne, mais elles ne varient pas .Peux tu me dire s'est due à quoi ?

    Code PHP:
    #include <math.h>
    #include "Wire.h"
    #include "WiiChuck.h"
    #include "LiquidCrystal.h"

    LiquidCrystal lcd(12115432);

    #define MAXANGLE 90
    #define MINANGLE -90


    WiiChuck chuck WiiChuck();
    int angleStartcurrentAngle;
    int tillerStart 0;
    double angle;


    void setup() {
      
    //nunchuck_init();
      

      
    Serial.begin(9600);
      
    chuck.begin();
      
    chuck.update();
      
    //chuck.calibrateJoy();
    }

      

    void loop()
    {
        
         
         
    Serial.print(chuck.readJoyX());
         
    Serial.print(' ');
         
    Serial.print(chuck.readJoyY());
         
    Serial.print(' ');
         
    Serial.print(chuck.zPressed()?"z_on ":"z_off");
         
    Serial.print(' ');
         
    Serial.print(chuck.cPressed()?"c_on ":"c_off");
         
    Serial.print(' ');
         
         
    Serial.print((int)chuck.readAccelX()); 
         
    Serial.print(' ');  
         
    Serial.print((int)chuck.readAccelY()); 
         
    Serial.print(' ');  
         
    Serial.print((int)chuck.readAccelZ()); 
         
    Serial.print(' '); 
         
    Serial.println(' ');
         
    delay(150);
         
    lcd.clear();

    Dernière modification par pseudok ; 30/10/2014 à 16h05.

  15. #45
    Yoruk

    Re : nunchuck+lcd+arduino

    Tu as déjà eu le problème.... Tu oublies de mettre à jour les relevés dans ta boucle... Il te manque un chuck.update ou du genre
    La robotique, c'est fantastique !

  16. #46
    pseudok

    Re : nunchuck+lcd+arduino

    je ne crois pas qu'il s’agisse de cela puisque je l'ai rajouté après le loop et rien ne se passe

  17. #47
    pseudok

    Re : nunchuck+lcd+arduino

    l'erreur s'est que j'ai oublié de mettre le Wire.begin();
    Après cela sa marche . merci

    Est-ce cohérent ?

  18. #48
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    je ne crois pas qu'il s’agisse de cela puisque je l'ai rajouté après le loop et rien ne se passe
    Tu es pénible... Dans le code que tu as posté et que j'ai pris du temps à analyser, il n'y apparait pas. Tu me fait perdre mon temps avec des versions de code pas à jour...


    Citation Envoyé par pseudok Voir le message
    Est-ce cohérent ?
    Bin... oui.... A ton avis ?

    Tu as un code qui marche avec l'écran LCD. Pourquoi n'es-tu pas reparti de cette base qui fonctionne pour l'adapter à une liaison série, plutôt que d'avoir réinventé l'eau chaude ?

    Enfin bon, si ça fonctionne, tant mieux !
    La robotique, c'est fantastique !

  19. #49
    pseudok

    Re : nunchuck+lcd+arduino

    pourquoi je ne suis pas parti de ce code
    Car quand je passe tu serial au lcd le code ne passait. Attention , je n'est pas recommencé en intégralité le code

    Quelle est la différence entre #include "Wire.h" et #include <Wire.h>

    Quelle est le role de ces 2 lignes long microsecondsToInches(long microseconds)

    return microseconds / 74 / 2;

  20. #50
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    Quelle est le role de ces 2 lignes long microsecondsToInches(long microseconds)

    return microseconds / 74 / 2;
    Surtout ne donne pas l'intégralité du code qui va avec...

    Là comme ça, je dirai une fonction qui effectue une simple conversion de valeurs... Quoique convertir des secondes en distance, je vois pas trop. Tu entres une valeur (microseconds) et il te ressort la même valeur divisée par 148. Principe d'une fonction paramétrée...
    La robotique, c'est fantastique !

  21. #51
    pseudok

    Re : nunchuck+lcd+arduino

    Peut tu m'expliquer également à quoi sert #include <math.h>

    Voila ce que j'ai trouvé pour la moyenne:

    ....

    Servo servo1;

    void setup() { ....

    servo1.attach(13);

    ....
    }


    float sevo1Tot = 0.0;

    servo1Tot += chuck.readservo1();


    if
    servo1 = somme(servo1/5)*5; et somme je crois que c'est round
    servo1 = max(servo1, -80); j'ai des servo HD 160 deg
    servo1 = min(servo1, 80);
    servo1 += 80; faut-il rajouter 80 degré pour quelle corresponde à la gamme du servo ?

  22. #52
    pseudok

    Re : nunchuck+lcd+arduino

    voici le code

    peux-tu également m'expliquer ces lignes en foncé.





    #include "Servo.h"
    #include "Wire.h"
    #include "WiiChuck.h"
    #include "math.h"
    #include "LiquidCrystal.h"


    #define MAXANGLE 90
    #define MINANGLE -90

    WiiChuck chuck = WiiChuck();
    int angleStart, currentAngle;
    int tillerStart = 0;
    double angle;


    Servo azimuth;
    Servo elevation;
    int posazi = 0;
    int posele = 0;
    const int EP = 4;
    const int TP = 13;
    int Trig_pin = TP;
    int Echo_pin = EP;
    int distance = 0;
    int textline = 0;
    int textrow = 0;

    void setup() {
    chuck.begin();
    chuck.update();
    azimuth.attach(11);
    elevation.attach(13);
    lcd.begin(20, 4);
    pinMode(3, OUTPUT);
    }
    void loop()
    {
    chuck.update();
    if(chuck.zPressed()){
    digitalWrite(3, HIGH);
    }
    else{
    digitalWrite(3, HIGH);
    }
    posazi = chuck.readRoll();
    posele = chuck.readPitch();
    elevation.write(180 - posele);
    azimuth.write(posazi + 50);
    long duration, inches;
    pinMode(TP,OUTPUT);
    pinMode(EP,INPUT);
    digitalWrite(Trig_pin, LOW);
    delayMicroseconds(2);
    digitalWrite(Trig_pin, HIGH);
    delayMicroseconds(10);
    digitalWrite(Trig_pin, LOW);
    duration = pulseIn(Echo_pin,HIGH);
    inches = microsecondsToInches(duration) ;
    lcd.setCursor(0, 0);
    lcd.print("-Wii Gimbal System-");
    lcd.setCursor(0, 1);
    lcd.print(" ");
    lcd.setCursor(0, 2);
    lcd.print(" ");
    lcd.setCursor(0, 3);
    lcd.print(" ");
    lcd.setCursor(0, 1);
    lcd.print("Azimuth = ");
    lcd.print(posazi);
    lcd.print(" deg");
    lcd.setCursor(0, 2);
    lcd.print("Elevation = ");
    lcd.print(posele);
    lcd.print(" deg");
    lcd.setCursor(0, 3);
    lcd.print("Distance = ");
    lcd.print(inches);
    lcd.print(" in");
    delay(100);
    }

    long microsecondsToInches(long microseconds)
    {
    return microseconds / 74 / 2;

    }

  23. #53
    Yoruk

    Re : nunchuck+lcd+arduino

    Les 3 premières sont de simples déclarations de variables,

    Les dernières correspondent comme expliqué dans mon précédent post à une fonction paramétrée.
    La robotique, c'est fantastique !

  24. #54
    pseudok

    Re : nunchuck+lcd+arduino

    Voila ce que j'ai trouvé pour la moyenne:

    ....

    Servo servo1;

    void setup() { ....

    servo1.attach(13);

    ....
    }


    float sevo1Tot = 0.0;

    servo1Tot += chuck.readservo1();


    if
    servo1 = somme(servo1/5)*5; et somme je crois que c'est round
    servo1 = max(servo1, -80); j'ai des servo HD 160 deg
    servo1 = min(servo1, 80);
    servo1 += 80; faut-il rajouter 80 degré pour quelle corresponde à la gamme du servo ?

    Qu'en dis-tu?

  25. #55
    Yoruk

    Re : nunchuck+lcd+arduino

    Tu sais construire une condition ?

    Une condition, c'est :

    SI condition vraie ALORS code OU BIEN code

    Toi, tu m'a fait un truc spécial...?

    Tu dimensionnes une variable servo1Tot, pourquoi pas, mais elle ne sert pas dans la suite de ton code...?
    La robotique, c'est fantastique !

  26. #56
    pseudok

    Re : nunchuck+lcd+arduino

    Ah oui , lorsqu'on téléverse un code dans l'arduino . Est-ce que cela supprime automatiquement le code précédent car pour ma lcd j'utilise un potentiomètre et il fonctionne après avoir téléverse d'autres codes

    peut-tu également prendre le temps de m'expliqué ,cette partie de code car elle permet de faire le calcule de la moyenne de 5 valeurs à chaque fois (s'est le nToAvg=5)
    (pas plus de valeurs car on sinon le retard de réponse du servo sera important) et je ne le comprends pas vraiment correctement , merci !

    #include <math.h> (indispensable pour faire les calculs de moyenne n’est ce pas ??)


    #include "WiiChuck.h"
    #include "Servo.h"

    Servo servo1;
    ….

    void setup() {
    ….
    servo1.attach(13);
    ….
    }

    int countLoop = 0; pourquoi donner des le départ les valeurs 0 au variable countLoop?.et pourquoi utilise t-on la variable countLoop?
    float servo1total= 0.0

    int nToAvg = 5;
    int dernierevaleurservo1 = 0 pourquoi donne ton à la dernière valeurs du servo la valeur 1?




    void loop() {
    ….

    servo1total += chuck.readservo1( cela est equivalent à servo1total=servo1total + chuck.readservo1 quel est l’intérêt .

    if (countLoop == nToAvg) { ?
    int servo1 = servo1total/nToAvg;
    ?
    servo1 = round(servo1/5)*5; ?
    servo1 = max(servo1, -80); j’ai des servos HD 160 deg
    servo1 = min(servo1, 80);
    servo1 += 80; faut il ajouter 80 degrès pour que le servo tourne à la game du servo acheté??

    Serial.print("servo1=");
    Serial.print(servo1);

    servo1total = 0.0;
    countLoop = 0;
    }


    else
    {
    servo1total += chuck.readservo1(); equivalent a servo1total=servo1total+chuck. readservo1()
    countLoop++;
    }
    }[/QUOTE]
    Dernière modification par pseudok ; 31/10/2014 à 13h24.

  27. #57
    pseudok

    Re : nunchuck+lcd+arduino

    pouvez-vous s'il vous plait m'aider pour réaliser cette moyenne ?

  28. #58
    Yoruk

    Re : nunchuck+lcd+arduino

    Citation Envoyé par pseudok Voir le message
    Ah oui , lorsqu'on téléverse un code dans l'arduino . Est-ce que cela supprime automatiquement le code précédent car pour ma lcd j'utilise un potentiomètre et il fonctionne après avoir téléverse d'autres codes
    Oui ça écrase tout.

    Code:
    if (countLoop == nToAvg) {                   test d'égalité entre les 2 variables. Si la condition est vraie, il exécute la suite.
    int servo1 = servo1total/nToAvg; ?           effectue une division
    servo1 = round(servo1/5)*5; ?                je ne connais pas cette fonction, ça doit calculer un arrondi
    Tu as trouvé ce code où ?
    La robotique, c'est fantastique !

  29. #59
    pseudok

    Re : nunchuck+lcd+arduino

    j'ai écris ce code en fonction de la rédaction d'autres codes
    car débutant j'ai du mal à coder

    J'attends qu'on m'aide juste à la rédaction du code . Pour comprendre et rédiger , tout en comprenant ligne par ligne .
    Sache que je souhaite pas faire du copier-coller comme tu semble le croire . Le souci s'est que j'assai de rédiger et de comprendre correctement .
    Mais débutant en programmation arduino (et ne comprenant ni le C ni le C++) je peux vraiment chercher pendant longtemps avant de comprendre .

    Vous voyez pour la rédaction de la moyenne , je ne comprend pas déja pourquoi on utilise le if et quelle forme doit avoir le code .
    Pourquoi je vous demande de m'expliquer le code car j'essaye de comprendre comment il est organisé et comment je pourrais, par la suite, réaliser ma
    moyenne .

    Pouvez-vous s'il vous plait m'aider à comprendre l'élaboration de cette moyenne ?
    De la base pour arriver au count Loop qui semblerait-il soit spécifique au langage arduino

    Car en effet , dans les périodes entre les 2 réponses je fais des recherches mais celles-ci ne découlent sur rien .

    merci

  30. #60
    dje8269

    Re : nunchuck+lcd+arduino

    Bonjour à tous ,

    je ne comprend pas déja pourquoi on utilise le if et quelle forme doit avoir le code .
    Je crois pseudok , que tu as sauté quelques étapes dans l'apprentissage de la programmation ! .

    As tu deja réalisé un programme faisant clignoter une led avant ? Car la tu veux faire un moyennage sans savoir ce qu'est "IF" . Yoruk est très patient je trouve . Mais bon il souhaite t'aider tant mieux, mais a mon avis tu esl oin d'avoir les bases quand même . La fonction "IF" en programmation c'est comme dire bonjour , LA base ...
    C'est en faisant des erreurs; que l'on apprend le mieux !!

Page 2 sur 7 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. LCD affichant les info (axes X Y Z ) de la nunchuck Wii
    Par pseudok dans le forum Électronique
    Réponses: 0
    Dernier message: 27/10/2014, 11h11
  2. arduino wii nunchuck
    Par pseudok dans le forum Électronique
    Réponses: 5
    Dernier message: 25/10/2014, 00h05
  3. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  4. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  5. Arduino
    Par askico dans le forum Électronique
    Réponses: 1
    Dernier message: 24/01/2012, 21h31
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...