la référence arduino en français -...

19
ARDUINO - manuels français La référence Arduino en français ! Traduction légèrement augmentée du Guide de démarrage Arduino Yún en Français ! http://playground.arduino.cc/French/Manuels Reference Language (étendue) | Librairies | Comparaison? Référence du langage Arduino en français Voir la référence étendue pour davantage de fonctions avancées du langage Arduino et la page des librairies pour interfaçage avec des types de matériel particuliers (afficheur LCD par exemple). Les programmes Arduino peuvent être divisés en trois partie principales: la structure, les valeurs (variables et constantes) et les fonctions. Le langage Arduino est basé sur les langages C/C++. Ici un guide d'écriture qui aidera ceux qui veulent écrire des programmes d'exemple. En attendant l'optimisation de cette page, voir la référence du langage Arduino en français ici

Upload: dotruc

Post on 05-Oct-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

ARDUINO - manuels français

La référence Arduino en français !

Traduction légèrement augmentée du Guide de démarrage Arduino Yún en Français !

http://playground.arduino.cc/French/Manuels

Reference Language (étendue) | Librairies | Comparaison?

Référence du langage Arduino en français

Voir la référence étendue pour davantage de fonctions avancées du langage Arduino et la page

des librairies pour interfaçage avec des types de matériel particuliers (afficheur LCD par exemple).

Les programmes Arduino peuvent être divisés en trois partie principales: la structure, les valeurs

(variables et constantes) et les fonctions. Le langage Arduino est basé sur les langages C/C++.

Ici un guide d'écriture qui aidera ceux qui veulent écrire des programmes d'exemple.

En attendant l'optimisation de cette page, voir la référence du langage Arduino en français ici

Page 2: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Structure

Fonctions de base

Ces deux fonctions sont obligatoires dans tout programme en langage Arduino :

void setup() void loop()

Structures de contrôle

if if...else for switch case while do... while break continue

Variables et constantes

Les variables sont des expressions que vous pouvez utilisez dans les programmes pour stocker des valeurs, telles que la tension de sortie d'un capteur présente sur une broche analogique.

Constantes

prédéfinies

Les constantes prédéfinies du langage Arduino

Fonctions

Entrées/Sorties Numériques

pinMode(broche, mode) digitalWrite(broche, valeur) int digitalRead(broche)

Entrées analogiques

int analogRead(broche)

Sorties "analogiques" (génération

d'impulsion)

analogWrite(broche, valeur) - PWM

Entrées/Sorties Avancées

tone() noTone?() shiftOut?(broche, BrocheHorloge,OrdreBit,

valeur)

Page 3: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

return

Syntaxe de base

; (point virgule) {} (accolades) // (commentaire sur

une ligne) /* */ (commentaire sur

plusieurs lignes)

Opérateurs

arithmétiques

=? (égalité) +? (addition) -? (soustraction) *? (multiplication) /? (division) %? (modulo)

Opérateurs de

comparaison

sont des valeurs particulières ayant une signification spécifique.

HIGH | LOW INPUT | OUTPUT true | false

A ajouter : constantes décimales prédéfinies

Expressions

numériques

Expressions numériques entières?

Types des données

Les variables

unsigned long pulseIn?(broche, valeur)

Temps

unsigned long millis() unsigned long micros?() delay?(ms) delayMicroseconds?(us)

Math

min(x, y) max?(x, y) abs?(x) constrain?(x, a, b) map?(valeur, toLow, fromHigh, toLow,

toHigh) pow?(base, exposant) sq?(x) sqrt(x)

Trigonométrie

sin?(rad)

Page 4: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

== (égal à) != (différent de) < (inférieur à) > (supérieur à) <= (inférieur ou égal à) >= (supérieur ou égal

à)

Opérateurs booléens

&& (et) || (ou) ! (non)

Opérateurs composés

++? (incrémentation) --? (décrémentation) (à

revoir) +=? (addition

composée) -=? (soustraction

composée)

peuvent être de type variés qui sont décrits ci-dessous.

boolean? char? byte? int? unsigned int? long? unsigned long? float? (nombres à

virgules) double? (nombres à

virgules) Les chaînes de

caractères? Les tableaux de

variables? void? (fonctions)

Conversion des

types de données

cos?(rad) tan?(rad)

Nombres randomisés (hasard)

randomSeed(seed) long random?(max) long random?(min, max)

Communication

Serial

Page 5: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

*=? (multiplication composée)

/=? (division composée)

char()? byte()? int()? long()? float()?

Référence

Code ASCII (à finir)

Tout en permettant l'utilisation des fonctions classiques disponibles en langage C, le langage

Arduino (open source!) est un véritable "méta-langage" orienté pour la programmation

microcontrôleur qui offre des fonctions de syntaxe très simple mais très puissantes, comme par

exemple les fonctions analogRead, map? ou encore shiftOut?. La plupart des librairies utiles sont

également disponibles pour la communication série avec le PC, l'utilisation d'afficheur LCD

standard, de clavier matriciel, de servomoteurs ou encore de moteurs pas-à-pas. A l'usage, ce

langage est vraiment très efficace et fait gagner un temps précieux !

Page 6: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Quelque chose que vous ne trouvez pas ? Consulter la référence étendue ou les librairies. Voir également la liste des contributions de

la communauté au code (en anglais).

Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum.

Le texte de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike3.0 License. Les exemples de code dans

la référence sont dans le domaine public.

Traduction française et commentaires par X. HINAULT. Janvier - Février 2010

Page 7: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

http://playground.arduino.cc/French/GuideDeDemarrageArduinoYun

Guide de demarrage arduino

Cet article est une traduction légèrement augmentée de l'article original

:http://arduino.cc/en/Guide/ArduinoYun.

La traduction est actuellement en cours et vous pouvez participer efficacement à cette dernière en

coordonnant vos efforts sur le fil créé à ce sujet sur le forum

:http://forum.arduino.cc/index.php?topic=198248.0

Guide de démarrage de l'Arduino Yún

L'Arduino Yún est une carte Arduino comme n'importe quelle autre. Le processus de programmation est très

similaire à celui de l'Arduino Leonardo? et l'Arduino Yún utilise le même processeur,

l'Atmel ATmega32U4, il comporte aussi un processeur additionnel, un Atheros AR9331, sur lequel tourne la

distribution Linux OpenWrt wireless stack. La programmation du 32U4 par le biais de l'interface USB est

identique à celle de l'Arduino Leonardo. Une fois que vous avez configuré le Yún por se connecter à un

réseau WiFi, Vous pouvez également programmer le 32U4 par le biais de la connexion WiFi. Pour

connecter l'Arduino Yún à votre ordinateur, vous aurez besoin d'un câble micro USB de type B. Ce câble

USB fournit l'alimentation de la carte et permet un échange de données avec cette dernière. Lors de la

Page 8: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

programmation du Yún, vous devez choisir Arduiono Yún dans le menuOutils > Type de carte de l'IDE

Arduino. Le Yún n'est supporté qu'à partir de la version 1.5.4 et suivantes de l'IDE.

Table des matières

1. Différences avec l'Arduino Leonardo

2. OpenWRT-Yun

3. Python

4. Stockage externe sur le Yún

5. Services web

Page 9: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Différences avec l'Arduino Leonardo

Vue globale des composants du Yún.

En plus du processeur 32U4, le Yún dispose d'un processeur additionnel, un Atheros AR9331, sur lequel

tourne la distribution Linux pour systèmes embarqués appelée Linio basée surOpenWrt wireless stack. Une

instalaltion complête de Python 2.7 est également incluse.

Page 10: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Le Yún a un nombre de caractérisqtiques physiques et de connecteurs différents du Leonardo. Il y a un

connecteur pour cartes SD intégré, Une prise Ethernet RJ45 et un connecteur hôte USB de type A. Il n'y a

pas d'embase d'alimentation sur le Yún ; il peut être alimenté par le biais du connecteur micro-USB de type

B.

Il n'y a pas de régulateur 5V intégré. Si vous alimentez le Yún avec une tension supérieure à 5V, vous allez

probablement l'endommager. Si vous n'alimentez pas le Yún par le biais du connecteur micro-USB, vous

pouvez le faire par l'intermédaire des bornes Vin et 5V de la carte. Il est cependant recommandé d'alimenter

le Yún par le biais de la connexion USB dans la mesure du possible.

Les interfaces SD, Ethernet et USB-A ne sont pas physiquement connectés au processeur 32U4, ils sont

connectés à l'AR9331.Le 32U4 du Yún fonctionne de la même manière que celui du Leonardo, excepté que

l'on ne peut pas utiliser le port Série1. Ce dernier est réservé aux communications avec le

processeur AR9331.

Le Yún a aussi un module wifi intégré à sa carte, ce qui lui permet de se connecter à un routeur sans fil, ou

se comporter comme un point d'accès. Les processeur 32U4, WiFi etAR9331 disposent tous de leurs propres

Page 11: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

boutons de reset.

Page 12: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la
Page 13: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Vue des différents boutons reset du Yún

Il y a plusieurs LEDs de statuts sur le Yún indiquant : l'alimentation (ON), la connexion WiFi(WLAN), la

connection ethernet (WAN) et la connexion USB (USB). De plus, la pin 13 (L13) est connectée à l'une des

led de statut.

Page 14: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la
Page 15: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Detail des LEDs de statuts du Yún

OpenWRT-Yun

Le Yún fait tourner une distribution Linux appellée OpenWRT-Yun, basée sur OpenWrt. Même s'il est

toujours possible de configurer le système en ligne de commande, il y a une interface web qui vous

permettra de configurer un grand nombre des différentes options disponibles. L'interface, (appelée LuCi)

vous donne accès à la plupart des réglages dont vous aurez besoin pour administrer l'interface WiFi.

L'accès à l'interface web est décrit plus bas.

Pour installer un logiciel additionnel sur OpenWRT-Yun, vous aurez besoin d'utiliser le package manager

Linux opkg. Pour plus d'informations sur le package manager, reportez-vous à la page Yún package

manager de la documentation arduino (EN).

Python

Une installation de Python 2.7 est incluse avec OpenWRT-Yun, grâce à laquelle vous pouvez écrire des

applications et des scripts. Pour plus d'informations sur Python, visitez les pages de documentations Python

2.7.

Page 16: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Si vous débutez avec Python, il existe un multitude d'excellentes ressources en ligne. "Learn Python the

Hard Way" (EN) couvrira tout ce que vous avez besoin de connaître pour vous lancer dans la création de vos

propres scripts. Pour les ressources Francophones, citons l'excellent tutoriel « Apprendre à programmer avec

Python » disponible sur Framasoft, une référence Francophone du monde libre.

Stockage externe sur le Yún

Vous avez abandonné l'idée d'utiliser la mémoire Flash interne du Yún à cause de son nombre limité

d'écritures possible.

Vous pouvez utiliser une carte microSD ou une clé USB comme mémoire externe pour sauvegarder vos

données, scripts, pages web, etc. … Afin que le 32U4 puisse accéder en lecture et écriture aux informations

stockées dans ces mémoires par l'intermédiaire du Yún, il doit y avoir un répertoire nommé « arduino » à la

racine du lecteur afin que le Yún crées un lien vers la carte SD par le chemin « /mnt/sd ».

Page 17: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Services web

OpenWRT-Yun utilise l'architecture REST qu'il soit client ou serveur. REST est l'accronyme de

"Representational State Transfer". C'est une architecture logicielle qui rend accessible de nombreuses parties

matérielles de l'Arduino par le biais d'URLs. Par déffaut, l'accès à l'API REST est protégé par mot de passe.

Il est impossible d'accéder à ce service sans le mot de passe. Pour changer ce réglage, allez dans le panneau

de configuration du Yún. En bas de la page vous verrez des bouttons permettant de changer l'accès.

Une bonne introduction aux concepts sous-jascents à REST peut être trouvée ici (EN). Pour les ressources

Francophones, reportez-vous à l'article REST sur wikipédia et à cette explication plus détaillée ou celle-ci

abordant notamment la notion de "point terminal".

Il y a deux points terminaux REST reconnus par le Yún :

/arduino

/data

Page 18: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Le répertoire "/arduino" n'a rien de préconfiguré. Tout ce qui est ajouté à l'URL après le point terminal est

passé du serveur web au programme du 32U4. Vous pouvez définir vos propres API (interfaces de

programmation) dans ce programme. Reportez-vous à l'exemple du tutoriel Examples>Bridge (EN) pour

voir comment se font les accès aux bornes de la carte.

Le point terminal "/data" sert à accéder aux mémoires "key/value" de l'AR9331 (à confirmer ?). Les

requettes disponibles sont :

/put/KEY/VALUE : Stocke une valeur dans la mémoire "KEY"

/get/KEY : récupère la valeur de la mémoire KEY en JSON

/get : récupère toutes les adresses mémoire en JSON

/delete : efface la mémoire interne

Reset des processeur (AR9331, WiFiet 32U4)

Pour redémarer l'AR9331, ce qui rebootera Linio, pressez le bouton reset "YÚN RST" qui se situe entre les

bornes analogiques et les LEDs de statuts sur la face supérieure de la carte.

Pour redémarer le 32U4 (processeur de l'Arduino Leonardo intégré) et redémarrer le dernier programme

uploadé dans l'Arduino, pressez le bouton situé à côté du connecteur ethernet (RJ45) deux fois.

Page 19: La référence Arduino en français - cimbcc.orgcimbcc.org/.../Mordus-2017-10-10-ARDUINO...JPresne.pdf · Arduino (open source!) est un véritable "méta-langage" orienté pour la

Le bouton reset du WiFi est situé à côté du connecteur ASB-A. Quand vous pressez ce bouton, la led WLAN

se mettra à clignoter.

Si vous changez de réseau et ne pouvez plus vous connecter sans fil au Yún par le biais de son interface

web, vous pouvez réinitialiser la configuration reseau du Yún en appuyant sur le bouton reset

du WiFi pendant plus de 5 secondes, mais moins de 30. Le processeurAR9331 redémarrera et la

configuration WiFi sera réinitialisée. Le Yún créera alors son propre réseau WiFi "Arduino Yún-

XXXXXXXXXXXX. Toutes les autres modifications et configurations seront conservées.

Pour remettre la distribution OpenWRT-Yun à ses paramètres d'usine, appuyez sur le bouton reset du Wifi

pendant au moins 30 secondes. La carte reviendra alors à ses réglages d'origine comme si elle avait été

reflashée ou simplement sortie de son emballage. Entre autres choses, cette opération effacera tous les

fichiers installés et les réglages réseau.