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 :

Programmation de l'Arduino.


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Programmation de l'Arduino.
    Bonjour à tous,
    J'ai reçu en cadeau un Arduino UNO accompagné d'une documentation des plus rudimentaires (37 pages). On y trouve quelques exemples de petits programmes très simples (comme faire clignoter une LED, par exemple) MAIS...
    a) l'Arduino n'a ni clavier ni écran! Dois-je le connecter à mon P.C. (via le port USB) et taper le programme sur mon P.C.?
    b) comment indiquer que ce programme est destiné à l'Arduino et pas à mon P.C.?
    c) est-il possible de mémoriser ce programme DANS L'ARDUINO (et comment?) où dois-je le retaper à chaque fois que je voudrai l'utiliser?
    d) quand on parle de "sketch", est-ce le mot pour désigner un programme?

    Maintenant, peut-être serait-il plus indiqué que quelqu'un me renseigne le titre d'un livre dans lequel on trouve les réponses à toutes les questions que je me pose ET que je vais continuer à me poser...

    A titre accessoire : quel est ce langage utilisé pour l'Arduino et qui contient des instructions que je n'ai jamais rencontrées ( "void" par exemple). Je signale que j'ai autrefois programmé en Basic, en Dbase, en COBOL, en FORTAN, etc... (Je ne suis pas un ignare de l'informatique).

    Merci d'avance,

    mathusalem999

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Tu trouveras les réponses à toutes ces questions (et plus encore) dans ce tutoriel : L'univers Arduino - Partie I : aperçu de la plateforme Arduino et ses cartes d'interface (shields)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Réponse à al1 24.
    Merci beaucoup, ce tutoriel est très bien fait et m'a beaucoup aidé.http://www.developpez.net/forums/ima...on_biggrin.gif
    Toutefois, il a fait surgir une autre question...
    Si j'ai bien compris, je programme l'Arduino depuis mon P.C. après les avoir connectés au moyen d'un simple câble USB en définissant le port adéquat.
    Mon Arduino reçoit le programme et peut donc l'exécuter (si j'ai correctement programmé!!!).
    MAIS APRES???????
    Quand j'ai fini et que j'éteins l'Arduino, le programme est perdu, non?
    Dois-je donc "réalimenter" l'Arduino à chaque usage du programme OU existe-t-il une façon autre de procéder qui permettrait à l'Arduino de conserver des programmes en mémoire et d'appeler celui dont on a besoin au moment choisi?
    A ce stade de mes connaissances, cela ne me semble effectivement pas possible, à moins d'une astuce... (Hardware / Software ????http://www.developpez.net/forums/ima...n_rolleyes.gif ).

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonsoir

    L'Arduino à trois mémoires. L'un d'elle dénommée Flash est permanente et est utilisée pour stocker le programme.
    Lorsque l'Arduino reçoit le programme, il y a programmation de cette mémoire. Par la suite il est autonome et le programme démarrera à chaque mise sous tension (ou chaque reset).

    Par contre il n'y a pas d'OS embarqué, donc un seul programme disponible, quand tu en écrits un, tu effaces le précédent. Si tu en veux plusieurs, ils faut les combiner ensemble dans un seul avec un système de sélection. En général on est très vite limité par la mémoire Flash de l'Arduino.

    D'ailleurs le programme doit tourner en rond, c'est pour cela qu'il y a une procédure Loop qui est effectuée en continu.

    PS: Les deux autres mémoires sont:
    - La SRAM normalement utilisée pour les variables dans le programme, elle est effacée à chaque arrêt / reset de l'Arduino.
    - L'EEPROM pour le stockage permanent des variables, il faut des instructions spécifiques dans ton programme pour y accéder, les données inscrites reste en mémoire en cas d'arrêt, ou de reset.

    Bonne soirée

    Delias

    Edit en bleu suite au message suivant de mathusalem999

  5. #5
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup,
    Grâce à al1 24 et Delias, je crois que j'ai tout en main pour aborder l'univers Arduino comme je le concevais.
    J'ai acheté deux shields :
    a) "Tick Tock" permettant de réaliser des applications simples pour me familiariser avec l'utilisation de l'Arduino et sa programmation,
    b) module "Carte Micro-SD ADA254" pour ajouter un espace de stockage pour mes projets (futurs...).

    Ca y est, je me lance!!! En route vers de nouvelles aventures : à près de 78 ans, c'est excitant, NON?

    Félicitations pour ce forum vraiment très utile, voire même indispensable.
    Donc : MERCI A TOUT LE MONDE!!!

    mathusalem999

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonsoir

    J'ai peut-être pas été assez clair dans ma réponse précédente.
    Quand je parlais d'être limité par la taille mémoire (pour le multi-programme) c'est par la mémoire de programme: la Flash, et elle n'est pas extensible.

    En ajoutant une carte SD, on ajoute une équivalence (au niveau utilisation) de l'EEPROM c'est pour faire du stockage à long terme dans le cas d'un système d’acquisition. La carte Tick-Tock est également équipée d'une mémoire EEPROM additionnel avec les mêmes limitations. Chaqu'une de ces mémoires doit d'ailleurs s'accéder au moyen d'instructions différentiées.

    Pour parvenir à ses performances, le µC à une limitation qui est que les instructions ne peuvent être exécutées que depuis la Flash. Donc impossible de charger un programme depuis une carte SD ou une EEPROM externe (l'interne on l'oublie elle n'est pas grande) à l'opposition des microprocesseurs plus avancés qui peuvent exécuter depuis la RAM.

    Stricto-sensu on peut programmer une partie de la Flash à partie du code. Mais c'est de la programmation très avancées et donc probablement pas pour ce niveau.

    Bonne soirée

    Delias

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Charger un programme MATLAB sur Arduino MEGA ADK
    Par amibluesky dans le forum MATLAB
    Réponses: 1
    Dernier message: 15/08/2015, 15h18
  2. Difficultés pour programmer un Arduino
    Par Garenne40 dans le forum Débuter
    Réponses: 6
    Dernier message: 18/06/2013, 12h12
  3. Lib Arduino pour programmer des 16F84
    Par artiom dans le forum Arduino
    Réponses: 2
    Dernier message: 02/05/2012, 19h10
  4. [16F84] Programmer in situ par un Arduino (teensy++)
    Par artiom dans le forum Autres architectures
    Réponses: 4
    Dernier message: 02/05/2012, 16h34
  5. Réponses: 24
    Dernier message: 20/01/2012, 20h28

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