IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Coupe circuit de voiture


Sujet :

Arduino

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut Coupe circuit de voiture
    Bonjour,
    Je me présente, je suis Eddy, nouveau sur ce forum, je ne suis pas développeur du tout...

    Je vous expose mon problème, j'ai fait ce petit programme pour créer un coupe circuit sur ma voiture.
    Le coupe circuit doit s'activer tout seul quand Alim (entrée 10 sur l'Arduino) tombe a 0v pendant plus de 10 secondes, ce qui signifie que la voiture a été arrêtée.
    Le coupe circuit doit se désactiver quand une pression sur le poussoir de l'entrée 8 est compris entre 3s et 5secondes. Cette partie la fonctionne dans mon programme.
    Quand le coupe circuit se désactive, il fait monter les niveaux des sorties 11, 12 et 13, cette partie la fonctionne bien.

    Mon problème est le suivant, comme la valeur de TimeClock est incrémentée toutes les secondes durant le While, des que la valeur de l'entrée 10 tombe, immédiatement après le coupe circuit s'active.
    Je vois très bien ou est l'erreur mais je n'arrive pas a trouver comment faire autrement.
    Si une personne pouvait m'aider ce serait très sympa.

    Le programme ci dessous...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    int BoutonAppuiLong = 8;
    unsigned long duration;
    int val = 0;
    int Alim = 10;
     
    void setup(){
      Serial.begin(9600);
      pinMode(BoutonAppuiLong,INPUT);
      pinMode(13,OUTPUT);
      pinMode(12,OUTPUT);
      pinMode(11,OUTPUT);
      pinMode(Alim,INPUT);
    }
     
    void loop(){
      int Temps=0;
     
      bool bTempEcoule=false;
      int TimeClock=0;
     
     
      duration = 0;
      duration = pulseIn(BoutonAppuiLong, HIGH,10000000);
     
      //timeout ==> pas d'appui ou temp dépassé;
      if (duration==0) {
        Serial.println("PAS d'Appui");
        // Pas d'appui ou Appui trop long
        return;
      }
     
      Temps=(duration/1000000);
      Serial.print(duration);
      Serial.print("   :  Temps  = ");
      Serial.println(Temps);
     
      if ((Temps>=3) && (Temps<=5)) {
          Serial.println("Appui long OK");
          // Appui dans la plage
           digitalWrite(13,HIGH);
           delay(1000);
           digitalWrite(12,HIGH);
           delay(1000);
           digitalWrite(11,HIGH);
           delay(1000);
     
    while ((digitalRead(Alim)==HIGH) || (!bTempEcoule)){
          // Audi en Run
          Serial.println("Audi en run");
          TimeClock++;
          delay(1000);
          val = digitalRead(Alim);
          if ((val==LOW) && (TimeClock>10)){
            bTempEcoule=true;
            Serial.println("activation coupe circuit");
            digitalWrite(13,LOW);
            delay(1000);
            digitalWrite(12,LOW);
            delay(1000);
            digitalWrite(11,LOW);
            delay(1000);
          }
          //
        }
     
     
      }
     
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Bonjour Eddy,

    ce genre de programme se traite bien par ce que l'on nomme une "machine à état".

    C'est un nom savant pour un principe assez simple à comprendre: on prédéfinit tous les états possibles du système et quels sont les évènements qui font passer d'un état à un autre et dans ce cas, quoi faire lors de la transition. La boucle principale du code sert alors simplement à écouter les évènements attendus en fonction de l'état en cours du système et lorsqu'il survient on effectue ce qui est attendu et change l'état.

    Ici selon ce que vous décrivez vous avez 4 états: deux états évidents, MARCHE et ARRET (état initial) et deux états transitoires quand on passe à l'arrêt ou que l'on veut démarrer et que ça dépend d'un certain temps d'attente à mesurer.

    Le diagramme qui représente cela pourrait être celui ci:
    Nom : machine.png
Affichages : 425
Taille : 255,0 Ko
    les bulles représentent les états, les flèches sont les transitions possibles avec le texte en noir qui définit quel évènement nous fait passer la transition et les petites décorations jaunes expliquent l'action à effectuer lors de ce changement d'état.

    Le codage ensuite est assez direct, on écrit une fonction (supervision() dans mon code) qui teste en fonction d'un état donné ce qu'on attend comme évènement (condition) et effectue l'action + changement d'état quand il le faut.

    Voici un code que j'ai tapé ici (non compilé, non testé, je suis sur mon iPad) qui implémente ce schéma. Vous verrez que c'est assez lisible (normalement) puisqu'il suffit de regarder chaque bulle d'état dans le dessin et les flèches qui en partent pour suivre la logique dans le switch/case:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    // on définit les états possibles
    enum : byte {ARRET, ATTENTE_OFF, MARCHE, ATTENTE_ON} etat = ARRET;
     
    const byte pinBoutonAppuiLong = 8;
    const byte pinAlimentation = 10;
    const byte pinCoupeCircuit[] = {13, 12, 11};
     
    unsigned long t0; // pour mesurer le temps écoulé
     
    // -----------  fonctions utilitaires -----------
    void activationCoupeCircuit()
    {
      Serial.println("activation coupe circuit");
      for (byte i = 0; i < 3; i++) {
        digitalWrite(pinCoupeCircuit[i], LOW);
        delay(1000);
      }
    }
     
    void desactivationCoupeCircuit()
    {
      Serial.println("désactivation coupe circuit");
      for (byte i = 0; i < 3; i++) {
        digitalWrite(pinCoupeCircuit[i], HIGH);
        delay(1000);
      }
    }
     
    // ----------- gestion des états-----------
    void supervision()
    {
      switch (etat) {
        case ARRET: // on est à l'arrêt, on attend l'appui du bouton
          if (digitalRead(pinBoutonAppuiLong) == HIGH) { // HIGH => bouton appuyé (pull-down associé au bouton)
            t0 = millis();
            etat = ATTENTE_ON;
          }
          break;
     
        case ATTENTE_ON: // on attend le relâchement du bouton et on vérifie la durée d'appui pour désactiver le coupe circuit
          if (digitalRead(pinBoutonAppuiLong) == LOW) { // LOW => bouton relâché (pull-down associé au bouton)
            unsigned long deltaT = millis() - t0;
            if ((deltaT >= 3000) && (deltaT <= 5000)) {
              desactivationCoupeCircuit();
              etat = MARCHE;
            } else {
              etat = ARRET;
            }
          }
          break;
     
        case MARCHE: // on est en marche, on attend l'arrêt de l'alimentation
          if (digitalRead(pinAlimentation) == LOW) {
            t0 = millis();
            etat = ATTENTE_OFF;
          }
          break;
     
        case ATTENTE_OFF: // l'alimentation est coupée, on attend 10 seconde pour être sûr avant d'activer le coupe circuit
          if (digitalRead(pinAlimentation) == HIGH) {
            etat = MARCHE;
          } else {
            unsigned long deltaT = millis() - t0;
            if (deltaT > 10000) {
              activationCoupeCircuit();
              etat = ARRET;
            }
          }
          break;
      } // fin switch etat
    }
     
    // ----------- le programme -----------
    void setup()
    {
      pinMode(pinBoutonAppuiLong, INPUT); // sera HIGH quand appuyé
      pinMode(pinAlimentation, INPUT);    // sera LOW quand alimentation coupée, HIGH sinon
      for (byte i = 0; i < 3; i++) pinMode(pinCoupeCircuit[i], OUTPUT); // LOW par défaut
      Serial.begin(115200); // console série à 115200 bauds
    }
     
    void loop()
    {
      supervision();
      // ici on peut faire autre chose de non bloquant si on veut
      // ....
    }
    Si vous avez compris le principe, vous pourrez l'appliquer à énormément de cas. L'intérêt c'est que c'est déterministe, on sait dans quel état on est à tout moment, et que le code n'est jamais bloqué ce qui permet donc de gérer autre chose dans la loop() si on veut (faire clignoter une LED, gérer un afficheur, ...)

    PS: Pour câbler des boutons le plus simple c'est d'utiliser le monde INPUT_PULLUP de l'arduino car on n'a pas besoin de mettre une résistance de plus en pull-up ou down (pour ne pas que la pin flotte quand le bouton n'est pas appuyé). Dans le code ci dessus j'ai conservé ce que vous aviez fait et supposé que c'est câblé correctement avec des PULL_DOWN (HIGH = appui, LOW=relâché).

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Merci pour ce retour ! Très sympa. Je teste et j'essaye de comprendre !

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut Précision sur les INPUT_PULLUP
    Bonsoir,
    J'ai pu tester votre programme.
    Je vous remercie, il fonctionne parfaitement et surtout vous m'avez bien fait avancer pour mes prochains montages car j'ai compris le fonctionnement.
    J'ai une question sur les INPUT_PULLUP, en effet sur mon montage, je vais retomber le niveau des entrées 8 et 10 a la masse via une résistance.
    Pour simplifier électronique, j'aurais bien utiliser cette entrée INPUT_PULLUP. Cependant le fait de déclarer les entrées 8 et 10 dans ce mode, si je comprends bien elles sont par défaut a +5v et il faut que j'agisse en faisant tomber a la masse les niveaux ?
    Il n'y a pas de fonction INPUT_PULLDOWN ?
    Merci d'avance pour votre retour.

  5. #5
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Bonsoir
    Super si ca marche et encore mieux si ça vous a aidé à progresser

    Sur les Arduino communs (Uno, MEGA, ..) il n’y a pas de pull down, juste le pullup. Sur un ESP2 par contre il y a les deux possibilités.

    Si c’est un simple bouton pression que vous gérez alors pas de souci à passer en pullup. Vous câblez
    Pin <—-> bouton <—-> GND et déclarez la pin en INPUT_PULLUP. Il faut juste tester si on est LOW pour savoir si on appuie sur le bouton.

    Si c’est un système externe qui impose le HIGH ou LOW alors vous n’avez pas trop le choix.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut Merci !
    Bonjour et merci encore.

    En effet, je vais partir sur des mise a la masse pour la pression longue.
    Et pour le test de l'alimentation de la voiture, idem,comme je mets un relais d'interface, je vais recuperer une masse quand la voiture sera allumée.
    Passez une bonne journée.

  7. #7
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Le relais est peut-être surdimensionné ==>Un photo-coupleur (optocoupleur) vous donnerait une bonne isolation galvanique et un gain de place.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut Nouvelles questions
    Je vais en effet essayer cela.

    Je me permets j'ai deux autres questions.
    1. Dans mon cas le programme de l'arduino va tourner en boucle sans jamais s'arreter pendant des mois...
    Ne faudrait il pas que je prévois un reset, par exemple tous les x jours quand alim est au niveau bas ? Pour permettre de vider la message et eviter les debordements ?

    2. Existe t il une solution pour éviter qu'au démarrage l'arduino fasse monter les niveaux a 5v et dans mon cas active mes relais.
    Cela se traduit par un petit bruit qui pourrait avoir lieu au moment ou l'on débranche/rebranche la batterie et ce bruit permet de localiser mon systeme...

    Merci d'avance.

    Cdlt.

  9. #9
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Salut

    non il n'y a aucun besoin de rebooter un programme bien fait. celui de cette file de discussion (il me semble) n'a pas de fuite mémoire donc rien ne nécessite de le relancer (et le mieux sinon serait de corriger la fuite mémoire).
    Les print qui ne sont pas lus ne s'accumulent pas, ils disparaissent simplement (le buffer ne conserve que les 64 derniers caractères émis).


    L'arduino au boot met les pins à LOW. la pin 13 étant connectée à la LED qui est sur la carte, il se peut qu'elle s'allume lors du branchement et c'est ce qui fait votre déclenchement ==> essayez d'utiliser une autre pin pour voir si le souci demeure. Concernant le bruit, ce doit être le click de votre relai car il y a un mouvement mécanique ==> Si vous passez sur un opto-coupleur il n'y aura plus de bruit. si vous voulez conserver un relai, prenez un "Solid State Relay" - la commutation est électronique, sans bruit.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Bonsoir,
    Je revenais vers vous au sujet de mon montage.
    Je suis passé du simulateur (qui marchait parfaitement) a la carte éléctronique et je rencontre quelques soucis.
    J'ai conservé le meme programme.
    Le probleme que je rencontre est quand le coupe circuit se désactive, si juste apres je produis encore de nouvelles impulsions sur le poussoirs, cela met le systeme completement instable. Le coupe circuit reste désactivé indéfiniment alors que la pin 10 n'est pas alimenté.
    J'alimente un relais 5v sur la broche 13 avec une resistance pour faire le pull-down.
    J'alimente un autre relais qui est justement piloté par mon poussoir en me piquant sur la carte Arduino +5v.
    Je me demande si je ne tire pas trop de courant, si cela ne serait pas a l'origine de mes pbs.
    Si vous saviez m'aider ?
    merci d'avance.

  11. #11
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Les relais tirent effectivement pas mal de jus, ça dépend des modèles.
    Le code une fois le coupe circuit désactivé ne teste pas les appuis donc le souci vient sans doute du montage.

    Pouvez vous poster un diagramme précis?

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut Les relais semblent poser pb
    Bonjour et merci pour votre nouveau retour.
    Je crois qu'en effet ce sont les relais qui posent problème.
    J'ai remplacé le relais associé au bouton poussoir.
    J'ai un autre relais qui me permet d'envoyer un +5v sur la broche 1O alimentation, quand je fais volontairement "balloter" cette entrée, cela me met encore le programme en vrille, le coupe circuit reste désactivé et plus rien ne se passe, quoi que je fasse.
    Quand je me mets en mode console le port série avec le PC et que je fais volontairement "balloter", je vois des caractères spéciaux s'afficher, cela semble perturber ces relais.
    Je me posais la question de mettre un petit condensateur?

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Il serait intéressant de voir si l’arduino reboot

    Si vous avez la possibilité de conserver la console série connectée Il suffit de mettre un print dans le setup pour voir si le code y revient

    Vos relais ont bien des protection dites de roue libre? (Diode de protection contre les courants induits et pics de tension lors de l’arrêt)

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut diode de roue libre
    Bonsoir,
    Je ne sais pas si mes relais en sont équipés, ce sont de petits relais "chinois", cela ne pas être le cas.
    Je peux moi même positionner cette diode en parallèle de la bobine du relais ?

  15. #15
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Si ce sont des modules tout prêts ils l’ont sans doute. (Photo ou lien sur vos modules?)

    Rajoutez une ligne dans le setup() pour voir si votre arduino reboot.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    ce ne sont pas des modules mais de simples petits relais carrés bleus de 1cm de coté environ.
    Pour le setup, j'ai mis un print mais je n'arrive pas a le suivre avec mon PC en mode console.

  17. #17
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Ah si c’est juste le cube bleu (SRD-05VDC-SL-C) alors vous n’avez aucune protection, c’est certain. Il faut traiter cela.

    Si vous ne voyez qu’une fois le message du setup c’est que l’arduino ne reboot pas, c’est une bonne chose, mais il pourrait être endommagé s’il n’y a pas de diode protectrice je pense.

    Les modules en ont une

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Dans mon montage, j'alimente directement ce petit relais a partir de la sortie 13 de l'Arduino, est ce un problème ? Sans passer par la petite interface que vous avez représenté vous.

    Pour mon entrée 8, c'est un autre relais mais non piloté directement par l'Arduino qui m'emene un positif?

    J'ai un petit relais qui est alimenté directement en 12volts par l'alimentation de la voiture quand celle ci est alimentée. Quand ce relais est colé, il transmet le +5v fourni par la carte arduino, sur l'entrée 8 (avec un pull down avec resistance).

    C'est les nombreux changements d'état sur cette entrée 8 qui semble me planter le systeme

  19. #19
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    si vous pouviez faire un petit dessin à main levée sur papier avec les connexions et poster une photo ça aiderait

    j'alimente directement ce petit relais a partir de la sortie 13 de l'Arduino, est ce un problème ?
    Oui. La bobine du relai va consommer entre 60 et 80mA, c'est beaucoup trop pour l'alimenter par la pin 13. En pic elle peut fournir 40mA mais vaut mieux rester en dessous de 20.

    ==> c'est un souci

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    commercial, tout le monde n'est pas parfait !
    Inscrit en
    Novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : commercial, tout le monde n'est pas parfait !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2020
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Je vais vous faire un schéma.
    J'ai commandé cette petite carte
    https://www.amazon.fr/gp/product/B01...?ie=UTF8&psc=1
    Croyez vous que je puisse alimenter ce type de relais directement ?

Discussions similaires

  1. Fréquence de mise à jour de la position d'une voiture sur un circuit
    Par djfrancky dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 22/08/2007, 02h20
  2. [Modélisation] Simuler une voiture sur un circuit
    Par djfrancky dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 21/08/2007, 16h48
  3. [Coup de gueule] Les voitures brulées
    Par DavidDeTroyes dans le forum Politique
    Réponses: 134
    Dernier message: 24/07/2007, 17h49
  4. Media circuit de voiture
    Par japle dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 19/07/2006, 21h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo