|

Arduino, un bon début en électronique et systèmes embarqués ?

L’Arduino (et le Raspberry Pi) sont bons pour commencer rapidement du côté électronique, dans le sens où on peut générer des signaux PWM, SPI, I2C, etc. sans être submergé par les fiches techniques et la portabilité de codes d’exemples d’application.

Si vous débutez dans le firmware embarqué, je suggère de commencer avec un microcontrôleur 8/16 bits sur une carte d’évaluation avec un débogueur intégré, comme le Microchip Microstick (dsPIC/PIC24) ou le MSP430 Launchpad. Utilisez leur IDE et les fiches techniques/manuels de référence pour mettre en place les périphériques.

Ensuite, passez à l’ARM (comme le STM32). La raison pour laquelle je recommande l’étape 8/16 bits est que la plupart des fournisseurs de puces ARM masquent beaucoup de la configuration des registres dans une couche HAL et ajoutent un outil de configuration. Cela peut convenir à la complexité et à la portabilité, mais c’est moins bon pour apprendre depuis le début.

C’est une question controversée, et la bonne réponse dépend vraiment de la personne.

Une partie de cette controverse vient du fait que ce internet est composé à la fois d’amateurs/passionnés et de professionnels, avec un spectre de compréhension (par exemple, je comprends beaucoup plus qu’un débutant, mais je suis encore loin d’un professionnel). Ainsi, « débutant » signifie différentes choses et implique différents chemins selon la personne. Une autre raison de la controverse est que « Arduino » englobe plusieurs choses : plusieurs cartes de développement, un langage et un IDE (environnement de développement intégré). Donc, quand vous demandez si l’Arduino est un bon départ, différentes personnes peuvent se référer à différents aspects ou combinaisons d’aspects.

Je pense que les cartes Arduino sont plutôt bonnes pour les débutants.

Elles ne sont pas les cartes de développement les moins chères, mais (pour la plupart) elles sont très bien documentées. Je recommande fortement une Arduino Uno pour commencer si vous voulez emprunter la voie Arduino. J’en parlerai un peu plus tard, mais les cartes Arduino peuvent être programmées dans le langage Arduino de haut niveau, les langages de niveau moyen-bas comme C ou C++, ou le langage d’assemblage de bas niveau. Les cartes elles-mêmes ne dictent donc pas le niveau du langage que vous devez utiliser.

Le langage Arduino peut ou non être un bon début pour les débutants, car il est très haut niveau.

Il abstrait beaucoup de concepts (comme déplacer des bits vers des registres et dans la mémoire) derrière des fonctions simples.

Pour certaines personnes, c’est un inconvénient, car elles ne réalisent pas qu’elles travaillent à un niveau aussi abstrait et qu’une grande partie du travail embarqué (au moins à un niveau professionnel) se fait à des niveaux inférieurs. Mais je pense que si vous commencez en sachant qu’il existe d’autres couches en dessous du langage Arduino que vous devriez apprendre un jour, alors vous serez bien et c’est un langage assez correct pour commencer si vous ne connaissez pas du tout la programmation et/ou les concepts embarqués. Mais aussi, selon la profondeur de vos objectifs, il y a une chance que vous n’ayez jamais besoin de plonger dans les niveaux bas comme l’assembleur, et vous pourriez rester avec Arduino/C pour tous vos projets. (Je devrais noter que l’IDE Arduino vous permet d’utiliser le langage Arduino pour de nombreuses cartes non-Arduino.)

L’IDE Arduino est une autre chose qui peut ou non être bonne pour les débutants.

Comme le langage Arduino, il simplifie beaucoup de choses, bien que les versions récentes 2.0 et ultérieures soient loin d’être aussi simples que les anciennes versions 1.x. (C’est quelque chose que je pense que tous les détracteurs de l’Arduino ne comprennent pas, donc certaines personnes qui prétendent que l’IDE est terrible pensent à l’ancien IDE, pas au nouveau.) Je pense que beaucoup des choses qu’il simplifie sont des choses dont les débutants n’ont vraiment pas besoin de se préoccuper, bien que certaines personnes argumenteraient le contraire. Une raison vraiment importante pour laquelle je crois que l’IDE Arduino est assez bon pour la plupart des débutants est qu’il rend la compilation et le téléchargement sur les cartes très faciles. De plus, il fonctionne de la même manière sur n’importe quel système d’exploitation (au moins en surface). Certaines cartes de développement non-Arduino ont des IDE qui ne fonctionnent que sur certains systèmes d’exploitation, ou elles n’ont pas d’IDE dédié et vous devez configurer les chaînes d’outils de compilation/téléchargement manuellement d’une manière pas du tout conviviale pour les débutants. L’IDE Arduino vous permet de programmer des cartes en langage Arduino, C, C++, ou assembleur, et il prend en charge de nombreuses cartes non-Arduino en plus de toutes les cartes Arduino.

Personnellement, je pense que plus souvent qu’autrement, l’écosystème Arduino est un point de départ décent pour les débutants, tant qu’ils sont conscients qu’il simplifie beaucoup de choses qu’ils devraient probablement apprendre à un moment donné. Beaucoup de passionnés n’ont jamais besoin d’aller beaucoup plus loin que ce que l’écosystème Arduino offre, mais beaucoup trouvent un grand pouvoir en allant plus loin, et les professionnels doivent aller plus loin pour faire leur travail correctement. Avec l’écosystème Arduino, vous pouvez atteindre tous ces niveaux si vous le souhaitez (bien qu’une fois que vous commencez à aller plus loin, vous voudrez peut-être quitter ou au moins partiellement quitter l’écosystème).

A lire également

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *