Clignotement aléatoire de 3 LED avec Arduino : Différence entre versions

De L'abscisse - FabLab et Hackerspace de Dijon
Aller à : navigation, rechercher
m (Présentation)
m
 
Ligne 99 : Ligne 99 :
 
{{CC-BY-SA France}}  
 
{{CC-BY-SA France}}  
  
[[Catégorie:Électronique/HackLab]] [[Catégorie:Arduino]] [[Catégorie:Fablab_Enfants/Fablab_Kids]] [[Catégorie:Arduino pas à pas]]
+
[[Catégorie:Électronique/HackLab]] [[Catégorie:Arduino]] [[Catégorie:Fablab_Jeunesse/Fablab Youth]] [[Catégorie:Arduino pas à pas]]

Version actuelle datée du 11 février 2020 à 14:47

Faire clignoter aléatoirement plusieurs LED.

Présentation

Voici un montage qui permet de faire clignoter de manière aléatoire 3 LED. Utilisation de la fonction existante random() et création de 2 fonctions personnalisées.

Coût

Faible

Niveau de difficulté

Vert.png

Outillage nécessaire

  • Arduino

Composants nécessaires

  • 3 résistance de 1kΩ
  • 1 LED verte
  • 1 LED jaune
  • 1 LED rouge
  • des fils de connexion

Schémas

Feu tricolore schéma.png
Feu tricolore bb.png

Code source

https://gitlab.com/coagul/arduino/tree/master/beginner/_001_allumage_aleatoire_de_3_LED

/*
  Clignotement aléatoire de 3 LED
  
  Câblage :

  La broche 13 est reliée à la LED verte (LED → la résistance → GND)
  La broche 12 est reliée à la LED orange (LED → la résistance → GND)
  La broche 11 est reliée à la LED verte (LED → la résistance → GND)

*/

// déclare 3 variables nommées verte, orange, rouge de type entier
// permet de faire référence aux différentes broches de sortie dans le programme
int verte = 13;
int orange = 12;
int rouge = 11;
// déclare 2 variables de stockage
int randDelai;
int randEtat;

// le setup regroupe les instructions qui seront exécutées au démarrage du programme y compris quand on presse le bouton reset
void setup() {                
  // on initialise les 3 broches de l'Arduino en tant que sortie
  pinMode(verte, OUTPUT);
  pinMode(orange, OUTPUT);
  pinMode(rouge, OUTPUT);
}

// fonction de tirage aléatoire pour la valeur donnée au délai
int attente() {
        randDelai = random(20, 150);
        return (randDelai);
}

// fonction de tirage aléatoire pour la valeur de l'état d'une sortie
int etat() {
        randEtat = random(0, 2);
        return (randEtat);
}

// contient les instructions que l'on souhaite voir exécutées encore et encore tant que l'Arduino est alimenté
void loop() {
  digitalWrite(orange, etat());   // allumer la LED orange avec la valeur retournée par la fonction etat()
  delay(attente());               // delai avec la valeur retournée par la fonction attente()
  digitalWrite(rouge, etat());
  delay(attente());
  digitalWrite(verte, etat());
}

Liens

Fichiers liés au montage
https://gitlab.com/coagul/arduino/tree/master/beginner/_001_allumage_aleatoire_de_3_LED

Auteurs

Licence de la page

Attribution - Partage dans les Mêmes Conditions 3.0 non transposé (CC BY-SA 3.0)

Vous êtes libre de :

  • partager — reproduire, distribuer et communiquer l’œuvre
  • remixer — adapter l’œuvre
  • d’utiliser cette œuvre à des fins commerciales

Selon les conditions suivantes :

  • Attribution — Vous devez attribuer l’œuvre de la manière indiquée par l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre).
  • Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci.

http://creativecommons.org/licenses/by-sa/3.0/deed.fr