Open Silicium N°
Numéro
2

Arduino

Temporalité
Avril/Mai/Juin 2011
Image v3
Arduino
Article mis en avant

Résumé

Comme nous l'avons dit précédemment, Arduino est une plateforme idéale pour s'initier au développement sur microcontrôleur. Cet article a pour but de vous faire débuter avec le matériel et l'IDE Arduino, mais aussi et surtout de vous montrer qu'il ne s'agit pas d'un ensemble statique et immuable. Plus qu'une plateforme de découverte, un module Arduino peut s'adapter à votre expérience et est capable de vous apporter bien plus qu'un simple kit électronique.

Dans ce numéro...


Poursuivons ! Vous avez été nombreux à nous faire part de vos commentaires, encouragements et critiques concernant le premier numéro.
Dans le précédent numéro, nous avions fait un tour d'horizon et pris en main la carte FriendlyARM mini2440. Certaines étapes, comme la mise à jour du bootloader, pouvaient s'avérer délicates. Certains lecteurs nous ont demandés ce qu'il était possible de faire en cas de plantage du ou des bootloader(s) pour reprendre le contrôle de la plateforme. La réponse tient en quatre lettres : JTAG.
Bien avant les cartes à puce existaient les cartes bancaires à piste magnétique. Bien moins coûteuses à produire, elles permettaient déjà le retrait de numéraire en guichet automatique et le paiement. L'arrivée de la puce changea la donne, mais la piste magnétique est toujours largement utilisée en France et, plus encore, dans le reste du monde. Qu'est-ce exactement qu'une carte magnétique et comment lire et écrire sur ce support ? C'est ce que je vous propose de découvrir maintenant.
Pour mettre en œuvre de nouveaux composants, la démarche courante est, dans un premier temps, l'expérimentation avec platine d'essai, interface complexe, microcontrôleur dédié, etc. Ce n'est qu'ensuite qu'on se lance dans la mise en œuvre du projet final avec les bases acquises lors de la première phase. Le Bus Pirate est un matériel open source qui va grandement vous faciliter cette première étape.
Lorsqu'il s'agit de faire communiquer un montage quel qu'il soit à une distance raisonnable, plusieurs options wireless sont envisageables. Zigbee, Wi-Fi, propriétaire et j'en passe… Si l'on veut faire simple et ne pas avoir à réinventer la roue, la connexion du module wireless doit être simple et l'implémentation côté hôte (PC, Mac ou smartphone) se limiter à l'applicatif. Dans le cadre de cet article, nous allons nous intéresser à une solution basée sur un module Bluetooth SPP ou, en d'autres termes, un convertisseur Bluetooth/série.
Le marché des tablettes internet ou MID pour Mobile Internet Devices est en plein boom. On en voit apparaître de toutes sortes, de tous fabricants et à tous prix. Nous avons essayé, il y a peu, le bas de gamme avec la tablette chinoise ePad et avons ensuite décidé de nous pencher sur quelque chose de plus qualitatif. Notre choix s'est alors porté vers la génération 8 des tablettes Archos et en particulier sur l'ARCHOS 70.
Dans le numéro précédent, nous avons évoqué des méthodes de mise au point à distance pour un système embarqué en utilisant le débogueur GDB couplé à un agent distant comme gdbserver ou l’option KGDB du noyau. Les problèmes graves de fonctionnement (crash du noyau ou d’une application) nécessitent en effet l’utilisation d’un débogueur. Cependant, il est souvent nécessaire d’obtenir des informations sur le comportement du système en fonctionnement, ce qui correspond alors à de l'instrumentation. Ainsi, il est possible de prévenir les problèmes en amont ou bien d’assister le concepteur dans le choix de solutions plus optimisées.
Arduino est un projet d'open hardware destiné à démocratiser le développement sur microcontrôleurs. Il existe plusieurs kits Arduino, mais tous se basent sur des composants AVR d'Atmel. L'un des objectifs principaux du projet est de faciliter l'accès aux débutants et fournir une plateforme complète, matérielle et logicielle, multiplateforme.
Comme nous l'avons dit précédemment, Arduino est une plateforme idéale pour s'initier au développement sur microcontrôleur. Cet article a pour but de vous faire débuter avec le matériel et l'IDE Arduino, mais aussi et surtout de vous montrer qu'il ne s'agit pas d'un ensemble statique et immuable. Plus qu'une plateforme de découverte, un module Arduino peut s'adapter à votre expérience et est capable de vous apporter bien plus qu'un simple kit électronique.
Le présent article s'adresse aux utilisateurs d'Arduino souhaitant pousser plus loin leur exploration en se détachant de l'environnement constitué des bibliothèques Wiring modifiées et de l'IDE Java fourni par défaut. De prime abord moins facile à appréhender, la création de code AVR n'utilisant pas ces éléments offre plus de possibilités et vous permettra de reposer directement sur les fonctionnalités du microcontrôleur choisi. Une connaissance minimum de l'Arduino ou des microcontrôleurs Atmel AVR, ainsi que des bases en C, sont recommandées pour comprendre facilement les explications qui vont suivre.
Dans le précédent numéro, nous avons fait la connaissance du ReadyNAS duo de Netgear. Un sympathique NAS, sous GNU/Linux, bien documenté, modulaire et relativement ouvert. Ajoutons à présent une pointe de configuration plus « système » en explorant les méthodes permettant d'ajouter un peu plus de support pour le matériel.
Il existe des classiques incontournables dans le domaine du développement sur système Unix. Si classiques et courants qu'ils paraissent anodins pour l'utilisateur coutumier de ces systèmes. La commande make fait partie de ces classiques. Si vous débutez dans l'utilisation de GNU/Linux, par exemple, prendre le temps d'en découvrir les secrets vous en fera gagner énormément par la suite.
L'article précédent vous a présenté deux façons de réaliser un multiplieur complexe, toutes deux proches de la méthode naïve qui consiste à utiliser un circuit arithmétique de base (multiplieur, additionneur, soustracteur) par opération et à les connecter selon l'arbre de calcul. Nous allons maintenant voir comment partager le même circuit arithmétique entre plusieurs opérations.
Les NAS sont des petites merveilles. Ceux-ci sont généralement équipés de systèmes reposant sur GNU/Linux et disposent de plus en plus de fonctionnalités. Si l'on arrive à en prendre pleinement le contrôle, il est possible de les transformer en objets bien plus polyvalents, capables de servir de serveur Web, de solution de diffusion de médias, de point de téléchargement, etc. Mais encore faut-il pouvoir en disposer comme on le souhaite. Là, chaque fabricant a son florilège de préférences, d'habitudes et de mauvaises pratiques.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Body