Tutoriel Arduino Blink programme
La LED 'L'
L'Arduino a des rangées de connecteurs des deux côtés qui sont utilisés pour se connecter à des appareils électroniques et des `` blindages '' enfichables qui permettent à l'Arduino d'en faire plus.
Cependant, l'Arduino a également une seule LED que vous pouvez contrôler à partir de vos croquis. Cette LED est construite sur la carte Arduino et est souvent appelée LED `` L '' car c'est ainsi qu'elle est étiquetée sur la carte.
La position de cette LED est encerclée en rouge sur les photos de l'Arduino Uno et Leonardo ci-dessous.
Chargement de l'exemple "Blink"
Vous pouvez constater que la LED `` L '' de votre carte Arduino clignote déjà lorsque vous la connectez à une prise USB. En effet, les cartes Arduino sont généralement livrées avec l'esquisse `` Blink '' préinstallée.
Dans cette leçon, nous allons reprogrammer l'Arduino avec notre propre croquis Blink, puis changer la fréquence à laquelle il clignote.
Dans la leçon 0, vous avez configuré votre IDE Arduino et vous êtes assuré que vous pouviez trouver le bon port série pour qu'il se connecte à votre carte Arduino. Le moment est maintenant venu de tester cette connexion et de programmer votre carte Arduino.
L'IDE Arduino comprend une grande collection d'exemples d'esquisses que vous pouvez charger et utiliser. Cela comprend un exemple d'esquisse pour faire clignoter la LED «L».
Chargez l'esquisse `` Blink '' que vous trouverez dans le système de menus de l'EDI sous Fichier → Exemples → 01.
Lorsque la fenêtre d'esquisse s'ouvre, agrandissez-la afin de voir l'intégralité de l'esquisse dans la fenêtre.
Les exemples d'esquisses inclus avec l'IDE Arduino sont en lecture seule. Autrement dit, vous pouvez les télécharger sur une carte Arduino, mais si vous les modifiez, vous ne pouvez pas les enregistrer sous le même fichier.
Nous allons modifier ce croquis, donc la première chose que vous devez faire est d'enregistrer votre propre copie que vous pouvez modifier comme bon vous semble.
Dans le menu Fichier de l'IDE Arduino, sélectionnez l'option «Enregistrer sous ..» puis enregistrez l'esquisse sous le nom «MyBlink».
Vous avez enregistré votre copie de "Blink" dans votre carnet de croquis. Cela signifie que si vous souhaitez le retrouver, vous pouvez simplement l'ouvrir en utilisant l'option de menu Fichier → Carnet de croquis.
Téléchargement de Blink sur le forum
Connectez votre carte Arduino à votre ordinateur avec le câble USB et vérifiez que le «Type de carte» et le «Port série» sont correctement définis. Vous devrez peut-être vous référer à la leçon 0.
L'IDE Arduino vous montrera les paramètres actuels de la carte en bas de la fenêtre.
Cliquez sur le bouton «Télécharger». Le deuxième bouton de gauche sur la barre d'outils.
Si vous regardez la zone d'état de l'EDI, vous verrez une barre de progression et une série de messages. Au début, il dira «Compilation du croquis ..». Cela convertit l'esquisse dans un format adapté au téléchargement sur le tableau.
Ensuite, le statut passera à «Téléchargement». À ce stade, les LED de l'Arduino devraient commencer à clignoter lors du transfert de l'esquisse.
Enfin, le staus passera à «Terminé».
L'autre message nous indique que l'esquisse utilise 1084 octets sur les 32256 octets disponibles.
Étape Sketch .., vous pouvez obtenir le message d'erreur suivant:
L'indice est en haut ici, cela signifie probablement que votre carte n'est pas connectée du tout, ou que les pilotes n'ont pas été installés (si nécessaire) ou que le mauvais port série est sélectionné.
Si vous obtenez cela, revenez à la leçon 0 et vérifiez votre installation.
Une fois le téléchargement terminé, la carte doit redémarrer et commencer à clignoter.
Fonctionnement de «Blink»
Voici le code de l'esquisse Blink.
/ *
Cligner
Allume une LED pendant une seconde, puis s'éteint pendant une seconde, à plusieurs reprises.
Cet exemple de code est dans le domaine public.
* /
// La broche 13 a une LED connectée sur la plupart des cartes Arduino.
// lui donne un nom: int led = 13;
// la routine d'installation s'exécute une fois lorsque vous appuyez sur reset: void setup () {
// initialise la broche numérique en sortie.
pinMode (led, SORTIE); }
// la routine de boucle se répète indéfiniment:
boucle vide () {
digitalWrite (led, HIGH); // allume la LED (HIGH est le niveau de tension) delay (1000); // attend une seconde digitalWrite (led, LOW); // éteint la LED en retardant la tension (1000); // attend une seconde
}
La première chose à noter est qu'une grande partie de ce croquis est ce qu'on appelle des «commentaires». Les commentaires ne sont pas de véritables instructions du programme, ce ne sont que des commentaires sur le fonctionnement du programme. Ils sont là pour notre bénéfice, de sorte qu'il y a une explication pour accompagner le croquis.
Tout ce qui se trouve entre / * et * / en haut de l'esquisse est un commentaire de bloc, qui explique à quoi sert l'esquisse.
Il existe également des commentaires sur une seule ligne qui commencent par // et tout ce qui se trouve jusqu'à la fin de la ligne compte comme un commentaire.
La première ligne de code réelle est:
int led = 13;
Comme l'explique le commentaire ci-dessus, cela donne un nom à la broche à laquelle la LED est attachée. C'est 13 sur la plupart des Arduinos, y compris l'Uno et Leonardo.
Ensuite, nous avons la fonction «setup». Encore une fois, comme le dit le commentaire, cela s'exécute lorsque le bouton de réinitialisation est enfoncé. Il est également exécuté chaque fois que la carte est réinitialisée pour une raison quelconque, telle que la première alimentation qui lui est appliquée, ou après le téléchargement d'un croquis.
void setup() {
// initialise la broche numérique en sortie.
pinMode (led, SORTIE); }
Chaque croquis Arduino doit avoir une fonction de «configuration», et la partie de celui-ci où vous voudrez peut-être ajouter vos propres instructions se situe entre le {et le}.
Dans ce cas, il n'y a qu'une seule commande, qui, comme l'indique le commentaire, indique à la carte Arduino que nous allons utiliser la broche LED comme sortie.
Il est également obligatoire pour un croquis d'avoir une fonction de «boucle». Contrairement à la fonction 'setup' qui ne s'exécute qu'une seule fois, après une réinitialisation, la fonction 'loop' redémarre immédiatement après avoir terminé d'exécuter ses commandes.
boucle vide () {
digitalWrite (led, HIGH); // allume la LED (HIGH est le niveau de tension) delay (1000); // attend une seconde
digitalWrite (led, LOW); // éteint la LED en retardant la tension (1000); // attend une seconde}
À l'intérieur de la fonction de boucle, les commandes allument tout d'abord la broche LED (HIGH), puis 'retardent' pendant 1000 millisecondes (1 seconde), puis éteignent la broche LED et font une pause d'une seconde.
Clignotement plus rapide
Vous allez maintenant faire clignoter votre LED, vous l'avez peut-être deviné, la clé de cela réside dans la modification du paramètre dans () pour la commande 'delay'.
Cette période de retard est en millisecondes, et donc si vous voulez que la LED clignote deux fois plus vite, changez la valeur de 1000 à 500. Cela ferait alors une pause d'une demi-seconde à chaque retard plutôt qu'une seconde entière.
Téléchargez à nouveau l'esquisse et vous devriez voir la LED commencer à clignoter plus rapidement.
Essayez de modifier à nouveau le retard pour accélérer le clignotement en utilisant 100 comme paramètre pour «retarder».
... ... ...
Le Blink
Voici le premier programme que nous allons expérimenter ensemble ! Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.
Codecast
Pour lancer le Codecast, appuyez sur le bouton lecture et laissez vous guider ! N'oubliez pas que vous pouvez appuyer sur le bouton pause à tout moment pour arrêter le Codecast et
revenir en arrière avec la barre de temps bleue
Attention, c'est à vous !
Vous rencontrez des difficultés d'affichage, cliquez ici pour prendre connaissance du codecast
Arduino ou simulateur
Lorsque vous utilisez le logiciel Arduino, le programme Blink peut être trouvé en cliquant sur
Fichier?Exemples?01.Basics?Blink. Pour le simulateur, vous pouvez copier-coller le code présent ci-dessous :
/*
Clignotement
Allume la LED 13 pendant 1 seconde,
puis l'éteint pendant 1 seconde.
*/
// On stocke la valeur 13 dans la variable "led", pour indiquer que la led se
trouve sur la broche 13
// La variable "led" est un nombre entier (integer in english)
int led = 13;
// le code dans cette fonction est exécuté une fois au début
void setup() {
// indique que la broche de la LED 13 est une sortie :
pinMode(led, OUTPUT);
}
// le code dans cette fonction est exécuté en boucle
void loop() {
digitalWrite(led, HIGH); // allumer la LED (tension 5V sur la broche)
delay(1000); // attendre 1000ms = 1s
digitalWrite(led, LOW); // éteindre la LED (tension 0V sur la broche)
delay(1000); // attendre à nouveau 1 seconde
}
Montage
Plusieurs personnes sur le forum nous ont indiqué qu'elles aimeraient avoir le montage à
réaliser sur cette page. Le voici :
N'oubliez pas que les LEDs ont un sens donc si votre Arduino contient le programme Blink
et que la LED qui est branchée comme sur le schéma ci-dessus alors vérifiez que la patte -
(moins) est bien connectée au GND (ground = masse en anglais) de votre Arduino. Moyen
mnémotechnique, la patte la moins longue est la patte - (moins). L'autre patte + (plus) devra
être connectée à la broche 13 qui reçoit le courant :
Instructions
À la fin de chaque programme, nous détaillerons les nouvelles briques logicielles utilisées.
Comme c'est notre premier programme, nous avons beaucoup de choses à voir (n'hésitez pas à
cliquer sur les liens ci-dessous afin d'arriver sur la référence Arduino).
Dans ce programme, nous avons :
? Des commentaires : qui sont des lignes de texte incluses dans le programme et qui ont
pour but de vous aider à comprendre (ou à vous rappeler) comment votre programme
fonctionne ou d'en informer les autres. Ces lignes ne sont pas envoyées à Arduino. Il y
a deux façons de créer des lignes de commentaires :
/*
Voici des
commentaires sur
plusieurs ligne
*/
// Ceci est également un commentaire
? Des instructions :
? Déclaration d'une: on vient avec cette ligne stocker la valeur à
droite du signe égal dans la variable à gauche du signe égal.
int led = 13;
Dans notre cas, cela signifie que appelée led qui sera un nombre (puisque elle est
précédée du mot clé int pour integer = nombre entier en anglais) viendra prendre la valeur 13.
? Les blocs d'instructions (mise en place) regroupe toutes les instructions qui seront exécutées au démarrage du programme. La fonction n'est exécutée qu'une seule fois, après chaque mise sous tension ou reset (réinitialisation) de la carte A (boucle en anglais) contient les instructions que l'on souhaite voir exécuter encore et encore tant que l'Arduino
est branché.
Les 2 blocs d'instructionsetsont obligatoires dans tout programme Arduino, même si ces blocs sont vides (ie, même si ces blocs ne contiennent aucune instruction).
void setup() { }
void loop() { }
? Les fonctions : sont des instructions qui permettent d'exécuter une ou plusieurs
actions.
Les fonctions sont définies avec :
o Un nom : le nom de la fonction.
o Une ou des entrées : ce sont des variables passées à la fonction appelées paramètres ou arguments. Ces arguments sont placés entre parenthèses.
o Une sortie : le résultat de la fonction qui peut être stocké dans une variable.
Prenons l'exemple de la fonction suivante :
digitalWrite(led, HIGH);
Dans ce cas, le nom de la fonction est digitalWrite. Nous passons deux paramètres à la
fonction : led et HIGH. La fonction digitalWrite n'a pas de sortie. Avec cette fonction, nous
allumons la broche située sur la broche passée avec le premier paramètre (qui peut être un
nombre ou une variable). Lorsque le second argument est placé à HIGH, on vient allumer la LED. Tandis qu'on éteindra la LED si le second argument passé est LOW.
Les autres fonctions présentes dans le programme Blink sont :
? pinMode configure la broche spécifiée dans le premier paramètre pour qu'elle se
comporte soit en entrée (INPUT), soit en sortie (OUTPUT) passée avec le second
paramètre :
pinMode(led, OUTPUT);
? delay fait une pause dans l'exécution du programme pour la durée (en millisecondes)
passée en paramètre :
delay(1000);