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édenteProchaine révision | Révision précédente | ||
start:arduino:des-electronique [2019/05/26 15:45] – 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 | ||
+ | </ |