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 :

Comment effacer le programme sur la carte ?


Sujet :

Arduino

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut Comment effacer le programme sur la carte ?
    Bonjour, je débute en arduino et je m'inquiète d'un truc. Je fais des tests avec des composants et des programmes. Mais quand je démarre un nouveau projet, je branche les composants mais quand je branche la carte, le dernier programme va s'exécuter ! Mais comme il n'a aucun rapport avec les composants utilisés et il peut endommager les composants ou la carte non ? Comment l'effacer complètement svp ?
    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bonsoir,

    par défaut les ports GPIO qui ne sont pas utilisés dans le programme d'un Arduino sont des entrées haute-impédance :
    https://www.arduino.cc/en/Tutorial/DigitalPins
    Pour le convertisseur analogique numériques (les entrées analogiques), rien n'est spécifié. Mais en l'absence de toute commande indiquant que ces ports sont des sorties, le CAN est sans doute en entrée par défaut :
    https://www.arduino.cc/en/Tutorial/AnalogInputPins


    Il est vrai qu'utiliser un Arduino pour un nouveau projet peut poser problème surtout quand on ne sait plus quel programme a été téléversé précédemment dans le microcontrôleur. Il serait dommage de griller un port configuré en sortie en le connectant à la masse dans ton nouveau projet.

    Malheureusement, on ne peut pas effacer le programme simplement et rendre le contrôleur vierge.

    Tu as 2 astuces pour être tranquille :
    • la première est de téléverser l'exemple Blink dans ton Arduino avant de commencer ton nouveau projet. Dans ce cas seule la sortie 13 (LED) est utilisée. Les autres ports seront dans ce cas dans la configuration par défaut : en entrée haute impédance.
    • l'autre astuce est de téléverser un programme vide :
      Code Arduino : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
       
      void setup()
      {}
       
      void loop ()
      {}
      Dans ce cas, les ports de ton Arduino auront tous la configuration par défaut : entrée haute impédance. Le seul défaut de cette méthode c'est que tu ne verras pas la Led 13 clignoter, donc tu pourrais te demander (si tu laisses l'Arduino dans un coin un bout de temps) quel programme a été téléversé dans le microcontrôleur.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Merci pour les infos,
    J'ai lu qu'on pouvait effacer le programme en maintenant la touche reset enfoncée et en televersant. Tu connais cette manip stp ?
    Merci de ton aide

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par lololebricoleur Voir le message
    J'ai lu qu'on pouvait effacer le programme en maintenant la touche reset enfoncée et en televersant. Tu connais cette manip stp ?
    Bizarre comme procédé . Comment appuyer sur la touche reset (qui redémarre le micro-controleur sans effacer la mémoire) et téléverser un programme (lequel ?) peut effacer la mémoire de l'Arduino ?
    As-tu le lien qui explique ça ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Auteur, voici le lien du procédé (option 2) : https://arduino103.blogspot.com/2015...mpossible.html
    Je n'ai pas osé le tester j'avoue car ça me semble un peu "tordu"

    C'est curieux qu'il n'existe pas un moyen simple et officiel pour vider le programme de la carte car le risque est bien réel non ?

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 882
    Par défaut
    Citation Envoyé par lololebricoleur Voir le message
    Auteur, voici le lien du procédé (option 2) : https://arduino103.blogspot.com/2015...mpossible.html
    Je n'ai pas osé le tester j'avoue car ça me semble un peu "tordu
    C’est la méthode qu’on applique quand le boot loader n’arrive pas à prendre la main parce que le programme qui s’exécute sature le port série
    Mais au final vous devez quand même charger un programme, ça ne met pas «*rien*» en mémoire

    Le plus simple si vous n’êtes pas sûr, vous ouvrez une nouvelle fenêtre qui a le sketch par défaut (vide) et vous le chargez avant de brancher quoi que ce soit sur votre Arduino

    Ensuite vous débranchez et connectez vos composants, vérifiez trois fois et rebranchez.

  7. #7
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour lololebricoleur

    Je plussoie Jay M.
    Il est très facile, avant de débuter un nouveau projet, de déconnecter les composants ou d'enlever le shield de l'Arduino, de télécharger un programme comme blink pour "vider" l'Arduino.

    Cordialement
    jpbbricole

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Merci Jay M,

    Je ne comprend pas ce que vous voulez dire là
    Citation Envoyé par Jay M Voir le message
    Ensuite vous débranchez et connectez vos composants, vérifiez trois fois et rebranchez.
    Ce que j'ai compris :
    Je débranche tous mes composants de l'arduino
    Je connecte en USB au PC
    Je téléverse le sketch vide

    Il faut vérifier quoi ensuite svp ?

    Merci de votre aider

  9. #9
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par lololebricoleur Voir le message
    Ce que j'ai compris :
    Je débranche tous mes composants de l'arduino
    Je connecte en USB au PC
    Je téléverse le sketch vide
    C'est ça. Ensuite, débranche ton Arduino quand tu fais ton nouveau montage. Une fois ton montage fait et vérifié, rebranche ton Arduino et téléverse ton nouveau programme.

    Citation Envoyé par lololebricoleur Voir le message
    Il faut vérifier quoi ensuite svp ?
    Quand tu fais ton nouveau montage JayM te suggère de tout vérifier 3 fois avant de rebrancher ton Arduino dans le cas où tu aurais fait erreur dans ton montage

    Si tu travailles sur une breadboard, attention aux fils qui partent dans toutes les directions. Evite de les croiser.

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 882
    Par défaut
    oui ce serait ballot de prendre toutes les précautions pour charger un sketch vide et d'avoir un court-circuit au moment de brancher la carte et charger le nouveau programme...

  11. #11
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    J'ai donc enlevé tous les composants connectés à l'arduino
    J'ai connecté l'usb
    Ouvert le soft arduino
    Créer un nouveau croquis pour qu'il soit vide
    Et j'ai téléversé
    Les leds ont clignoté
    Est-ce qu'on a un repère pour savoir si le televersement c'est fait ?

  12. #12
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Quelle méthode me conseillez vous pour vérifier mon cablage ?

    Là, je pars du 5v, je suis le courant et je regarde si je passe où je devrais passer
    Je répète autant de fois que j'ai de circuits possible

    Merci de votre aide précieuse ;-)

  13. #13
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Déjà fait un schéma de ton circuit sur papier ou avec un logiciel. Vérifie si tout est correct :
    - courant consommé par ton circuit ?
    - pas de résistance oubliée ?
    - les valeurs des résistances correctes ?
    - pas de court-circuit ?
    - les masses bien reliées entre elles ?
    - pas de condensateur chimique branché à l'envers ? Les condensateurs chimiques sont polarisés. S'ils sont branchés à l'envers, ça peut faire très mal.
    - une sortie est bien branchée sur une entrée ?
    - les composants actifs (type portes logiques, AOP, etc.) bien alimentés ?
    etc.

    Ensuite réalise ton montage sur ta breadboard en suivant ce que tu as fait sur ton schéma et les directives des datasheet. Pars de l'alimentation et va jusqu'à la masse. Puis pour les composants de type portes logiques, les E/S de ton Arduino, pars d'une sortie jusqu'à l'entrée.

  14. #14
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 882
    Par défaut
    Une autre façon de faire - après avoir effectué un schéma papier "propre" et les calculs associés, est de rajouter des sous-systèmes indépendants petit à petit.

    Par exemple
    - vous avez des LEDs, branchez les avec leur résistance de limitation de courant et écrivez un petit programme qui les allume une par une. Si ça ne marche pas, trouvez le souci.
    - Ces composants étant à leur place finale, débranchez l'alimentation et connectez le prochain sous système, par exemple des boutons et chargez un petit programme qui teste ces boutons.
    - Une fois que tout marche passez au suivant, débranchez l'alimentation et ajoutez votre capteur de température par exemple et testez le
    - Une fois que tout marche passez au suivant, débranchez l'alimentation et ajoutez votre LCD par exemple et testez le.
    -> Quand deux composant partagent une ressource (deux composants sur le bus I2C ou SPI) testez les séparément puis ensemble.
    - etc

    Une fois que vous avez un montage où chacun des sous système est opérationnel et testé, vous avez une base de travail assez solide pour passer au vrai code.

    Bien sûr avec l'habitude on peut grouper certaines étapes, mettre les LEDS et le boutons ensemble etc mais une vérification visuelle du chemin du courant est toujours une bonne chose.
    -> Une LED a toujours une résistance de limitation de courant
    -> Une Pin à 5V qui peut directement aller vers le GND est le meilleur moyen de griller cette pin.
    -> Une bobine (moteur, électro-aimant, vanne, relais, ...) doit avoir une diode de roue libre
    -> La partie puissance n'est jamais au contact direct de la partie de contrôle niveau logique

  15. #15
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Merci de vos conseils

Discussions similaires

  1. Comment télécharger des programmes sur vista
    Par angels0110 dans le forum Windows Vista
    Réponses: 5
    Dernier message: 20/06/2007, 15h58
  2. [VB.Net] Comment effacer des traits sur un graphique ?
    Par bert24 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2005, 14h20
  3. Comment effacer un Tick sur une TrackBar ?
    Par ZeImp dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/08/2003, 21h39

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