[Programmation] Code Arduino pour téléphérique avec fins de course
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Code Arduino pour téléphérique avec fins de course



  1. #1
    Nico43240

    Code Arduino pour téléphérique avec fins de course


    ------

    Bonjour à tous,

    je suis à la recherche d'une aide précieuse pour finaliser un petit projet perso: un mini télécabine dans mon jardin pour la période de Noël.
    Pour ce qui est du dimensionnement et de la mécanique, aucun soucis de ce côté là.
    Là où je bloque c'est dans le pilotage de mon moteur 12V avec Arduino et contrôleur L298N. Ne connaissant absolument rien à la programmation de ces appareils j'ai pas mal navigué sur le net et cela est possible pour moi de faire tourner le moteur dans un sens puis dans un autre avec une tempo. Mais pour un meilleur fonctionnement de mon installation je souhaiterais installer des capteurs fins de course en haut et en bas qui lorsqu'ils son activés stoppe le moteur quelques secondes puis inverse son sens de rotation et ainsi de suite.
    Quelqu'un pourrait il m'aider dans cette affaire? type de fins de courses? Code arduino?
    Merci à vous

    Nicolas, un grand enfant de 42 ans...

    -----

  2. #2
    Seb.26

    Re : Code Arduino pour téléphérique avec fins de course

    pas de soucis, poste ton code actuel
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Inspiré d'un code trouvé sur le net:

    Code:
    // Association des entrées du L298N, aux sorties utilisées sur notre Arduino Uno //
    //*******************************************************************************//
    #define borneENA        10      // On associe la borne "ENA" du L298N à la pin D10 de l'arduino
    #define borneIN1        9       // On associe la borne "IN1" du L298N à la pin D9 de l'arduino
    #define borneIN2        8       // On associe la borne "IN2" du L298N à la pin D8 de l'arduino
    
    
    //*******//
    // SETUP //
    //*******//
    void setup() {
      
      // Configuration de toutes les pins de l'Arduino en "sortie" 
      pinMode(borneENA, OUTPUT);
      pinMode(borneIN1, OUTPUT);
      pinMode(borneIN2, OUTPUT);
    }
    
    //**************************//
    // Boucle principale : LOOP //
    //**************************//
    void loop() {
    
      // Configuration du L298N en "marche avant", pour le moteur connecté au pont A. 
      digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
      digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      lancerRotationMoteurPontA();
    
      // Puis on configure le L298N en "marche arrière", pour le moteur câblé sur le pont A. 
      digitalWrite(borneIN1, LOW);                  // L'entrée IN1 doit être au niveau bas
      digitalWrite(borneIN2, HIGH);                 // L'entrée IN2 doit être au niveau haut
    
      // Et on relance le moteur (branché sur le pont A du L298N)
      lancerRotationMoteurPontA();
      
      // Puis... boucle en continu
    }
    
    
    //************************************************************************************//
    // Fonction : lancerRotationMoteurPontA()                                             //
    // But :      Active l'alimentation du moteur branché sur le pont A                   //
    //            pendant 30 secondes, puis le met à l'arrêt (10 secondes)          //
    //************************************************************************************//
    void lancerRotationMoteurPontA() {
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
      delay(30000);                        // et attend 30 secondes
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);                        // et attend 10 seconde
    }
    Dernière modification par gienas ; Hier à 08h00. Motif: Ajouté les balises code obligatoires pour les programmes

  4. #4
    Seb.26

    Re : Code Arduino pour téléphérique avec fins de course

    Alors, pour commencer tu dois ajouter les 2 entrées (fin de course)

    on va rester cohérent et donc ajouter 2 #define en tête de script :
    Code:
    #define FdC1        ???
    #define FdC2        ???
    tu replaces ??? par le n° de pin que tu veux

    ensuite on initialise les pins en entrée (donc dans le setup() )
    Code:
    void setup() {
    ...
      // Configuration de toutes les pins de l'Arduino en "entrée" avec pullup (voir sur le net du pourquoi une pullup)
      pinMode(FdC1, INPUT_PULLUP);
      pinMode(FdC2, INPUT_PULLUP);
    }
    pour le hardware, tu mets ton switch entre le GND et la pin du arduino.

    ensuite dans la boucle :

    Code:
    void loop() {
    
      // Configuration du L298N en "marche avant", pour le moteur connecté au pont A. 
      digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
      digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    
      // On attend le FdC1
      while(digitalRead(FdC1));
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);     
    
      // Puis on configure le L298N en "marche arrière", pour le moteur câblé sur le pont A. 
      digitalWrite(borneIN1, LOW);                  // L'entrée IN1 doit être au niveau bas
      digitalWrite(borneIN2, HIGH);                 // L'entrée IN2 doit être au niveau haut
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    
      // On attend le FdC2
      while(digitalRead(FdC2));
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);     
      
      // Puis... boucle en continu
    }
    ça devrait te donner une bonne base.

    NB: j'ai pas compilé ni testé ce code...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  5. A voir en vidéo sur Futura
  6. #5
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Merci beaucoup pour ces infos!!!!
    Si je peux abuser encore de vos compétences savez vous si des FDC de ce type pourrait convenir:

    6e59a8ff-facd-49c2-8779-1febab4c123b.webp

    Encore merci à vous

    Nicolas

  7. #6
    Janpolanton

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour,
    C'est quoi cette extension webp qui oblige à télécharger un fichier, ce dont je me suis bien gardé...

  8. #7
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    au format jpg:

    Nom : 6e59a8ff-facd-49c2-8779-1febab4c123b.jpg
Affichages : 55
Taille : 118,2 Ko

    désolé, je suis allé un peu vite

  9. #8
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour

    Je proposerai un démarrage et arrêt progressifs au passage des fin de course,
    ça éviterai à la cabine de s'arrêter et démarrer brutalement.
    au lieu de:
    Code:
     
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    effectuer démarrage progressif:
    Code:
    for (int pwm = 0; pwm <= 255; pwm++) {
       analogWrite(borneENA, pwm);
       delay(2);  // soit 2x255mS pour l'accélération
    }
    idem pour l'arrêt progressif:
    Code:
    for (int pwm = 255; pwm >= 0; pwm--) {
       analogWrite(borneENA, pwm);
       delay(2);  // soit 2x255mS pour le ralentissement
    }
    à prendre en compte que le moteur sera arrêté complètement 500mS APRÈS le Fdc
    Pascal

  10. #9
    Gyrocompas

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour,
    C'est quoi cette extension webp
    Il s'agit d'une image qui arrive avec son code html d'affichage.
    Elle ne peut être traitée directement par une application graphique, en cliquant dessus, l'interface web sélectionnée s'active, la copie devient alors possible.

  11. #10
    Janpolanton

    Re : Code Arduino pour téléphérique avec fins de course

    Merci pour l'explication.
    Dans le doute, je me suis abstenu, on est jamais trop prudent.

  12. #11
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Il existe plein de sortes de fin de course, roulette, languette, etc.
    il faut choisir suivant le type de cale (fixée au cable) qui va l'actionner, et la force qu'il va falloir lui appliquer.

    pour celui-ci il faut appliquer une force de 60g: https://www.gotronic.fr/art-microrupteur-ms12l-4327.htm
    pour celui-ci, 280g: https://www.gotronic.fr/art-microrupteur-ms12r-71.htm
    Dernière modification par Pascal071 ; Hier à 14h19.
    Pascal

Discussions similaires

  1. [Programmation] Code HTML avec un ESP8266 - rafraichir une page Web - Arduino
    Par invitec54b6ea5 dans le forum Électronique
    Réponses: 0
    Dernier message: 21/05/2018, 14h53
  2. un code simple sur arduino avec un capteur d'inclinaison (MMA8452Q)
    Par invited0fdf23d dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 22/03/2016, 18h54
  3. code ascii en caractere avec arduino
    Par inviteefc7c139 dans le forum Électronique
    Réponses: 2
    Dernier message: 24/08/2015, 18h28
  4. Arduino: code pour un moteur DC !
    Par invitebbc909eb dans le forum Électronique
    Réponses: 12
    Dernier message: 04/08/2014, 21h39
  5. code barrière IR + écran LCD avec arduino
    Par invite5ce17c95 dans le forum Électronique
    Réponses: 9
    Dernier message: 14/03/2014, 07h17
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...