Board Arduino

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Aller à la navigationAller à la recherche


Introduction

Il existe de très nombreuses cartes Arduino, quelles soient officiels (ex: "Du nouveau chez Arduino !") ou non, voir sur Wikipedia ou sur "The Maker’s Guide to Boards"

La plupart de ces cartes sont en open hardware et il est donc possible de récupérer les fichiers de fabrication (la plupart du temps sous EAGLE) afin de les modifier pour un usage particulier.

Arduino Uno

C'est la carte de référence qui permet de s'initier à l'univers Arduino et de tester les programmes de base dans les exemples de l'IDE Arduino. Bien que le concept d'Arduino est de permettre une utilisation générique des cartes (un code écrit pour une carte, doit normalement pouvoir fonctionner sur une autre), il est parfois nécessaire de procéder à quelques modifications en fonction du type de microcontrôleur utilisé et de l'affectation des broches (PIN) de votre carte.

Chaque carte à donc ses propres particularités (Pin Diagram Uno).

Initiation aux cartes Arduino

Entrées et sorties numériques

La carte Uno possède 14 broches numériques utilisées en 5V, de D0 à D13 configurable en entrée ou en sortie en utilisant les instructions pinMode(), digitalWrite() et digitalRead(). Chaque broche peut fournir une intensité maximum de 40 mA (avec un maximum de 200 mA par port) et dispose en option de résistance interne de rappel au plus "pull-up" (déconnectée par défaut) de 20-50 KOhms. Cette résistance interne s'active sur une broche en entrée à l'aide de l'instruction digitalWrite(broche, HIGH) ou plus simplement lors de l'initialisation avec l'instruction pinMode(broche, INPUT_PULLUP), voir l'exemple "Input Pullup Serial".

Fonctions spécialisées

  • Communication Série: Broches D0 (RX) et D1 (TX). Utilisées pour recevoir (RX) et transmettre (TX) des données séries de niveau TTL. De plus lorsque l'on programme (Téléverse) un nouveau programme sur la carte, c'est également ces deux broches qui sont utilisées, veuillez donc à ne pas les employer pour un autre usage sous peine de ne pouvoir charger d'autres programmes !
  • Interruptions Externes: Broches D2 et D3. Ces broches peuvent être configurées pour déclencher une interruption sur une valeur basse, sur un front montant ou descendant, ou sur un changement de valeur, voir attachInterrupt()…

- Impulsion PWM (largeur d'impulsion modulée): Broches 3, 5, 6, 9, 10, et 11. Fournissent une impulsion PWM 8-bits à l'aide de l'instruction analogWrite().

  • SPI (Interface Série Périphérique): Broches D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK). Supportent la communication SPI (Interface Série Périphérique) disponible avec la librairie pour communication SPI. Les broches SPI sont également connectées sur le connecteur ICSP.
  • LED: Broche D13. Une LED inclue dans la carte est connectée à la broche 13. Lorsque la broche est au niveau HAUT, la LED est allumée, lorsque la broche est au niveau BAS, la LED est éteinte.

Autres broches:

  • AREF : Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée avec l'instruction analogReference().
  • RESET : Mettre cette broche au niveau BAS entraîne la réinitialisation du microcontrôleur. Typiquement, cette broche est utilisée pour ajouter un bouton de réinitialisation sur le circuit qui bloque celui présent sur la carte.

Exemple d'utilisation avec une autre carte, la chipKIT™ WF32™ de chez Digilent

Voir "Extending the Arduino Runtime Environment for 32-bit MCUs" et "Pin Diagram WF32".

microcontrôleur PIC32MX695F512Lmicrocontrôleur PIC32MX695F512LFT232R - USB UART ICFT232R - USB UART ICPotentiometer and User LEDsPotentiometer and User LEDsExternal Reset (MCLR: Master Clear Pin)External Reset (MCLR: Master Clear Pin)PICkit™ 3PIC32 Oscillator OverviewPIC32 Oscillator OverviewUSB 2.0 OTG interfaceUSB 2.0 OTG interfacemicroSD card connectormicroSD card connectorMRF24WG0MA Wi-Fi moduleMRF24WG0MA Wi-Fi moduleBroches d'entrée/sortie I/O digitalBroches d'entrée/sortie I/O digitalBroches d'entrées analogiques Input AnalogBroches d'entrées analogiques Input Analog
chipKIT™ WF32™]


Préparer sa carte pour être programmé via Arduino

Cette étape consiste, si ce n'est pas déjà le cas, à charger le micro programme appelé Bootloader afin de pouvoir charger le programme depuis l'IDE Arduino. (Si la carte possède déjà le Bootloader allez directement à Installation de cartes additionnelles dans l'IDE Arduino)

Installation d'MPLAB® IPE

Démarrer l'application MPLAB® IPE

Sélectionnez la famille 32 bits et choisissez le microcontrôleur PIC32MX695F512L (appuyez sur "Apply"), puis branchez par exemple un PICkit 3 à l'ordinateur et à la carte WF32, celle-ci doit-être alimenté par le câble mini USB par exemple (appuyez alors sur "Connect")

Une fois le fichier téléchargé depuis Design Resources Bootloader et dé-zippé, utiliser le bouton "Browse" pour charger le fichier source à programmer sur la carte:

<iframe width="560" height="315" src="https://www.youtube.com/embed/6eTN0N4dcrw" frameborder="0" allowfullscreen></iframe>

http://microchip.wikidot.com/ipe:ipe-demo


Installation de cartes additionnelles dans l'IDE Arduino

Afin de pouvoir programmer la carte chipKIT WF32 (Pin Diagram), une fois l'IDE Arduino installé, il vous faudra ajouter les sources pour les cartes non intégrés par défaut, ouvrez le menu "Préférences" :

Encore une fois comme il s'agit d'open source, on peut trouver plusieurs packages différents pour les mêmes cartes, à vous de choisir celui qui vous convient !

Par exemple sur https://github.com/chipKIT32 on trouve le lien :

https://raw.githubusercontent.com/chipKIT32/chipKIT-core/master/package_chipkit_index.json

ou encore sur chipKIT core :

https://github.com/chipKIT32/chipKIT-core/raw/master/package_chipkit_index.json

Placez l'URL dans la zone prévu à cette effet, un ';' permet de séparer plusieurs URL si nécessaire :

Puis dans le menu du gestionnaire de carte :

Installez les cartes "chipKIT" :

Enfin sélectionnez la carte "chipKIT WF32" :

Puis connectez vous sur le bon port série où est attaché votre carte ([Win]+[R] et tapez "devmgmt.msc" pour visualiser le gestionnaire de périphériques) :

Voila, maintenant vous pouvez programmer votre carte :-)

Test et programmation de la carte WF32 depuis l'IDE Arduino

Menu: Fichier > Exemples > 01.Basics > Blink

Exemples associés à la carte chipKIT WF32


Exemple SD Card Info

Menu: Fichier > Exemples > SD > CardInfo


Exemple SD Card Read Write

Menu: Fichier > Exemples > SD > ReadWrite