Apprendre à programmer avec Arduino - Intensité d'une LED
Arduino, vous en avez probablement déjà entendu parler?
Ce microcontrôleur est utilisé dans le monde des Makers pour créer des projets très variés.
Vous avez envie de vous lancer, sans savoir par où commencer?
Je vous propose de découvrir les bases de la programmation avec Arduino d'une manière simple. Je ne ferai pas un cours descriptif sur ce micro contrôleur. Il existe de nombreux ouvrages spécialisés qui le font très bien.
Je vais essayer d’être synthétique, d’aller à l’essentiel, pour démarrer doucement et sans prise de tête. Comme avec mes élèves.
Petit à petit vous allez découvrir des composants et le langage pour les contrôler.
Comme des briques, ces éléments vont venir s'emboîter pour enrichir vos connaissances afin que vous puissiez aller vers des projets plus complexes.
Je vais essayer d’être synthétique, d’aller à l’essentiel, pour démarrer doucement et sans prise de tête. Comme avec mes élèves.
Petit à petit vous allez découvrir des composants et le langage pour les contrôler.
Comme des briques, ces éléments vont venir s'emboîter pour enrichir vos connaissances afin que vous puissiez aller vers des projets plus complexes.
Troisième épisode
Comment faire varier l’intensité d’une LED, comme avec les
anciennes lampes halogènes ? Cet exemple va vous permettre de découvrir
les broches PWM de l’Arduino.
Un peu d’électronique
La carte Arduino est pourvue de deux types de broches : les entrées et les sorties numériques (digital) et des entrées analogiques (analog).
Les broches digitales reçoivent ou émettent des valeurs
binaires (0 ou 1).
- Une valeur 0, cela signifie que la broche ne génère pas de signal (LOW). Ce qui se traduit par une tension de 0 V à sa sortie.
- Une valeur 1 signifie que la broche génère un signal (HIGH). Ce qui se traduit par une tension de 5V à sa sortie.
Les broches digitales sont au nombre de 13 notées de 1 à 13.
Le numéro de six de ces broches est précédé du symbole (~). Il s’agit de
broches de type PWM.
PWM en anglais Pulse Width Modulation ou Modulation à
largeur d’Impulsion, en français.
L’impulsion, la tension qui est donnée à la
broche (qui est transmise au composant) peut être modulée avec des valeurs comprises
entre 0 et 255.
Pour une valeur de 255, la LED reçoit en continu une tension
de 5V. L’Arduino génère un signal carré. Lorsque la valeur est diminuée, la
tension oscille entre 5V et 0V sur des temps plus ou moins longs. Ce qui donne
l’effet d’un changement d’intensité.
« Le PWM est un signal de fréquence fixe qui a un
rapport cyclique qui varie avec le temps suivant les ordres qu’elle reçoit. »
Source Arduino.cc |
Branchement
Code 1
Ce premier programme consiste à augmenter progressivement
l’intensité de la LED.
Structure du code
Ce programme présente deux nouvelles structures, une boucle et une instruction, positionnées dans la boucle de répétition.
Syntaxe
for
(initialisation ; conditions ; incrémentation) ;
{
}
for = est une boucle utilisée pour répéter une instruction, ou un bloc d’instructions, regroupées entre des accolades.
L’entête d’une
boucle for est constituée de trois parties :
- Initialisation : la variable i est initialisée à 0
- Condition : la condition est vraie tant que la valeur de i est plus petite que la valeur 255 (intensité maximale)
- Incrémentation : à chaque lecture de la boucle, la variable i est incrémentée de 1 (++)
for (int i=0; i<255;i++) // le programme teste en permanence la condition
et incrémente la variable i. Lorsque la condition renvoie Faux, l’exécution de
la boucle est arrêtée.
Syntaxe
analogWrite(broche, valeur);
analogWrite = génère une impulsion sur une broche définie
analogWrite(broche, valeur);
analogWrite = génère une impulsion sur une broche définie
L'instruction analogWrite est constitué de deux paramètres à définir :
- La broche : concernée par cette impulsion
- La valeur de l'impulsion envoyé sur la broche
Code 2
Ce deuxième programme consiste à augmenter progressivement l’intensité de la LED. Puis à la diminuer.Une fiche synthétique est disponible sur mon Padlet.
#defiArduino
Programmez deux boutons :
- Le 1er pour allumer progressivement la LED
- Le 2ème pour éteindre progressivement la LED
Commentaires
Enregistrer un commentaire