Bonsoir, j'aimerais commencer à utiliser 'Arduino', mais je ne sais pas par où commencer. Dois-je d'abord apprendre à programmer en c ou c++? vu que le langage Arduino est basé sur ces deux langages ?
Merci d'avance
-----
16/07/2018, 10h19
#2
penthode
Date d'inscription
juin 2017
Localisation
royaume de TAKICARDIE
Messages
14 064
Re : Débuter Arduino
hello ,
tu rentre dedans avec un kit et son livre d'initiation.
Le « langage » Arduino est en réalité un ensemble de fonctions et d'objets créés en langages C et C++, principalement (on y trouve également un peu d'assembleur), qu'on peut appeler depuis le code de son programme.
Le fichier .ino est interprété comme un fichier .cpp. L'environnement y rajoute les déclarations des éléments du « langage » sans qu'il soit nécessaire de les inclure expressément.
(Pour rappel, C++ dérive de C, mais les deux sont traités un peu différemment par le compilateur C/C++.)
Il est donc nécessaire de bien connaître la syntaxe et les opérateurs de base du langage C, et les extensions apparues dans le langage C++ (objets, méthodes, ...).
On trouve par ici une liste de références des opérateurs, fonctions et méthodes, avec des explications et des exemples (en anglais).
Pour débuter, il n'est pas utile d'apprendre tout de suite les fonctions standards du C, d'autant plus que certaines manquent à l'appel du fait des capacités restreintes des micro-contrôleurs et de l'absence de système d'exploitation. Savoir construire une classe C++ n'est pas non plus utile pour commencer. Tout cela peut s'apprendre plus tard, au fur et à mesure que les besoins apparaissent.
L'IDE (i.e. l'environnement de développement intégré) présente un certain nombre d'exemple (dans le menu Fichier>Exemples>...) qu'il convient d'essayer et d'étudier.
Pour les curieux, le code source du « langage » Arduino est également fourni dans l'environnement installé. Sa lecture peut s'avérer enrichissante, une fois les questions de programmation maîtrisées.
Il y a aussi un forum avec une communauté française assez active sur le sujet qui peut répondre aux questions et apporter une aide en cas de difficultés.
Je tiens à rappeler que le but d'Arduino est juste un moyen simplifié de découvrir quelques micro-contrôleurs dans les environnements proposés, et de réaliser rapidement des projets sans prétention avec un minimum de connaissances.
Si l'on veut progresser dans ce domaine technique, il faudra par la suite impérativement apprendre à se passer peu à peu du « langage » Arduino, de la configuration matérielle proposée et des outils de l'IDE qui cachent toute la complexité de la démarche réalisée, et qui dans le même temps représentent un frein dans le développement de projets sérieux et performants. Par exemple, l'accès direct aux registres du micro-contrôleur, le démarrage sur une fonction main, la programmation en assembleur, le réglage des bits de configuration (fuses), la programmation et le déboggage ISP ou le choix raisonné des options de compilation sont autant d'étapes qui rapprochent l'utilisateur d'un véritable processus de développement.