Aller au contenu


Photo
- - - - -

commande amortisseur vélo


  • Veuillez vous connecter pour répondre
191 réponses à ce sujet

#101 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 05:49

Avez vous installé la librairie ?  ( librairie = bibliothèque)

https://www.robot-ma...s/tuto-arduino/

et bien apriori non.. Je pensais qu'il fallait televerser une sorte de programme mais si je comprend bien il faut créer la bibliothèque et le lien donné sert à tester avec des exemple..  :huh:



#102 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 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é 28 août 2021 - 06:27

Une bibliothèque est fournie et elle contient des exemple, il faut l'installer comme expliqué dans une des pages du tuto arduino donné, avant de pouvoir lancer l'exemple.


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  

 

 

 


#103 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 06:31

Je ne comprend pas trop cette parti bibliothèque malgré toutes mes recherches... 

 

J'ai bien une liste de dans croquis >> inclure une bibliothèque >> voir la liste et je ne sais pas quoi choisir ... ??

Image(s) jointe(s)

  • Capture d’écran 2021-08-28 à 07.26.40.png


#104 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 06:40

Suite si je choisi "SERVO" 

 

j'ai ce message :

 

 

Donc je clic sur enregistrer 

Image(s) jointe(s)

  • Capture d’écran 2021-08-28 à 07.38.28.png


#105 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 06:43

et j'ai ce message d'erreur ..

 

 

faut-il faire comme cela ? ou autrement ?  Merci

Image(s) jointe(s)

  • Capture d’écran 2021-08-28 à 07.41.20.png


#106 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 07:13

si je vais dans exemple (pin 1) >> servo >> sweep 

 

Verifier OK 

 

téléverser j'ai encore un message d'erreur ... 

 

 

:help:  :help:

Image(s) jointe(s)

  • Capture d’écran 2021-08-28 à 07.41.20.png


#107 Ludovic Dille

Ludovic Dille

    Membre occasionnel

  • Membres
  • Pip
  • 186 messages
  • Gender:Male
  • Location:Belgique
  • Interests:Robotique, électronique, embarqué, informatique, ...

Posté 28 août 2021 - 08:39

Hello,
Le message dit en gros qu'il ne trouve pas ton arduino (... can't open device ...) pour régler ce soucis tu peux regarder si ton arduino n'aurait pas changé de port. Si elle n'apparait plus tu peux tenter d'appuyer sur le bouton reset de ton arduino



#108 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 28 août 2021 - 12:03

Hello,
Le message dit en gros qu'il ne trouve pas ton arduino (... can't open device ...) pour régler ce soucis tu peux regarder si ton arduino n'aurait pas changé de port. Si elle n'apparait plus tu peux tenter d'appuyer sur le bouton reset de ton arduino

Effectivement il y avait bien un souci de port. donc cela est résolu. Merci 

 

Cependant une fois les léléversement fait il n'y pas d'erreur mais le faite qu'il s'agisse d'un servomoteur intelligent scs0009 de feetech cela ne fonctionne pas. 

Il doit y avoir une librairie spécifique .. mais je ne trouve dans le lien ou même sur le net.. 

 

Quelqu'un aurait-il des infos ou une idée ? Merci 



#109 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 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é 29 août 2021 - 09:50

Alors première question.

 

Faut-il débrancher la batterie quand l'arduino est connecté au PC ? (je pense que oui.. )

 

Pour le Servo intelligent SCS0009 de feetech faut-il une bibliothèque différente ? il y a une librairie : la librairie Arduino des moteurs SCS0009

avec des exemples mais il se passe rien juste ce message d'erreur :

"

Broadcast:1:10: fatal error: SCServo.h: No such file or directory

 #include <SCServo.h>
          ^~~~~~~~~~~
compilation terminated.
exit status 1
SCServo.h: No such file or directory
 

"

 

Cela ne me parle pas du tout... Il me manque quelle chose mais quoi je sais pas. Au secours  :help:

 

Merci

 

Tu l'as déjà donné toi même le lien de la librairie ...


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  

 

 

 


#110 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 29 août 2021 - 02:19

 

Tu l'as déjà donné toi même le lien de la librairie ...

Ok tres bien mais Une fois téléchargé j'ai ça (voir ci dessous) mais dans quelle fichiers est la librairie ? je peux ouvrir les fichiers uniquement via Excel et faire un copier coller ensuite ne fonctionne pas..

Image(s) jointe(s)

  • Capture d’écran 2021-08-29 à 15.12.09.png
  • Capture d’écran 2021-08-29 à 15.18.22.png


#111 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 321 messages
  • Gender:Male

Posté 29 août 2021 - 07:59

Bonsoir,

n'hésite pas à relire le chapitre sur l'installation des bibliothèques Arduino du tuto.

 

Pour résumer :

1) tu télécharge ta bibliothèque sous forme compressée (ie .zip), que tu NE DÉCOMPRESSE PAS

2) depuis l'IDE Arduino, tu fais Croquis->Inclure une bibliothèque->ajouter la bibilothèque .ZIP

3) tu trouve le fichier .zip de ta bibliothèque

4) si besoin, tu redémarre l'IDE arduino


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#112 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 29 août 2021 - 08:43

Bonsoir,

n'hésite pas à relire le chapitre sur l'installation des bibliothèques Arduino du tuto.

 

Pour résumer :

1) tu télécharge ta bibliothèque sous forme compressée (ie .zip), que tu NE DÉCOMPRESSE PAS

2) depuis l'IDE Arduino, tu fais Croquis->Inclure une bibliothèque->ajouter la bibilothèque .ZIP

3) tu trouve le fichier .zip de ta bibliothèque

4) si besoin, tu redémarre l'IDE arduino

Oui j'ai lu plusieurs fois seulement il ya un souci de fichier zip.. 

Quand je clici sur le lien il se telecharge directement en format normal. et quand je vais dans la librairie dans mes téléchargement. les fichier ne sont pas en zip.. 

clic droit je peux uniquement compressé (le mettre en zip) voir photo.

du coup je ne peux Inclure une bibliothèque->ajouter la bibilothèque .ZIP ..

 

Merci pour votre aide  



#113 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 29 août 2021 - 09:36

Oui c'est exact.

Je viens de faire le test sur un PC et il se telecharge bien en zip .. J'ai également réussi à mettre la bibliothèque.

J'ai donc recommencé sur Mac et la manip est différente mais je pense avoir trouvé. une bonne chose de faite.

 

J'ai donc la librairie de mise

 

maintenant je continu les soucis :) à chaque exemple j'ai ce message d'erreur :

 

 Serial

exit status 1

'Serial1' was not declared in this scope

 

Avez vous des idées ? 
 

Merci 

Je viens de faire le test sur un PC et il se telecharge bien en zip .. 

 

J'ai également réussi à mettre la bibliothèque. Il y a donc bien un souci sur Mac ? il ya t'il une autre version Mac ? 

 

J'ai maintenant un message d'erreur quand sur chaque exemple :  

 

exit status 1
'Serial1' was not declared in this scope


#114 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 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é 30 août 2021 - 12:12

Toi l'exemple qui t'intéresse c'est " WritePos " .

Le code d'exemple fournit est prévu pour une arduino mega qui possède un Serial1 ( L'arduino mega a 4 serial  hardware: Serial, Serial1 Serial2 et Sérial3)
Toi tu utilises une arduino nano qui n'a qu'un seul est unique port série hardware : Serial. 

Donc dans ton code d'exemple remplace Serial1 par Serial . 
 


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  

 

 

 


#115 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 30 août 2021 - 05:49

Toi l'exemple qui t'intéresse c'est " WritePos " .

Le code d'exemple fournit est prévu pour une arduino mega qui possède un Serial1 ( L'arduino mega a 4 serial  hardware: Serial, Serial1 Serial2 et Sérial3)
Toi tu utilises une arduino nano qui n'a qu'un seul est unique port série hardware : Serial. 

Donc dans ton code d'exemple remplace Serial1 par Serial . 
 

Ha ok super et bien voila modifie faite  :thank_you:

J'avoue ça fait du bien de voir ce petit servo tourner  :yahoo:

 

Maintenant il faut que je programme en incluant le bouton 

 

Non je n'avais pas fait.. J'ai changé le Serial1 par Sérial et et et ça fonctionne ok_hand.png?v=10

Maintenant il faut que je programme en incluant le bouton.. encore une nouvelle aventure en tout cas merci de l'aide 



#116 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 30 août 2021 - 11:59

Je pense avoir trouvé un programme (http://modelleisenbahn.triskell.org/spip.php?article58)
qui semble très proche voir similaire. (Il faudra je pense revoir l'angle du servo..)

 

j'ai modifier le code pour adapter à mon cas le voici :

 

#include <SCServo.h>


const byte SERVO_A_ANGLE_MIN = 0;
const byte SERVO_A_ANGLE_MAX = 1;
const byte SERVO_EN_MOUVEMENT_VERS_ANGLE_MAX = 2;
const byte SERVO_EN_MOUVEMENT_VERS_ANGLE_MIN = 3;


const int angleMin = 1250;
const int angleMax = 1750;


SCServo SERVO;
int vitesse = 0;
int angle = angleMin;
byte etatServo = SERVO_A_ANGLE_MIN;


const int pinBouton = 8; /* le bouton est connecté à  la broche A0 */


const boolean PRESSE = true;
const boolean RELACHE = false;


boolean etatBouton = RELACHE;


const byte AUCUN_EVENEMENT = 0;
const byte EVENEMENT_PRESSE = 1;
const byte EVENEMENT_RELACHE = 2;


/*
 * fonctions de gestion du poussoir
 */
boolean lirePoussoir()
{
    boolean resultat = RELACHE;
    if (analogRead(pinBouton) > 512) {
        resultat = PRESSE;
    }
    return resultat;
}


byte lireEvenement()
{
    byte evenement;
    boolean nouvelEtat = lirePoussoir();
    if (nouvelEtat == etatBouton)
        evenement = AUCUN_EVENEMENT;
    if (nouvelEtat == PRESSE && etatBouton == RELACHE)
        evenement = EVENEMENT_PRESSE;
    if (nouvelEtat == RELACHE && etatBouton == PRESSE)
        evenement = EVENEMENT_RELACHE;
    etatBouton = nouvelEtat;
    return evenement;
}


/*
 * La fonction setup() est exécutée 1 fois
 * au démarrage du programme
 */
void setup()
{
  SCServo SERVO;
}


/*
 * La fonction loop() est exécutée
 * répétitivement
 */
void loop()
{
   
    angle = angle + vitesse;
  
    if (angle > angleMax) {
        angle = angleMax;
        vitesse = 0;
        etatServo = SERVO_A_ANGLE_MAX;
    }
    else if (angle < angleMin) {
        angle = angleMin;
        vitesse = 0;
        etatServo = SERVO_A_ANGLE_MIN;
    }


    /* lecture de la commande de l'utilisateur */
    byte evenement = lireEvenement();
  
    if (evenement == EVENEMENT_PRESSE) {
        switch (etatServo) {
            case SERVO_A_ANGLE_MIN:
            case SERVO_EN_MOUVEMENT_VERS_ANGLE_MIN:
                vitesse =  1;
                etatServo = SERVO_EN_MOUVEMENT_VERS_ANGLE_MAX;
                break;
            case SERVO_A_ANGLE_MAX:
            case SERVO_EN_MOUVEMENT_VERS_ANGLE_MAX:
                vitesse = -1;
                etatServo = SERVO_EN_MOUVEMENT_VERS_ANGLE_MIN;
                break;
        } 
    }


    delay(3);}

J'ai aucun message d'erreur lors du téléversment mais cela ne fonctionne pas... J'ai aucun réaction du servo le BP 

 

Avez vous une idée sur le souci ?

 

Merci  



#117 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 321 messages
  • Gender:Male

Posté 30 août 2021 - 01:01

Bonjour,

je crois avoir trouvé d'où viens ton problème.

 

Sauf erreur de ma part (si j'en crois tes photos et les modifs que tu as faites dans le code), ton bouton est branché sur le pin numérique n°8 : correct?

 

Le problème est que tu utilises les fonctions analogRead, qui sont prévues pour les pins analogiques (ie A0 à A7). Leur comportement n'est pas définit quand tu essaye de lire un pin numérique (d'après ce que j'ai compris du code source de la fonction analogRead, tu te retrouve à lire le pin analogique 8 modulo 8, soit le pin A0, mais sans garantie, le code source étant assez obscure).

 

Donc tu as deux possibilités :

1) tu branche ton bouton sur un pin analogique comme dans l'exemple. NB : pour ça, il faut aussi brancher une résistance comme dans l'exemple

2) tu lis le bouton comme un pin numérique, et pas comme un pin analogique. Pour ça, tu remplace la fonction lirePoussoir() par :

boolean lirePoussoir()
{
    boolean resultat = RELACHE;

    if (digitalRead(pinBouton)==HIGH) {
        resultat = PRESSE;
    }
    return resultat;
}

ou de manière plus compacte par :

boolean lirePoussoir()
{
    return digitalRead(pinBouton);
}

ou de manière encore plus compacte, tu supprime entièrement la fonction, et tu remplace l'appel à la fonction lirePoussoir() par digitalRead(pinBouton)
 

 

 

À noter :

- un "problème" des boutons est que le contact est mécanique, et qu'il y a parfois des "rebonds" (ie au moment ou on appuie sur le bouton (ou qu'on le relache), il y a un premier contact, puis une micro-coupure, puis un nouveau contact, ... jusqu'à ce que le contact soit bien établi. Du point de vue du programme, ça donne l'impression qu'on appuie plein de fois super vite sur le bouton.

Il y a plusieurs solutions à ce problème :

1) rajouter un petit délai dans le programme, pour être sur que le bouton soit stabilisé avant de le lire à nouveau

2) rajouter un condensateur (un composant électronique), qui permet de "lisser" la tension, et donc de faire disparaître les rebonds

3) la petite "astuce" du code d'exemple, d'utiliser un pin analogique : un pin analogique est relativement lent à lire (environ 100µs), ce qui peut suffire. L’inconvénient est qu'on 'a aucune maîtrise sur le délai : selon le bouton, il peut être insuffisant, ou au contraire plus long que nécessaire (bon, ça, dans ton programme, c'est pas grave)

 

- ce serait pas mal si tu pouvais nous faire un petit récaptilatif de qu'est-ce qui est branché comment/sur quel pin

 

- en particulier, selon comment tu as branché ton bouton, il se peut que les états soient inversés, voir qu'il faille que tu active la résistance de "pull-up" interne.

 

- si comme le laisse penser la photo, ton pin est branché entre les pins GND et 8 (sans résistance), alors tu as probablement les deux "problèmes". Pour les corriger, il te faut:

1) ajouter la résistance de pull-up interne, en ajoutant la ligne suivant dans la fonction setup :

pinMode(pinBouton, INPUT_PULLUP);

2) corriger l'inversion (que tu obtiens naturellement si tu utilise une résistance de pull-up (que ce soit la pull-up internet ou une résistance que tu mets toi même entre le bouton et le 5V)). Pour ça, il vas probablement falloir que tu modifie légèrement le code que je t'ai donné plus haut :

boolean lirePoussoir()
{
    boolean resultat = RELACHE;

    if (digitalRead(pinBouton)==LOW) {   //nb : HIGH remplacé par LOW
        resultat = PRESSE;
    }
    return resultat;
}

ou de manière plus compacte par :

boolean lirePoussoir()
{
    return !digitalRead(pinBouton);   //nb : ajout du point d'exclamation, qui veut dire "non logique", c'est à dire qu'on remplace 0 (ie LOW) par 1 (ie HIGH) et vice-versa
}

ou de manière encore plus compacte, tu supprime entièrement la fonction, et tu remplace l'appel à la fonction lirePoussoir() par !digitalRead(pinBouton)


 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#118 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 30 août 2021 - 01:36

Bonjour,

je crois avoir trouvé d'où viens ton problème.

 

Sauf erreur de ma part (si j'en crois tes photos et les modifs que tu as faites dans le code), ton bouton est branché sur le pin numérique n°8 : correct?

 

Le problème est que tu utilises les fonctions analogRead, qui sont prévues pour les pins analogiques (ie A0 à A7). Leur comportement n'est pas définit quand tu essaye de lire un pin numérique (d'après ce que j'ai compris du code source de la fonction analogRead, tu te retrouve à lire le pin analogique 8 modulo 8, soit le pin A0, mais sans garantie, le code source étant assez obscure).

 

Donc tu as deux possibilités :

1) tu branche ton bouton sur un pin analogique comme dans l'exemple. NB : pour ça, il faut aussi brancher une résistance comme dans l'exemple

2) tu lis le bouton comme un pin numérique, et pas comme un pin analogique. Pour ça, tu remplace la fonction lirePoussoir() par :

boolean lirePoussoir()
{
    boolean resultat = RELACHE;

    if (digitalRead(pinBouton)==HIGH) {
        resultat = PRESSE;
    }
    return resultat;
}

ou de manière plus compacte par :

boolean lirePoussoir()
{
    return digitalRead(pinBouton);
}

ou de manière encore plus compacte, tu supprime entièrement la fonction, et tu remplace l'appel à la fonction lirePoussoir() par digitalRead(pinBouton)
 

 

 

À noter :

- un "problème" des boutons est que le contact est mécanique, et qu'il y a parfois des "rebonds" (ie au moment ou on appuie sur le bouton (ou qu'on le relache), il y a un premier contact, puis une micro-coupure, puis un nouveau contact, ... jusqu'à ce que le contact soit bien établi. Du point de vue du programme, ça donne l'impression qu'on appuie plein de fois super vite sur le bouton.

Il y a plusieurs solutions à ce problème :

1) rajouter un petit délai dans le programme, pour être sur que le bouton soit stabilisé avant de le lire à nouveau

2) rajouter un condensateur (un composant électronique), qui permet de "lisser" la tension, et donc de faire disparaître les rebonds

3) la petite "astuce" du code d'exemple, d'utiliser un pin analogique : un pin analogique est relativement lent à lire (environ 100µs), ce qui peut suffire. L’inconvénient est qu'on 'a aucune maîtrise sur le délai : selon le bouton, il peut être insuffisant, ou au contraire plus long que nécessaire (bon, ça, dans ton programme, c'est pas grave)

 

- ce serait pas mal si tu pouvais nous faire un petit récaptilatif de qu'est-ce qui est branché comment/sur quel pin

 

- en particulier, selon comment tu as branché ton bouton, il se peut que les états soient inversés, voir qu'il faille que tu active la résistance de "pull-up" interne.

 

- si comme le laisse penser la photo, ton pin est branché entre les pins GND et 8 (sans résistance), alors tu as probablement les deux "problèmes". Pour les corriger, il te faut:

1) ajouter la résistance de pull-up interne, en ajoutant la ligne suivant dans la fonction setup :

pinMode(pinBouton, INPUT_PULLUP);

2) corriger l'inversion (que tu obtiens naturellement si tu utilise une résistance de pull-up (que ce soit la pull-up internet ou une résistance que tu mets toi même entre le bouton et le 5V)). Pour ça, il vas probablement falloir que tu modifie légèrement le code que je t'ai donné plus haut :

boolean lirePoussoir()
{
    boolean resultat = RELACHE;

    if (digitalRead(pinBouton)==LOW) {   //nb : HIGH remplacé par LOW
        resultat = PRESSE;
    }
    return resultat;
}

ou de manière plus compacte par :

boolean lirePoussoir()
{
    return !digitalRead(pinBouton);   //nb : ajout du point d'exclamation, qui veut dire "non logique", c'est à dire qu'on remplace 0 (ie LOW) par 1 (ie HIGH) et vice-versa
}

ou de manière encore plus compacte, tu supprime entièrement la fonction, et tu remplace l'appel à la fonction lirePoussoir() par !digitalRead(pinBouton)


 

Merci pour votre réponse c'est top de donner de son temps merci 

 

Du coup j'avoue que c'est du chinois tout ça pour moi.. 

 

Alors oui j'ai branché sur le pin 8 (j'ai d'ailleurs un doute sur le branchement, GND et signal c'est bien cela ? 

 

Je n'ai pas de résistance donc l'idéal serait faire sans.. J'ai donc testé la seconde possibilité et cela ne fonctionne pas. il se passe rien.. 

 

Pour palier au "problème " de bouton 

 

"1) rajouter un petit délai dans le programme, pour être sur que le bouton soit stabilisé avant de le lire à nouveau"

ou se trouver cela dans le code ? 

 

"3) la petite "astuce" du code d'exemple, d'utiliser un pin analogique : un pin analogique est relativement lent à lire (environ 100µs), ce qui peut suffire. "

quelle l'emplacement de cette PIN ? 

 

apriori il faudrait configurer le pin en entré pull up ... 

 

ci joint une photo du branchement ça parlera plus. 

 

​A savoir qu'il y avoir une batterie pour piloter tout ça (il y a deja une photo du branchement) 

 

Merci 



#119 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 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é 30 août 2021 - 01:55

Bon, 

Apprenons à marcher avant de courir. 

Fait un code plus simple : Sans le servo pour vérifier que tu sais utiliser ton bouton et que ça marche bien comme il faut. 

Regarde le Tome 2 de débuter avec arduino ( Tome toujours pas fini d'ailleurs ... )  plus précisément https://www.robot-maker.com/ouvrages/2-6-entrees-arduino/ modifie le premier code en mettant la pull up interne comme indiqué par Sandro : 

 

pinMode(pinBouton, INPUT_PULLUP);


 

 

 

Et vérifie que tout marche bien comme prévu. ( Quand tu appuis sur le bouton vérifie que le texte ne s'affiche qu'une fois et pas plusieurs fois par appuis etc ... Ce qui permet de vérifier que tu n'as pas de problème de rebonds ) 

Une fois que tu sais faire ça tu as plus qu'à fusionner tes deux programmes. 

Note quand tu remmettras le servo évite de faire des Serialprint car ça sera envoyé au servomoteur ...


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  

 

 

 


#120 Ludo

Ludo

    Membre

  • Membres
  • 88 messages

Posté 30 août 2021 - 05:30

Bon, 

Apprenons à marcher avant de courir. 

Fait un code plus simple : Sans le servo pour vérifier que tu sais utiliser ton bouton et que ça marche bien comme il faut. 

Regarde le Tome 2 de débuter avec arduino ( Tome toujours pas fini d'ailleurs ... )  plus précisément https://www.robot-maker.com/ouvrages/2-6-entrees-arduino/ modifie le premier code en mettant la pull up interne comme indiqué par Sandro : 

 

 

 

Et vérifie que tout marche bien comme prévu. ( Quand tu appuis sur le bouton vérifie que le texte ne s'affiche qu'une fois et pas plusieurs fois par appuis etc ... Ce qui permet de vérifier que tu n'as pas de problème de rebonds ) 

Une fois que tu sais faire ça tu as plus qu'à fusionner tes deux programmes. 

Note quand tu remmettras le servo évite de faire des Serialprint car ça sera envoyé au servomoteur ...

merci pour l'aide, j'ai donc fait l'exemple avec la modification et j'ai un message d'erreur ( voir capture ) 

Image(s) jointe(s)

  • Capture d’écran 2021-08-30 à 18.27.49.png





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

0 members, 2 guests, 0 anonymous users