Maintenir une LED allumée avec un bouton poussoir
Cette pratique consiste à allumer et éteindre 4 LEDs de manière séquentielle en appuyant sur un bouton poussoir. Le bouton poussoir doit être connecté à la broche 4, et les LED aux broches 5, 6, 7 et 8. Les LED doivent être allumées puis éteintes de la broche 5 à la broche 8 avec une durée de 200 ms. Voici le code que nous utilisons : int cadenaleds[]={5,6,7,8};int pushbutton=4;int time=200;int n=0;void setup() {for(n=0;n<4;n++) {pinMode (cadenaleds[n],OUTPUT);}pinMode (pushbutton,INPUT) ; }void flash() {for(n=0;n<4 ; n++) {digitalWrite (cadenaleds[n],HIGH);delay (time);digitalWrite (cadenaleds[n],LOW);delay (time);}}void loop() {if (digitalRead(pushbutton)==HIGH) {flash ();}}Voici notre vidéo. Séquence de LED avec bouton-poussoir.mov
Allumer et éteindre une LED à l’aide d’un bouton poussoir
N’oubliez pas de régler la résistance appropriée pour chaque DEL. Loi d’Ohm : V = I * R, si la tension est de 5 V et que nous voulons que la LED reçoive seulement entre 5 mA (0,005 A) et 20 mA (0,02 A), alors utilisez une résistance entre 250 et 1000 ohms.
En première approximation, vous pouvez exécuter dans chaque boucle l’allumage et l’extinction de chaque LED en attendant un temps entre chaque allumage et extinction. Pour déboguer, vous pouvez obtenir le statut de chaque LED via le port série. Il s’agit d’une extension du programme blink mais pour plusieurs LED.
Lisez ce tutoriel et ne voyez que la première solution : http://www.arduino.cc/en/Tutorial/KnightRider, les autres solutions que nous verrons juste après avoir vu les tableaux et nous aideront à mieux comprendre leur utilisation.
L’exemple précédent des LED avec l’effet de voiture fantastique peut être réalisé de manière plus efficace avec l’utilisation de tableaux et de la structure de contrôle for. Il est également beaucoup plus facile de créer d’autres effets de lumière ou de modifier la réalisation en utilisant des tableaux.
Faites un programme dans lequel vous démarrez l’Arduino et lui demandez d’entrer une chaîne aléatoire et de l’envoyer à l’Arduino via le port série en utilisant le moniteur série. Ensuite, stockez-le dans une variable et affichez ce qui est lu sur le port série.
Bouton-poussoir arduino pratique
Le but de ce programme est très simple : faire en sorte que la LED que nous avons connectée à la broche 6 s’allume et s’éteigne lorsque l’on appuie sur le bouton-poussoir. Lorsque l’on appuie sur le bouton-poussoir, la LED s’allume et reste allumée jusqu’à ce que l’on appuie à nouveau sur le bouton-poussoir.
Une fois la carte configurée, nous commençons la programmation. Le premier bloc dont nous avons besoin est un événement (cliquez sur le cercle orange pour voir les événements disponibles), dans ce cas nous utiliserons l’événement “lorsque le drapeau vert est cliqué”.
Nous utilisons une boucle infinie avec le bloc “forever” que vous trouverez dans la section contrôle orange. De cette façon, notre programme fonctionnera en continu, et nous pourrons allumer et éteindre la lumière autant de fois que nous le souhaitons.
Ensuite, nous utilisons le bloc “attendre jusqu’à…”, que vous trouverez entre les blocs orange dans la section de contrôle. Le but de ce bloc est de générer une pause dans le programme qui est maintenue jusqu’à ce que la condition indiquée dans ce bloc soit remplie. Dans le cas de notre programme, la condition sera que le bouton poussoir soit pressé. Dans la condition, nous introduisons la lecture de la broche numérique 2. Dans la section de la broche bleue, nous localisons le bloc “broche numérique 2”.
Allumer et éteindre des LEDs avec un bouton poussoir arduino
Le problème est que si je règle la lumière sur n’importe quelle intensité qui n’est pas la maximale, tout se passe correctement, ou si je la règle sur la maximale et que je la baisse avec le deuxième bouton (intensité plus faible), mais si je la règle sur l’intensité maximale (la led rouge clignote déjà) et que je l’éteins avec le bouton off (troisième bouton), si je rallume progressivement la lumière, la première chose qu’elle fait est qu’elle donne un pic d’intensité et ensuite commence à monter petit à petit, mais la première chose est toujours un pic qui est gênant.
Essayez de vérifier que ce n’est pas un problème de votre matériel, surveillez par la série la valeur de la variable cicloTrabajo, pour voir si elle part d’une valeur différente lorsque vous éteignez à partir d’une valeur maximale ou d’une valeur différente.
Eh bien, après l’avoir testé avec le port série, tout est correct, il monte linéairement à 255, descend à 0 lorsque j’appuie sur le bouton OFF, et lorsque je monte (il donne toujours le pic lumineux) mais il commence à partir de 0 et monte linéairement sans aucun saut ou quoi que ce soit dans les indications du port série.