Aller au contenu


Photo
- - - - -

3BP pour 2pins (sur arduino)


26 réponses à ce sujet

#21 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 18 avril 2013 - 03:25

je n'ai plus le lien du site ou j'ai trouvé cet oscillo, mais j'ai encore le bout de code :

côté arduino :
/*
Ce programme consiste simplement à mesurer l'entrée analogique 0, et à transmettre le résultat via une communication série.
Il ressemble beaucoup au programme décrit dans la première étape du projet "la petite bête qui a peur".
*/
//déclaration des variables
//stockage du numéro de Pin où sera branché l'entrée de la mesure 
int PinDeMesure=0;
//conteneur pour stocker la mesure
int tension=0;
// délai entre deux mesures
int periodeDeMesure=20;

void setup(){ // Initialisation du programme
    // établir la connection série à 19200 baud
    Serial.begin(19200);
    // définir le PinDeMesure comme une entrée
    pinMode(PinDeMesure, INPUT);
}

void loop() { //boucle principale
    tension = analogRead(PinDeMesure); // Lit la tension du pin DeMesure et stocke le résultat dans la variable tension
    Serial.println(tension); // communique la valeur de la tension au port série
    delay(periodeDeMesure); //attendre jusqu'à la prochaine mesure
}

et côté PC :
/*
oscilloscope minimaliste avec un arduino
récupère les valeurs via une liaison serie
*/
import processing.serial.*; // importation de la librairie de communication serie
//variables
Serial maConnection; // Crée un objet de communication série
int tension=0; // variable ou sera stockée la valeur de la tension
//affichage
int fenetreTemps=12000; // temps pour parcourir la largeur de l'écran en millisecondes
int x=0;
int y=0;

void setup() {
    size(650, 400); // taille de l'ecran
    String NomDuPort = Serial.list()[2]; // récupère la première interface serie trouvée
    println("connection a "+NomDuPort);
    maConnection = new Serial(this, NomDuPort, 19200); // création de la connexion série
    background(255); // fond d'écran blanc
    smooth(); // lisser les dessins
    strokeWeight(2); // largeur de trait
    stroke(40); // couleur du trait gris
}

void draw() { //boucle de dessin principale
    //rien ne s'y passe, tout est géré dans la fonction serialEvent
}

void serialEvent (Serial maConnection) { // si des données arrivent par la connexion série
    String retour=maConnection.readStringUntil('\n'); // lit la donnée jusqu'à la fin de ligne
    if (retour != null) { //si le retour n'est pas vide
        retour = trim(retour); // enlever les espaces
        tension = int(retour); // converti le texte en nombre entier
    }
    //détermination du X actuel
    int oldx=x;
    x=(millis()%fenetreTemps)*width/fenetreTemps;
    if (oldx>x) {
        //reprise au debut de l'écran
        oldx=0;
        background(255); //fond d'écran blanc
    }
    //determination de la valeur de Y
    int oldy=y;
    y=int(map(tension, 0, 1023, 380, 20)); // mise à l'échelle de la tension pour entrer dans l'écran
    line(oldx, oldy, x, y); // dessine le trait
}

j'ai juste modifié la ligne suivante dans processing :
String NomDuPort = Serial.list()[2]; // récupère la première interface serie trouvée
à la base c'était [0], mais comme mon arduino est sur COM3... j'ai mis un 2. ^^

#22 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 19 avril 2013 - 02:36

c'est encore moi,
j'ai mis le prog "oscilloscope" présenté plus haut sur un second arduino, j'ai le même souci.
Pensez-vous que ça puisse venir de l'USB de mon ordi ? comment vérifier ?

Vu que la rallonge USB venait de derrière l'ordi, j'ai aussi pensé qu'un câble secteur pouvait provoquer un courant induit, mais même en branchant le cordon USB en façade j'ai une sinusoïde à la fin.

#23 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 222 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 19 avril 2013 - 08:16

c'est encore moi,
j'ai mis le prog "oscilloscope" présenté plus haut sur un second arduino, j'ai le même souci.
Pensez-vous que ça puisse venir de l'USB de mon ordi ? comment vérifier ?

Vu que la rallonge USB venait de derrière l'ordi, j'ai aussi pensé qu'un câble secteur pouvait provoquer un courant induit, mais même en branchant le cordon USB en façade j'ai une sinusoïde à la fin.


tu as essayé de rajouter la résistance de pull down dont je t'ai parler ?

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#24 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 19 avril 2013 - 01:17

tu as essayé de rajouter la résistance de pull down dont je t'ai parler ?

houla.. non, j'avais lu les réponses trop vite désolé.
il faut la placer ou ? entre l'entrée analogique de l'arduino et la masse ?
une 10Kohm fera l'affaire ?

merci.

#25 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 222 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 19 avril 2013 - 05:18

houla.. non, j'avais lu les réponses trop vite désolé.
il faut la placer ou ? entre l'entrée analogique de l'arduino et la masse ?
une 10Kohm fera l'affaire ?

merci.

oui par contre comme je te le disait ça va un peu changer tes valeurs il faudra donc refaire le calcul en prennant en compte cette résistance mais cela n'empêche pas de faire les test ! ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#26 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 19 avril 2013 - 07:01

oui par contre comme je te le disait ça va un peu changer tes valeurs il faudra donc refaire le calcul en prennant en compte cette résistance mais cela n'empêche pas de faire les test ! ;)/>

j'ai fais le(s) test(s) avec plusieurs valeurs de résistance (entre 330ohms et 10Kohms).. ça corrige la perturbation sinusoïdale, mais ça influe beaucoup trop sur le résultat.. je pense que je vais me replonger dans les calculs de résistances histoire d'obtenir un bon résultat.. je vous tiens au courant dès que j'ai un truc bien fonctionnel.

merci encore.

#27 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 222 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 19 avril 2013 - 07:16

j'ai fais le(s) test(s) avec plusieurs valeurs de résistance (entre 330ohms et 10Kohms).. ça corrige la perturbation sinusoïdale, mais ça influe beaucoup trop sur le résultat.. je pense que je vais me replonger dans les calculs de résistances histoire d'obtenir un bon résultat.. je vous tiens au courant dès que j'ai un truc bien fonctionnel.

merci encore.


Je t'avais prévenu que cela allait changer les valeur ^^ Bon par contre j'ai pas pris le temps de le calculer ^^

Concernant le "code" je ne m'y suis pas plongé ainsi que la datasheet de l'arduino ( j'ai pas eu le temps x) et puis c'est un peu plus long pour moi vu que je n'utilise pas d'arduino ) mais il serait interréssant de voir quel est la différence entre ce que fait le code de styrk et le tien pour la prise de mesure car lui il aurait visiblement une résistance de pull down intégré ... à moins que vous n'ayez pas les même modeles ... ou que cela soit différent en fonction du port utilisé ... Car avec despics tu peux coder l'activation ou la désactivation de résistance de pull up ou down ... donc tu dois pouvoir le faire avec une arduino aussi !
Enfin la différence me turlupine ... Et ça serait bien que je la comprenne pour pouvoir aider ^^



Bref si je trouve quelque chose je te tiens au courant =) à bientôt !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users