< Kidule Dé
fin de la boite de navigation du chapitre

Dans un programme, il faut pouvoir gérer le temps: c’est utile pour faire clignoter ou avancer quelque chose.

En fait, le processeur PIC, bien que petit, fait déjà beaucoup de choses à la seconde. Par exemple, il peut faire le programme des exercices précédents plusieurs milliers de fois par seconde.

Alors comment faire si on veut faire clignoter lentement une Led?

Une bonne solution est de compter combien de fois on exécute la fonction loop() et d’agir en conséquence

#include "hardwareDe.h" 

long compteur=0;

void loop()
{ 
   compteur++;
   if (compteur==500000){
      Led0 = !Led0;
      compteur=0;
   }
}
Déclaration de variable

Jusqu'à présent, on a utilisé des variables déjà définies (Led0 par exemple). Une déclaration de variable commence par le type de la variable. Ce qui existe qui est utile pour nous:

  • byte c’est un nombre entre 0 et 255. C'est en fait ce que le PIC peut mettre dans une case de sa mémoire et il est capable de faire des calculs simples en un coup avec des bytes. Lorsque l’on a pas besoin de plus, c’est bien de demander qu'un byte.
  • int un nombre qui va de −32 768 à 32 767, cela convient bien pour beaucoup de choses, mais c’est plus compliqué pour le PIC, il doit faire plusieurs instructions pour y arriver et cela lui prend 2 cases mémoires pour mettre cette variable.
  • long un grand nombre qui va de −2 147 483 648 à 2 147 483 647. Mais il faut 4 cases mémoires est plusieurs instructions pour chaque calculs pour un PIC. (par contre pour un PC moderne, il fait n’importe quel calcul en un seul coup avec des nombres comme ceux-là).

ensuite on donne le nom de la variable:

  • doit commencer par une lettre (ou _)
  • suivi de chiffres ou de lettres ou _

Si on veut, on peut encore lui donner quelle valeur on veut mettre au début en écrivant = valeur

Et on termine par ; comme n’importe quelle instruction

++

En C, on peut écrire ++ derrière une variable pour lui dire d'ajouter 1 au contenu de cette variable. On aurait aussi pu écrire

compteur=compteur+1;

et on oublie pas le ; pour terminer

!

En C, le ! veut dire "pas" : si Led0 vaut Allume alors !Led0 vaut Eteint (et inversement). C'est bien pratique pour faire clignoter.

Exercice 1

Fait clignoter la Led0 5 fois plus vite

Exercice 2

Fait que la Led0 ne clignote que si tu presses sur le Poussoir

Suite

Avec cela, tu es prêt pour faire une Première version d'un petit chenillard

Tu peux aussi aller directement à la leçon Kidule Ascenseur si tu préfères voir quelque chose qui bouge à quelque chose qui clignote et fait du bruit

Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.