Passionnement
Bonjour et bienvenu,

Bonjour et bienvenu sur le forum. Ici tu verra, la bonne humeur et l'entraide sont de mise.
Pas de reproche ni de prise de tête. Respect et Amitié sont de rigueur.
Pour la convivialité, nous te demandons de prendre 5mn pour te présenter a tout le monde et de renseigner ton profil le plus précisément possible.

Pour cela, ==> clique ici <== et tu créer un nouveaux sujet (une petite explication est en haut de la page).

Si tu ne fait pas de présentation, ton compte sera supprimé automatiquement après 48H.

Sans présentation, tu n'aura pas accès a la totalité du forum (qui comporte plus de 30.000 messages). Quand tu aura fait ta présentation, un modérateur ou administrateur te donnera les droits pour le forum dans sa totalité dans les 24 h.

Le Staff
Le calendrier du mois.
Derniers sujets
» Imprimer en 3D
Aujourd'hui à 21:01 par PLR

» Le matériel roulant de Reventhal
Aujourd'hui à 20:15 par likiki

» Images d'ici et d'ailleurs
Aujourd'hui à 19:40 par Vince Belgium

» Mon p'tit monde en "Zéro"
Aujourd'hui à 0:36 par Vince Belgium

» Un train dans un train
Hier à 11:17 par dany-om

» Histoire de trains
Mer 12 Déc 2018 - 18:29 par Herwat

» Le réseau "Chalindrais" d'André Gay
Mer 12 Déc 2018 - 17:41 par dany-om

» Reventhal
Mer 12 Déc 2018 - 15:27 par Fred Glmt

» Le réseau de Michel Lacour dans l'Aube
Mer 12 Déc 2018 - 11:50 par phil2517

» Pilouville 2 Le retour
Mer 12 Déc 2018 - 2:52 par Vince Belgium

» Mon Parc Wagons
Mar 11 Déc 2018 - 1:25 par Vince Belgium

» les véhicules de nos trains électriques
Lun 10 Déc 2018 - 23:03 par Pirlouit95

» Le coude sur la portière
Lun 10 Déc 2018 - 22:40 par dany-om

» Les photos du mur du forum.
Lun 10 Déc 2018 - 19:24 par dany-om

» Vérone mars 2018
Lun 10 Déc 2018 - 15:33 par dany-om

»  Image(s) de La Semaine !!!
Lun 10 Déc 2018 - 15:30 par dany-om

» Mes débuts en impression 3D
Dim 9 Déc 2018 - 23:12 par Pirlouit95

» Un an de plus pour Emmanuel
Dim 9 Déc 2018 - 2:07 par Vince Belgium

» Le craquage du mois.
Dim 9 Déc 2018 - 2:06 par Vince Belgium

» J'ai écouté Macron
Sam 8 Déc 2018 - 21:33 par dany-om


Arduino et les servomoteur.

Page 2 sur 2 Précédent  1, 2

Aller en bas

Re: Arduino et les servomoteur.

Message par Cousin Hub le Sam 24 Juin 2017 - 18:27

Bien sur, c'est faisable.

Cousin Hub
Administrateur
Administrateur

Messages : 2871

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Sam 24 Juin 2017 - 18:32

Cool pour ton nouveau boulot Hervé.

Oui Fred, comme a dit Hubert, pas de problème.

Un trou dans le panneau sous l'aiguille, et ensuite, un trombone bien plié comme au besoin pour aller au servo sous la table et roulé jeunesse.


likiki
Administrateur
Administrateur

Messages : 13047

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par Fred Glmt le Sam 24 Juin 2017 - 18:43

Re..

Je demande ça, car j'ai déja les servomoteurs !

Par contre pour le reste là c'est le vide ???? j'ai besoin d'aide .. 

Il est possible de démarrer avec ce Kit de base et le servomoteur ??



A+
avatar
Fred Glmt
Expert en Architecture
Expert en Architecture

Localisation : FRANCE
Humeur : Tranquille
Messages : 4905
Age : 48
Emploi/loisirs : modélisme ferroviaire

http://fred-glmt.over-blog.com/

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par Pirlouit95 le Sam 24 Juin 2017 - 18:56

Bien sur.
Si c'est le même que le mien (et on dirait que oui), tu as même un servo dans la boîte (entre autres bricoles) et un exercice dans le livret pour l'utiliser.
J'avais commencé quelques petits essais.
Voir ici.
avatar
Pirlouit95
Animateur Documentaliste
Animateur Documentaliste

Localisation : Courdimanche
Humeur : Amicalement vôtre
Messages : 3339
Age : 50
Emploi/loisirs : Employé service numérisation/Multiples

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Dim 25 Juin 2017 - 15:14

Arduino et les servomoteur ...







Voici le programme.


Code:


#include <Servo.h>
 
const byte SERVO1_A_ANGLE_MIN = 0;
const byte SERVO1_A_ANGLE_MAX = 1;
const byte SERVO1_EN_MOUVEMENT_VERS_ANGLE_MAX = 2;
const byte SERVO1_EN_MOUVEMENT_VERS_ANGLE_MIN = 3;

const byte SERVO2_A_ANGLE_MIN = 0;
const byte SERVO2_A_ANGLE_MAX = 1;
const byte SERVO2_EN_MOUVEMENT_VERS_ANGLE_MAX = 2;
const byte SERVO2_EN_MOUVEMENT_VERS_ANGLE_MIN = 3;
 
const int angleMin1 = 500; /* Angle mini servo 1 */
const int angleMax1 = 850; /* Angle maxi servo 1 */

const int angleMin2 = 500; /* Angle mini servo 2 */
const int angleMax2 = 800; /* Angle maxi servo 2 */
 
Servo monServo1;
Servo monServo2;

int vitesse1 = 0;
int angle1 = angleMax1;
byte etatServo1 = SERVO1_A_ANGLE_MAX;

int vitesse2 = 0;
int angle2 = angleMin2;
byte etatServo2 = SERVO2_A_ANGLE_MIN;
 
const int pinBouton1 = 0; /* le bouton1 est connecte A la broche A0 */
const int pinBouton2 = 2; /* le bouton2 est connecte A la broche A2 */
 
const boolean PRESSE1 = true;
const boolean RELACHE1 = false;

const boolean PRESSE2 = true;
const boolean RELACHE2 = false;
 
boolean etatBouton1 = RELACHE1;
boolean etatBouton2 = RELACHE2;
 
const byte AUCUN_EVENEMENT1 = 0;
const byte EVENEMENT_PRESSE1 = 1;
const byte EVENEMENT_RELACHE1 = 2;

const byte AUCUN_EVENEMENT2 = 0;
const byte EVENEMENT_PRESSE2 = 1;
const byte EVENEMENT_RELACHE2 = 2;
 
/*
 * fonctions de gestion du poussoir
 */
boolean lirePoussoir1()
{
    boolean resultat1 = RELACHE1;
    if (analogRead(pinBouton1) > 512) {
        resultat1 = PRESSE1;
    }
    return resultat1;
}
 
byte lireEvenement1()
{
    byte evenement1;
    boolean nouvelEtat1 = lirePoussoir1();
    if (nouvelEtat1 == etatBouton1)
        evenement1 = AUCUN_EVENEMENT1;
    if (nouvelEtat1 == PRESSE1 && etatBouton1 == RELACHE1)
        evenement1 = EVENEMENT_PRESSE1;
    if (nouvelEtat1 == RELACHE1 && etatBouton1 == PRESSE1)
        evenement1 = EVENEMENT_RELACHE1;
    etatBouton1 = nouvelEtat1;
    return evenement1;
}

boolean lirePoussoir2()
{
    boolean resultat2 = RELACHE2;
    if (analogRead(pinBouton2) > 512) {
        resultat2 = PRESSE2;
    }
    return resultat2;
}
 
byte lireEvenement2()
{
    byte evenement2;
    boolean nouvelEtat2 = lirePoussoir2();
    if (nouvelEtat2 == etatBouton2)
        evenement2 = AUCUN_EVENEMENT2;
    if (nouvelEtat2 == PRESSE2 && etatBouton2 == RELACHE2)
        evenement2 = EVENEMENT_PRESSE2;
    if (nouvelEtat2 == RELACHE2 && etatBouton2 == PRESSE2)
        evenement2 = EVENEMENT_RELACHE2;
    etatBouton2 = nouvelEtat2;
    return evenement2;
}


 
/*
 * La fonction setup() est exé️cuté️e 1 fois
 * au dé️marrage du programme
 */
void setup()
{
  Serial.begin(9600);
  monServo1.attach(2);
  monServo2.attach(6);
}
 
/*
 * La fonction loop() est exé️cuté️e
 * ré️©️titivement
 */
void loop()
{
    /* actualisation de l'angle du servo */

    
    monServo1.writeMicroseconds(angle1);
    monServo2.writeMicroseconds(angle2);
  
    angle1 = angle1 + vitesse1;
    angle2 = angle2 + vitesse2;
  
    if (angle1 > angleMax1) {
        angle1 = angleMax1;
        vitesse1 = 0;
        etatServo1 = SERVO1_A_ANGLE_MAX;
    }
    else if (angle1 < angleMin1) {
        angle1 = angleMin1;
        vitesse1 = 0;
        etatServo1 = SERVO1_A_ANGLE_MIN;
    }

if (angle2 > angleMax2) {
        angle2 = angleMax2;
        vitesse2 = 0;
        etatServo2 = SERVO2_A_ANGLE_MAX;
    }
    else if (angle2 < angleMin2) {
        angle2 = angleMin2;
        vitesse2 = 0;
        etatServo2 = SERVO2_A_ANGLE_MIN;
    }
 
    /* lecture de la commande de l'utilisateur */
    byte evenement1 = lireEvenement1();
  
    if (evenement1 == EVENEMENT_PRESSE1){
        Serial.println("presse bouton 1 !");
        switch (etatServo1) {
            case SERVO1_A_ANGLE_MIN:
            case SERVO1_EN_MOUVEMENT_VERS_ANGLE_MIN:
                vitesse1 =  1;
                etatServo1 = SERVO1_EN_MOUVEMENT_VERS_ANGLE_MAX;
                break;
            case SERVO1_A_ANGLE_MAX:
            case SERVO1_EN_MOUVEMENT_VERS_ANGLE_MAX:
                vitesse1 = -1;
                etatServo1 = SERVO1_EN_MOUVEMENT_VERS_ANGLE_MIN;
                break;
        }
    }

byte evenement2 = lireEvenement2();
  
    if (evenement2 == EVENEMENT_PRESSE2){
        Serial.println("presse bouton 2 !");
        switch (etatServo2) {
            case SERVO2_A_ANGLE_MIN:
            case SERVO2_EN_MOUVEMENT_VERS_ANGLE_MIN:
                vitesse2 =  1;
                etatServo2 = SERVO2_EN_MOUVEMENT_VERS_ANGLE_MAX;
                break;
            case SERVO2_A_ANGLE_MAX:
            case SERVO2_EN_MOUVEMENT_VERS_ANGLE_MAX:
                vitesse2 = -1;
                etatServo2 = SERVO2_EN_MOUVEMENT_VERS_ANGLE_MIN;
                break;
        }
    }

 
    delay(15);
}


Voici le câblage pour les boutons poussoir .....





Je me suis appuyé sur ce site très bien fait.


Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 13047
Age : 51
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par Fred Glmt le Dim 25 Juin 2017 - 15:20

>re 

Merci Christian ça me sera bien utile , je commande le Kit Arduino dès que possible ...  bounce

Fred
avatar
Fred Glmt
Expert en Architecture
Expert en Architecture

Localisation : FRANCE
Humeur : Tranquille
Messages : 4905
Age : 48
Emploi/loisirs : modélisme ferroviaire

http://fred-glmt.over-blog.com/

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Dim 25 Juin 2017 - 15:24

J'ai réfléchit a ton idée de ne pas percer le ballaste de la voie.

Je vais passer sous le ballaste en collant le tube guide dans une saignée.

Il y a juste une modification de la longueur de tige a faire. Et la mise en place sera plus aisée.

pour l'idée.
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 13047
Age : 51
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par Fred Glmt le Dim 25 Juin 2017 - 15:34

@likiki a écrit:J'ai réfléchit a ton idée de ne pas percer le ballaste de la voie.

Je vais passer sous le ballaste en collant le tube guide dans une saignée.

Il y a juste une modification de la longueur de tige a faire. Et la mise en place sera plus aisée.

 pour l'idée.

Oui bonne idée Christian 

Moi aussi j'apporterai mes idées au sujet ...  Cool
avatar
Fred Glmt
Expert en Architecture
Expert en Architecture

Localisation : FRANCE
Humeur : Tranquille
Messages : 4905
Age : 48
Emploi/loisirs : modélisme ferroviaire

http://fred-glmt.over-blog.com/

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Dim 25 Juin 2017 - 15:39

Cool, c'est ce qu'il faut.

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 13047
Age : 51
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par lherve54 le Dim 25 Juin 2017 - 18:10

Merci "Chef " pour le schéma et le lien
Je connaissais ce site !! très intéressant  !!
avatar
lherve54
Petit posteur
Petit posteur

Localisation : Villers Les Nancy
Messages : 814
Age : 56
Emploi/loisirs : / Train miniature

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Dim 25 Juin 2017 - 18:16

J'ai testé plusieurs programmes sur les servomoteur et c'est celui qui m'a donné le plus de satisfaction. Et surtout la possibilité d'avoir un mouvement très lent non saccadé.

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 13047
Age : 51
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par dany-om le Lun 26 Juin 2017 - 18:26

@lherve54 a écrit:merci par avance 

Mais la réalisation va prendre du temps ,
moins de temps libre , j'ai retrouver un boulot  !! mais je vais déjà trouver tout le matériel   !
Hello Hervé,

COOL, trop trop content pour toi, mon cher Hervé, que tu es retrouvé du boulot, ça me fait vraiment plaisir.

avatar
dany-om
Animateur en chef dit "SkippY"
Animateur en chef dit

Localisation : ALSACE 68
Humeur : Bonne Humeur
Messages : 12146
Age : 50
Emploi/loisirs : Menuisier

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par lherve54 le Sam 15 Juil 2017 - 22:22

bonsoir
mise en application du schéma de câblage et du programme , et la tout fonctionne bien
C'est assez facile pour changer la distance de déplacement .

Merci encore "Chef" de partager  !!
avatar
lherve54
Petit posteur
Petit posteur

Localisation : Villers Les Nancy
Messages : 814
Age : 56
Emploi/loisirs : / Train miniature

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par likiki le Dim 16 Juil 2017 - 9:53

cheers  Génial, super content que tu ai réussi.  cheers

Si on ne partage pas, ont devient un intégriste et un obscurantiste.  Evil or Very Mad

Quand on partage, c'est la science et la culture qui avance. 

king
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 13047
Age : 51
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par dany-om le Dim 16 Juil 2017 - 11:12

Tout a fait d accord CHEF

avatar
dany-om
Animateur en chef dit "SkippY"
Animateur en chef dit

Localisation : ALSACE 68
Humeur : Bonne Humeur
Messages : 12146
Age : 50
Emploi/loisirs : Menuisier

Revenir en haut Aller en bas

Re: Arduino et les servomoteur.

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum