avril 2017



ponctuation

Le code est structuré par une ponctuation stricte :toute ligne de code se termine par un point-virgule « ; »
le contenu d'une
fonction est délimité par des accolades « { » et « } »
les
paramètres d'une fonction sont contenus pas des parenthèses « ( » et « ) ».
Une erreur fréquente consiste à oublier un de ces éléments.


Les variables

Une variable est un espace réservé dans la mémoire de l'ordinateur. C'est comme un
compartiment dont la taille n'est adéquate que pour un seul type d'information. Elle est
caractérisée par un nom qui permet d'y accéder facilement.
Il existe différents types de variables identifiés par un mot-clé dont les principaux sont :
- nombres entiers (int)
- nombres à virgule flottante (float)
- texte (String)
- valeurs vrai/faux (boolean).
 

Un nombre à décimales, par exemple 3.14159, peut se stocker dans une variable de type float.
Notez que l'on utilise un point et non une virgule pour les nombres à décimales. Dans Arduino, il
est nécessaire de déclarer les variables pour leurs réserver un espace mémoire adéquat. On
déclare une variable en spécifiant son type, son nom puis en lui assignant une valeur initiale
(optionnel). Exemple :
int ma_variable = 45;
// int est le type, ma_variable le nom et = 45 assigne une valeur.


Les fonctions  

Une fonction (également désignée sous le nom de procédure ou de sous-routine) est un bloc
d'instructions que l'on peut appeler à tout endroit du programme.
Le langage Arduino est constitué d'un certain nombre de fonctions, par exemple analogRead(),
digitalWrite() ou delay().
Il est possible de déclarer ses propres fonctions par exemple :
void clignote(){
digitalWrite (brocheLED, HIGH) ;
delay (1000) ;
digitalWrite (brocheLED, LOW) ;
delay (1000) ;
}
Pour exécuter cette fonction, il suffit de taper la commande :

clignote();On peut faire intervenir un ou des paramètres dans une fonction :void clignote(int broche,int vitesse){
digitalWrite (broche, HIGH) ;
delay (1000/vitesse) ;
digitalWrite (broche, LOW) ;
delay (1000/vitesse) ;
}
Dans ce cas, l'on peut moduler leurs valeurs depuis la commande qui l'appelle :clignote(5,1000); //la sortie 5 clignotera vite
clignote(3,250); //la sortie 3 clignotera lentement

Les structures de contrôle

Les structures de contrôle sont des blocs d'instructions qui s'exécutent en fonction du respect
d'un certain nombre de conditions.
Il existe quatre types de structure :
if...else : exécute un code si certaines conditions sont remplies et éventuellement exécutera un
autre code avec
sinon.exemple ://si la valeur du capteur depasse le seuil
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
while : exécute un code tant que certaines conditions sont remplies.
exemple :
//tant que la valeur du capteur est supérieure à 250
while(valeurCapteur>250){
//allume la sortie 5
digitalWrite(5,HIGH);
//envoi le message "0" au port serie
Serial.println(1);
//en boucle tant que valeurCapteur est supérieue à 250
Serial.println(0);
digitalWrite(5,LOW);
for : exécute un code pour un certain nombre de fois.
exemple :
//pour i de 0 à 255, par pas de 1
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
switch/case : fait un choix entre plusieurs codes parmi une liste de possibilitésexemple :// fait un choix parmi plusieurs messages reçus
switch (message) {
case 0: //si le message est "0"
//allume que la sortie 3
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
break;
case 1: //si le message est "1"
//allume que la sortie 4
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
break;
case 2: //si le message est "2"
//allume que la sortie 5
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
break;
}
ExempleL'exemple qui suit montre l'utilisation de quelques éléments de la syntaxe du langage Arduino./*
Dans ce programme, un signal analogique provenant d'un capteur (potentiomètre)
fait varier la vitesse de clignotement d'une LED, à partir d'un certain seuil
*/
////declaration des variables
// selection de la broche sur laquelle est connectée le capteur
int brocheCapteur = 0;
// selection de la broche sur laquelle est connectée la LED
int brocheLED = 13;
// variable stockant la valeur du signal reçu du capteur
int valeurCapteur = 0;
//seuil de déclenchement
int seuil= 200;
///////////initialisation
void setup () {
// broche du capteur configurée en sortie
pinMode (brocheCapteur, OUTPUT) ;
// broche de la LED configurée en sortie
pinMode (brocheLED, OUTPUT) ;
}/
///////////boucle principale
void loop () {
// lecture du signal du capteur
valeurCapteur = analogRead (brocheCapteur) ;
//condition de declenchement
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
}/
////fonction personnalisée de clignotement
void clignote(){
// allume la LED
digitalWrite (brocheLED, HIGH) ;
// délai de «valeurCapteur" millisecondes
delay (valeurCapteur) ;
// éteint la LED
digitalWrite (brocheLED, LOW) ;
// delai de «valeurCapteur" millisecondes
delay (valeurCapteur) ;
Le principe de fonctionnement est le suivant :

1. Le signal est lu avec la fonction « analogRead () ».
2. La valeur du signal varie en 0 et 1023.
3. Si la valeur dépasse le seuil, la LED est allumée et éteinte pendant un délai correspondant
à la valeur du signal reçu du capteur.












LES ACTIONNEURS

Les actionneurs sont des composants matériels qui, une fois correctement connectés à votre
carte Arduino, permettent d'agir sur le monde extérieur. Ceux-ci ont comme rôle de convertir
une valeur électrique en action physique. Il existe une infinité de types d'actionneurs différents
et certains sont plus ou moins faciles à utiliser avec Arduino. Comme pour les capteurs, il
existe une multitude de phénomènes physiques sur lesquels il est possible d'agir par le biais
d'actionneurs comme les moteurs électriques, électroaimants, lumières, LEDs, éléments
chauffants utilisés pour concevoir une multitude d'objets et applications comme des hautparleurs, valves hydrauliques et pneumatiques, ventilateurs, pompes, grille-pain, canon à photon
(un bon vieux téléviseur !), etc.

Beaucoup de machines et objets qui nous entourent comportent à la fois des capteurs et des
actionneurs. Ils sont tous basés sur les principes de base de l'électronique que nous avons vus
dans le chapitre précédent.
  



LES CAPTEURS

Les capteurs sont des composants matériels, qui une fois correctement connectés à votre
carte Arduino, peuvent fournir des informations sur le monde extérieur. Ceux-ci ont comme
rôle de saisir une grandeur physique et de la convertir en information numérique. Il est ainsi
possible de capter la plupart des phénomènes physiques comme le vent, la pression, la
température, la lumière, la torsion, la distance, etc. L'on peut classifier l'ensemble des capteurs
en trois familles suivant le type d'informations qu'ils renvoient.

Les capteurs logiques ou TOR

Ce type de capteur renvoie une information de type logique c'est-à-dire 0 ou 1. En d’autres
termes, la sortie peut prendre uniquement deux états. Par exemple, un clavier est une matrice
de capteurs logiques car chaque touche est un interrupteur (ou un contact) qui peut être soit
« ouvert » soit « fermé ».

Les capteurs analogiques

Ce type de capteur renvoie une valeur proportionnelle à la grandeur physique mesurée. Par
exemple une photorésistance (capteur de lumière) est un capteur qui convertit la luminosité en
valeur électrique. Il existe des capteurs analogiques qui renvoient une information linéaire et
d'autres dont la réponse suit une courbe différente. Par exemple, un potentiomètre linéaire
sera noté B (nomenclature japonaise) et A (nomenclature européenne) tandis qu'un
potentiomètre logarithmique sera noté A (nomenclature japonaise) et B (nomenclature
européenne).







Pour un capteur, une courbe linéaire signifie que la progression de sa valeur suit une
progression constante et régulière. Une courbe non linéaire appartient à une fonction plus
complexe dont la valeur ne progresse pas également dans le temps.






      



     L'utilisation d'un langage de programmation passe par l’apprentissage d'un vocabulaire et d'une
syntaxe précise. Dans ce chapitre, nous aborderons quelques unes de ces règles ainsi que
d'autres éléments à prendre en considération dans l'écriture d'un programme Arduino. Si
quelqu’un doit lire ou modifier votre code, vous pouvez lui faciliter la tâche en attachant une
attention particulière à sa structure et en y apposant des commentaires qui expliquent votre
logique. Bref, un code clair offre une meilleure lecture, qu'il s'agisse de modifier ses
configurations pour l’adapter à votre besoin ou de localiser une source d'une erreur.


CONVENTIONS DE NOMMAGE

La syntaxe d'un langage de programmation se base généralement sur une « convention de
nommage
1 ». Il est important de respecter cette nomenclature pour rester dans l'esthétique
du code.
Dans la déclaration des variables, il faut écrire les constantes en majuscule :
const int CAPTEUR = A0; // CAPTEUR est une constante.Pour les autres variables (int, char, etc.), les fonctions et les sous-routines seront en minuscule.
Dans le cas où ces variables ont des noms composés, le premier mot est en minuscule et les
autres commencent par une majuscule. Par exemple :
int bookSprint = 2011;Pour les sous-routines (voir explication plus bas), la règle est identique à celle des variables
composées. Par exemple :
afficherValeurCapteur ();Attention à ne pas omettre le point-virgule à la fin des instructions.

DÉCLARER SES VARIABLES

Le nom des éléments (capteurs, actionneurs, etc. ) utilisés dans un projet sont généralement
repris par les variables du programme qui fait fonctionner le dispositif. Cette pratique permet
de clarifier la fonction des différentes variables. Par exemple pour choisir une variable qui a
pour fonction de définir port sur lequel est connectée une LED, nous choisirons la variable
suivante :
int brocheLed = 13;

INDENTER SON CODE

Il est conseillé d'effectuer un retrait par rapport à la ligne précédente à chaque nouveau bloc
d'instructions. Les blocs d'instructions inscrits dans les fonctions et boucles sont délimités par
des accolades, l'une est ouvrante et l'autre fermante.
if (etatCaptation == 1) {
if (valeurCapteur >= seuil) {
analogWrite (pinLed, HIGH);}
}
L
e code ci-dessus n'est pas indenté. Après indentation, nous obtenons ceci :
if (etatCaptation == 1) {
if (valeurCapteur >= seuil) {
analogWrite (pinLed, HIGH);
}
}

Il est à noter qu'un code indenté est plus attrayant et lisible. C'est un aspect qui facilite la
recherche d'erreurs éventuelles qui pourraient se glisser dans le code.


FAIRE DES COMMENTAIRES

Il n'y a rien de plus embêtant qu'une instruction écrite dans un code et dont on a oublie l'utilité
quelques jours après. Les commentaires permettent de se retrouver dans son code. Ils
facilitent en outre la compréhension du code pour ceux qui en auront éventuellement besoin.
Ci-dessous, un commentaire sur plusieurs lignes explique le fonctionnement du programme.
/*TEXTE BRILLANT
Ce programme permet de piloter les LEDs à partir de certaines touches du clavier.
Principe:
Saisir les caractères dans le moniteur sériel de l'interface de programmation Arduino pour
allumer et éteindre les LEDs.
Saisir 'R' pour allumer la LED rouge,
Saisir 'J' pour allumer la LED jaune,
Saisir 'V' pour allumer la LED verte,
Saisir 'B' pour allumer la LED bleue,
Saisir 'E' pour éteindre les LEDs.
*/
Ci-dessous, une instruction suivie d'un commentaire explique l'instruction.digitalWrite(pinLed0, HIGH); // Allumer la LED connectée à pinLed0

LES SOUS-ROUTINES OU FONCTIONS

Quand votre code commence à tenir une place importante et que vous utilisez à plusieurs
reprises les mêmes blocs d'instructions, vous pouvez utiliser une sous-routine qui vous permet
de mieux organiser et d'alléger votre programme Les sous-routines doivent être écrites après
la boucle principale.


VÉRIFIER SON CODE

Les erreurs dans un code sont parfois subtiles à retrouver. Il est donc conseillé de compiler
régulièrement son code avec le bouton « Verify » ; les erreurs éventuelles apparaissent dans la
console.
 



Un programme Arduino comporte trois parties :





1. la partie déclaration des variables (optionnelle)
2. la partie initialisation et configuration des entrées/sorties : la fonction
setup ()3. la partie principale qui s'exécute en boucle : la fonction loop ()Dans chaque partie d'un programme sont utilisées différentes instructions issues de la syntaxe
du langage Arduino.


COLORATION SYNTAXIQUE :

Lorsque du code est écrit dans l'interface de programmation, certains mots apparaissent en
différentes couleurs qui clarifient le statut des différents éléments :


En orange, apparaissent les mots-clés reconnus par le langage Arduino comme des fonctionsexistantes. Lorsqu'on sélectionne un mot coloré en orange et qu'on effectue un clic avec le
bouton droit de la souris, l'on a la possibilité de choisir « Find in reference » : cette commande
ouvre directement la documentation de la fonction sélectionnée.
En
bleu, apparaissent les mots-clés reconnus par le langage Arduino comme des constantes.
En
gris, apparaissent les commentaires qui ne seront pas exécutés dans le programme. Il
est utile de bien commenter son code pour s'y retrouver facilement ou pour le transmettre à
d'autres personnes. L'on peut déclarer un commentaire de deux manières différentes :
dans une ligne de code, tout ce qui se trouve après «
// » sera un commentaire.
l'on peut encadrer des commentaires sur plusieurs lignes entre «
/* » et « */ ».

LA SYNTAXE DU LANGAGE

ponctuationLe code est structuré par une ponctuation stricte :toute ligne de code se termine par un point-virgule « ; »
le contenu d'une
fonction est délimité par des accolades « { » et « } »
les
paramètres d'une fonction sont contenus pas des parenthèses « ( » et « ) ».
Une erreur fréquente consiste à oublier un de ces éléments.
Les variablesUne variable est un espace réservé dans la mémoire de l'ordinateur. C'est comme un
compartiment dont la taille n'est adéquate que pour un seul type d'information. Elle est
caractérisée par un nom qui permet d'y accéder facilement.
Il existe différents types de variables identifiés par un mot-clé dont les principaux sont :
nombres entiers (int)
nombres à virgule flottante (float)
texte (String)
valeurs vrai/faux (boolean).
Un nombre à décimales, par exemple
3.14159, peut se stocker dans une variable de type float.
Notez que l'on utilise un point et non une virgule pour les nombres à décimales. Dans Arduino, il
est nécessaire de déclarer les variables pour leurs réserver un espace mémoire adéquat. On
déclare une variable en spécifiant son type, son nom puis en lui assignant une valeur initiale
(optionnel). Exemple :
int ma_variable = 45;
// int est le type, ma_variable le nom et = 45 assigne une valeur.
Les fonctionsUne fonction (également désignée sous le nom de procédure ou de sous-routine) est un bloc
d'instructions que l'on peut appeler à tout endroit du programme.
Le langage Arduino est constitué d'un certain nombre de fonctions, par exemple analogRead(),
digitalWrite() ou delay().
Il est possible de déclarer ses propres fonctions par exemple :
void clignote(){
digitalWrite (brocheLED, HIGH) ;
delay (1000) ;
digitalWrite (brocheLED, LOW) ;
delay (1000) ;
}
P
our exécuter cette fonction, il suffit de taper la commande :
 
clignote();On peut faire intervenir un ou des paramètres dans une fonction :void clignote(int broche,int vitesse){
digitalWrite (broche, HIGH) ;
delay (1000/vitesse) ;
digitalWrite (broche, LOW) ;
delay (1000/vitesse) ;
}
D
ans ce cas, l'on peut moduler leurs valeurs depuis la commande qui l'appelle :
clignote(5,1000); //la sortie 5 clignotera vite
clignote(3,250); //la sortie 3 clignotera lentement
Les structures de contrôleLes structures de contrôle sont des blocs d'instructions qui s'exécutent en fonction du respect
d'un certain nombre de conditions.
Il existe quatre types de structure :
if...else : exécute un code si certaines conditions sont remplies et éventuellement exécutera un
autre code avec
sinon.exemple ://si la valeur du capteur depasse le seuil
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
w
hile
: exécute un code tant que certaines conditions sont remplies.
exemple :
//tant que la valeur du capteur est supérieure à 250
while(valeurCapteur>250){
//allume la sortie 5
digitalWrite(5,HIGH);
//envoi le message "0" au port serie
Serial.println(1);
//en boucle tant que valeurCapteur est supérieue à 250
} S
erial.println(0);
digitalWrite(5,LOW);
for : exécute un code pour un certain nombre de fois.
exemple :
//pour i de 0 à 255, par pas de 1
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
s
witch/case
: fait un choix entre plusieurs codes parmi une liste de possibilitésexemple :// fait un choix parmi plusieurs messages reçus
switch (message) {
case 0: //si le message est "0"
//allume que la sortie 3
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
break;
case 1: //si le message est "1"
//allume que la sortie 4
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);

break;
case 2: //si le message est "2"
//allume que la sortie 5
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
break;
}
ExempleL'exemple qui suit montre l'utilisation de quelques éléments de la syntaxe du langage Arduino./*
Dans ce programme, un signal analogique provenant d'un capteur (potentiomètre)
fait varier la vitesse de clignotement d'une LED, à partir d'un certain seuil
*/
////declaration des variables
// selection de la broche sur laquelle est connectée le capteur
int brocheCapteur = 0;
// selection de la broche sur laquelle est connectée la LED
int brocheLED = 13;
// variable stockant la valeur du signal reçu du capteur
int valeurCapteur = 0;
//seuil de déclenchement
int seuil= 200;
///////////initialisation
void setup () {
// broche du capteur configurée en sortie
pinMode (brocheCapteur, OUTPUT) ;
// broche de la LED configurée en sortie
pinMode (brocheLED, OUTPUT) ;
}/
///////////boucle principale
void loop () {
// lecture du signal du capteur
valeurCapteur = analogRead (brocheCapteur) ;
//condition de declenchement
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
}/
////fonction personnalisée de clignotement
void clignote(){
// allume la LED
digitalWrite (brocheLED, HIGH) ;
// délai de «valeurCapteur" millisecondes
delay (valeurCapteur) ;
// éteint la LED
digitalWrite (brocheLED, LOW) ;
// delai de «valeurCapteur" millisecondes
delay (valeurCapteur) ;
}
Le principe de fonctionnement est le suivant :
1. Le signal est lu avec la fonction « analogRead () ».
2. La valeur du signal varie en 0 et 1023.
3. Si la valeur dépasse le seuil, la LED est allumée et éteinte pendant un délai correspondant
à la valeur du signal reçu du capteur.

 




LES COMPOSANTS :

Les composants sont des éléments de base en électronique qui, une fois assemblés,
constitueront un circuit électronique. Chacun de ces éléments a un comportement bien
particulier, dépendant de ses caractéristiques et de ses conditions d'utilisation. Pour le choix et
le dimensionnement des composants les plus complexes, il est utile de consulter leur fiche
technique (« datasheet » en anglais)





      


     Ces deux abréviations ne représentent pas seulement un groupe de rock. Un courant
électrique DC, parfois noté CC, signifie
« Direct Current » en anglais soit « Courant
Continu »
.C'est un courant qui ne varie pas dans le temps. Il peut être généré par une pile, une
batterie ou un circuit d'alimentation qui redresse un courant alternatif.Le courant DC est le
type de courant habituellement utilisé en électronique. Par exemple, votre carte Arduino est
alimentée par ce courant.


     Le courant AC signifie « Alternating Current » ou « Courant Alternatif ». Il s'agit d'un
courant qui change de direction continuellement. Il peut être périodique, c'est-à-dire que sa
fréquence est constante. La forme la plus utilisée est le courant sinusoïdal. Il est caractérisé par
sa
fréquence notée f et exprimée en Hertz, qui correspond au nombre d'aller-retour par
seconde. Dans certains calculs, il peut arriver que l'on ait besoin de sa pulsation souvent notée
oméga minuscule (w) = 2 x PI x f. Le courant électrique utilisé à la maison est AC.










      Un circuit est un ensemble de composants électriques.Bien que cela semble contre-intuitif à
première vue, on dira qu'il est « fermé » lorsqu'il y a continuité dans les connexions qui lient les
composants entre eux. Un circuit « ouvert » comporte une discontinuité dans les connexions.
Autrement dit, lorsque le circuit est fermé, le courant passe, et lorsqu'il est ouvert, il ne passe
pas.
Lorsqu'on désigne un circuit comme étant
en série, cela signifie que les éléments sont
connectés les uns à la suite des autres, sur une même branche
. Dans ce cas les valeurs de
résistance vont s'additionner.
Dans un
circuit en parallèle, les éléments sont situés chacun sur des branches indépendantes Dans ce cas, les résistances sont situées à altitude égale et donc soumises à la même
tension (voltage). Dans ce cas, le courant se partage dans chacune des branche.




    




 La tension et le potentiel sont exprimés en Volts (notée V ou souvent U). La source
d'alimentation électrique d'un circuit (une pile, par exemple) est une source de tension.


       On mesure toujours une altitude
par rapport à une référence. En électricité, on place
souvent cette référence au
(-) de l'alimentation . Dans les schémas électroniques, cette référence correspond souvent à la « masse ». Lorsqu'on interconnecte deux circuits alimentés différemment, il est indispensable de leur donner la même référence. 




L'électricité est une forme d'énergie comme les énergies éolienne ou hydraulique. Cette énergie
électrique peut se résumer par : mouvements des électrons entre les atomes. Par exemple, en
frottant un ballon sur certains vêtements, comme un chandail, des électrons sont échangés
entre les atomes du ballon et ceux du chandail. Le ballon se charge ainsi négativement en
captant les électrons du vêtement : nous nommons ceci « l'électricité statique ». L'électricité
devient « dynamique » si l'on décharge graduellement le ballon en le laissant « coller » à un mur
où à des cheveux.







Pour bien comprendre les éléments de mesure de base de l'électricité, il est pratique d'utiliser
l'analogie d'un système hydraulique. Imaginez un système hydraulique composé de deux
réservoirs d'eau connectés ensemble via un réseau de tubes.









Logiciel de programmation pour Arduino:

L'environnement de programmation Arduino (IDE en anglais) est une application écrite en Java
inspirée du langage Processing
. L'IDE permet d'écrire, de modifier un programme et de le
convertir en une série d'instructions compréhensibles pour la carte.
 

Télécharger le logiciel de programmation dan le lien ci-dessous.

Taille : 159 Mb












Formation en Arduino :



Circuit Avec Programme :











Composants:
-----------------
-LED
-220 ohm resistance
Code :
------------------

void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
(HIGH is the voltage level)
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
 }














Il faut prendre en compte les actions mécaniques extérieures, les poids et bien sûr les forces d’inertie dues à l’accélération de démarrage. Pour des applications standard, on prend une valeur de a = 5 m/s2. Dans le cas de mouvements rapides (v > 1 m/s), on peut prendre jusqu’à 10 m/s2.
Le tableau 1 fait le récapitulatif des différents cas en fonction de l’orientation de montage du vérin.







Lemoine Guillaume

{picture#https://scontent-mad1-1.xx.fbcdn.net/v/t1.0-1/p160x160/17903661_111880499363100_5265795833416112990_n.jpg?oh=2ad8b3d9277893e933e893e43e1415d0&oe=594F5DDE} je m’appelle Lemoine Guillaume, Je travaille dans le domaine de l’électricité et je suis l’auteur de ce blog. {facebook#https://web.facebook.com/profile.php?id=100016234519379}

Formulaire de contact

Nom

E-mail *

Message *

Fourni par Blogger.