start:arduino:des-electronique
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| start:arduino:des-electronique [2019/05/26 15:47] – gerardadmin | start:arduino:des-electronique [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ======= Des Electronique ======= | ||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | |||
| + | <code c deslectronique.ino> | ||
| + | |||
| + | //La constante ECART permet de régler la sensibilité du dispositif : | ||
| + | // il faut une différence de valeur de luminosité supérieure à ECART pour | ||
| + | // | ||
| + | |||
| + | const int ECART=100; | ||
| + | const int TEMPO=2000; | ||
| + | |||
| + | //La fonction setup est exécutée une fois au démarrage du module. | ||
| + | |||
| + | void setup(){ | ||
| + | |||
| + | / | ||
| + | La valeur au hasard est obtenue en lisant la valeur sur la broche analogique 1 : cette broche | ||
| + | n' | ||
| + | fluctue aléatoirement. Si on ne fait pas cela l' | ||
| + | toujours la même séquence de nombres à chaque redémarrage du module Arduino. | ||
| + | */ | ||
| + | randomSeed(analogRead(1)); | ||
| + | |||
| + | //Les broches sur lesquelles sont branchées les LED sont mises en mode OUTPUT. | ||
| + | |||
| + | for(int i=2; | ||
| + | pinMode(i, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | //La fonction loop est exécutée en boucle. | ||
| + | |||
| + | void loop(){ | ||
| + | |||
| + | //On capte 2 valeurs de luminosité à 100 ms d' | ||
| + | |||
| + | int luminosite1=analogRead(0); | ||
| + | delay(100); | ||
| + | int luminosite2=analogRead(0); | ||
| + | |||
| + | /*Ce test permet de déclencher le dé si la différence de luminosité entre les deux valeurs captées est supérieure à ECART. | ||
| + | Cela se produit lorsque luminosite2 est supérieur à luminosite1 de plus de ECART, donc lorsque le capteur passe de l' | ||
| + | à la lumière de façon significative. | ||
| + | |||
| + | */ | ||
| + | |||
| + | if(luminosite2-luminosite1> | ||
| + | |||
| + | //On affiche sur les LED un nombre au hasard entre 1 et 6. | ||
| + | |||
| + | //Note : l' | ||
| + | // | ||
| + | //avoir un nombre au hasard entre 1 et 6. | ||
| + | |||
| + | | ||
| + | afficheDe(random(1, | ||
| + | |||
| + | //Les LED restent allumées durant TEMPO ms puis le dé s' | ||
| + | |||
| + | delay(TEMPO); | ||
| + | eteintDe(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | /*Le rôle de cette fonction est d' | ||
| + | La mise en HIGH des bornes est effectuée selon le schéma de montage des LED sur les bornes | ||
| + | 2 à 8 du module Arduino.*/ | ||
| + | |||
| + | void afficheDe(int nombre){ | ||
| + | |||
| + | if(nombre==1){ | ||
| + | digitalWrite(5, | ||
| + | } | ||
| + | |||
| + | if(nombre==2){ | ||
| + | digitalWrite(2, | ||
| + | digitalWrite(8, | ||
| + | } | ||
| + | |||
| + | if(nombre==3){ | ||
| + | digitalWrite(2, | ||
| + | digitalWrite(5, | ||
| + | digitalWrite(8, | ||
| + | } | ||
| + | |||
| + | if(nombre==4){ | ||
| + | digitalWrite(2, | ||
| + | digitalWrite(4, | ||
| + | digitalWrite(6, | ||
| + | digitalWrite(8, | ||
| + | } | ||
| + | if(nombre==5){ | ||
| + | digitalWrite(2, | ||
| + | digitalWrite(4, | ||
| + | digitalWrite(6, | ||
| + | digitalWrite(8, | ||
| + | digitalWrite(5, | ||
| + | } | ||
| + | |||
| + | if(nombre==6){ | ||
| + | digitalWrite(2, | ||
| + | digitalWrite(3, | ||
| + | digitalWrite(4, | ||
| + | digitalWrite(6, | ||
| + | digitalWrite(7, | ||
| + | digitalWrite(8, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | //Dans cette fonction toutes les LED utilisées pour le dé sont éteintes. | ||
| + | |||
| + | void eteintDe(){ | ||
| + | for(int i=2; | ||
| + | digitalWrite(i, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | //Licence Creative Commons | ||
| + | </ | ||
