Jouer avec les leds

De Node Blue Wiki
(Différences entre les versions)
Aller à : Navigation, rechercher
Ligne 3 : Ligne 3 :
  
 
Sur les cartes Uno, Due et sur la plupart des autres cartes compatibles Arduino, en dehors de la Led "Power" (si elle existe) qui indique que la carte est alimentée, il n'y a qu'une seule Led pilotable, connectée en général sur la Pin D13.  
 
Sur les cartes Uno, Due et sur la plupart des autres cartes compatibles Arduino, en dehors de la Led "Power" (si elle existe) qui indique que la carte est alimentée, il n'y a qu'une seule Led pilotable, connectée en général sur la Pin D13.  
Mais il y a des cartes qui ont des Leds accessibles supplémentaires : les carte compatible Arduino Leonardo et ses dérivées (Pro micro, LeoDongle, et autre cartes basées sur le micro-contrôleur Atmega32U4). Ces cartes ont 2 Leds supplémentaires pour indiquer qu'il y a des transferts de donnée qui s’opèrent sur le port USB : RxLed et TxLed.  
+
Mais il y a des cartes qui ont des Leds accessibles supplémentaires : les carte compatibles Arduino Leonardo et ses dérivées (Pro micro, LeoDongle, et autre cartes basées sur le micro-contrôleur Atmega32U4). Ces cartes ont souvent 2 Leds supplémentaires pour indiquer qu'il y a des transferts de données qui s’opèrent sur le port USB : RxLed et TxLed.  
  
Vous verrez ces Leds s'activer si vous utilisez le port série virtuel USB de ces cartes pour votre application, ou tout simplement lorsque vous allez téléverser le code. Ces Leds peuvent être utilisée également pour votre application, dans la mesure ou vous ne vous servez pas du port série virtuel USB.  
+
Vous verrez ces Leds s'activer si vous utilisez le port série virtuel USB de ces cartes pour votre application, ou tout simplement lorsque vous allez téléverser un programme. Ces Leds peuvent être utilisées également pour votre application, dans la mesure ou vous ne vous servez pas du port série virtuel USB.  
  
Dans les exemples qui suivent, nous allons cependant nous restreindre à l'utilisation de la Led D13, présente sur toutes pratiquement toutes les cartes. L’exception est  [https://www.electroseed.fr/shop/product_info.php?products_id=50 la carte LeoDongle], qui n'a pas de Led connectée sur D13, et sur laquelle on ne peut utiliser que la pin RxLed(D17).
+
Dans les exemples qui suivent, nous allons cependant nous restreindre à l'utilisation de la Led D13, présente sur pratiquement toutes les cartes. L’exception est  [https://www.electroseed.fr/shop/product_info.php?products_id=50 la carte LeoDongle], qui n'a pas de Led connectée sur D13, et sur laquelle on ne peut utiliser que la pin RxLed(D17).
  
Commencez par supprimer tous les modules de l'interface ("Ctrl-A" puis "Suppr").
+
- Commencez par supprimer tous les modules de l'interface ("Ctrl-A" puis "Suppr").
  
Puis ajoutez un premier module "SW Timer", comme celui que vous avez ajouté dans le tutoriel [http://www.nodeblue.org/wiki_fr/index.php/Premiers_pas "Premiers Pas"], mais cette fois ci, ne configurez pas la pin, laissez là sur "Not used". Choisissez 10 Hz comme fréquence.
+
- Ajoutez un premier module "SW Timer", comme celui que vous avez ajouté dans le tutoriel [http://www.nodeblue.org/wiki_fr/index.php/Premiers_pas "Premiers Pas"], mais cette fois ci, ne configurez pas la pin, laissez là sur "Not used". Choisissez 10 Hz comme fréquence.
  
Ensuite dans la section "Output", prenez un module "Digital Out", glissez le dans l'interface puis configurez le en choisissant la pin "D13" ou celle sur laquelle il y une Led sur la carte que vous utilisez.
+
- Ajoutez un module "Digital Out" (groupe "Output"), glissez le dans l'interface puis configurez le en choisissant la pin "D13" ou celle sur laquelle il y une Led sur la carte que vous utilisez.
  
Enfin reliez la sortie du module "SW Timer" à l'entrée de ce module "Digital Out".
+
- Enfin reliez la sortie du module "SW Timer" à l'entrée de ce module "Digital Out".
  
 
Vous devriez avoir ceci :
 
Vous devriez avoir ceci :
Ligne 22 : Ligne 22 :
  
  
Exportez le code et téléversez le, vous devriez avoir une Led qui clignote exactement comme dans l'exemple précédent, la seule différence c'est que vous avez appris comment relier des modules entre eux.
+
Exportez le code et téléversez le, vous devriez avoir une Led qui clignote exactement comme dans le tutoriel précédent, la seule différence c'est que vous avez appris comment relier des modules entre eux !
  
  

Version du 12 janvier 2018 à 07:16

Nous allons maintenant explorer d'autres méthodes pour jouer avec les led.

Sur les cartes Uno, Due et sur la plupart des autres cartes compatibles Arduino, en dehors de la Led "Power" (si elle existe) qui indique que la carte est alimentée, il n'y a qu'une seule Led pilotable, connectée en général sur la Pin D13. Mais il y a des cartes qui ont des Leds accessibles supplémentaires : les carte compatibles Arduino Leonardo et ses dérivées (Pro micro, LeoDongle, et autre cartes basées sur le micro-contrôleur Atmega32U4). Ces cartes ont souvent 2 Leds supplémentaires pour indiquer qu'il y a des transferts de données qui s’opèrent sur le port USB : RxLed et TxLed.

Vous verrez ces Leds s'activer si vous utilisez le port série virtuel USB de ces cartes pour votre application, ou tout simplement lorsque vous allez téléverser un programme. Ces Leds peuvent être utilisées également pour votre application, dans la mesure ou vous ne vous servez pas du port série virtuel USB.

Dans les exemples qui suivent, nous allons cependant nous restreindre à l'utilisation de la Led D13, présente sur pratiquement toutes les cartes. L’exception est la carte LeoDongle, qui n'a pas de Led connectée sur D13, et sur laquelle on ne peut utiliser que la pin RxLed(D17).

- Commencez par supprimer tous les modules de l'interface ("Ctrl-A" puis "Suppr").

- Ajoutez un premier module "SW Timer", comme celui que vous avez ajouté dans le tutoriel "Premiers Pas", mais cette fois ci, ne configurez pas la pin, laissez là sur "Not used". Choisissez 10 Hz comme fréquence.

- Ajoutez un module "Digital Out" (groupe "Output"), glissez le dans l'interface puis configurez le en choisissant la pin "D13" ou celle sur laquelle il y une Led sur la carte que vous utilisez.

- Enfin reliez la sortie du module "SW Timer" à l'entrée de ce module "Digital Out".

Vous devriez avoir ceci :

Blink2.jpg


Exportez le code et téléversez le, vous devriez avoir une Led qui clignote exactement comme dans le tutoriel précédent, la seule différence c'est que vous avez appris comment relier des modules entre eux !


Maintenant sélectionnez le module "SW Timer1" et dupliquez le en tapant "Ctrl-C" puis "Ctrl-V", puis posez le nouveau module à gauche des autres modules.

Ouvrez les propriétés de ce nouveau module, renommez le en "SW Timer2", puis choisissez 1 Hz comme fréquence.

Enfin reliez la sortie de ce module à l'entrée de "SW Timer1". Vous devriez avoir ceci :

Blink3.jpg


Exportez le code et téléversez le, vous devriez avoir une Led qui clignote très brièvement une fois toutes les secondes.


Maintenant explorons les possibilités de combinaisons des signaux avec une porte logique :

- supprimez tous les liens entre les modules en cliquant dessus puis en tapant "Suppr"

- rajoutez un module "And" que vous trouverez dans le groupe "Logic"

- réalisez les connexions suivantes :

Blink4.jpg


Exportez le code et téléversez le, vous devriez avoir une Led qui clignote très rapidement 5 fois toutes les secondes.


Essayons maintenant une autre façon de jouer avec une led :

- Supprimez tous les modules.

- Ajoutez un module "Analog Out" (groupe "Output"), glissez le dans l'interface puis configurez le en choisissant la pin "D13". Si vous utilisez un Teensy et que vous avez bien sélectionné "Teensy" comme carte, vous ne trouverez pas la pin D13. C'est normal, car les Teensy n'ont pas de fonctionnalité PWM sur la pin D13. Vous ne pourrez donc pas pour ces cartes utiliser cette méthode (donc passez la méthode suivante).

- à gauche de ce module, ajoutez un autre module "Generator" (groupe "Synth", tout en bas de la barre latérale), configurez le type sur "Sine" et la fréquence sur 1 Hz. Laissez les autres paramètres par défaut.

- Reliez la sortie du module "Generator1" à l'entrée "Analog Out1".

- Rafraîchissez la page, par exemple en tapant "F5", cela va mettre à jour le dessin du générateur pour représenter le type de signal.


vous devriez maintenant avoir ceci :

Blink fade analogout.jpg

Exportez le code et téléversez le, vous devriez avoir une Led qui clignote doucement de manière continue, au lieu d'être juste allumée ou éteinte.


Si vous utilisez un Teensy, ou si vous voulez réaliser cet exemple sur n'importe quelle pin de n'importe quelle carte, il va falloir utiliser un autre module "Generator", configuré en mode PWM. Ce module réalise en fait une PWM de manière logicielle, elle ne pourra donc pas monter aussi haut en fréquence qu'une PWM matérielle (qui peut monter au delà de 20 KHz, voir plus sur certaines cartes). Nous verrons plus loin comment utiliser les PWM pour contrôler des moteurs.

- Supprimez le module "Analog Out1"

- prenez à nouveau un module "Digital Out", glissez le dans l'interface puis configurez le en choisissant la pin "D13" ou celle sur laquelle il y une Led sur la carte que vous utilisez.

- entre ce module et le module "Generator1" créé précédemment, ajoutez à nouveau un module "Generator", renommez le "Generator2", configurez son type sur "PWM" et sa fréquence sur 100 Hz. Laissez les autres paramètres par défaut.

- Reliez la sortie du module "Generator1" à l'entrée "Duty" du "Generator2", et la sortie de "Generator2" à l'entrée "Digital Out1".

- Rafraîchissez la page, par exemple en tapant "F5", cela va mettre à jour le dessin des générateurs pour représenter le type de signal.


vous devriez maintenant avoir ceci :

Blinkfade.jpg


Exportez le code et téléversez le, vous devriez avoir une Led qui clignote doucement de manière continue, au lieu d'être juste allumée ou éteinte.

Grace à tous ces exemples pour les Leds, vous avez pu découvrir quelques modules de Node Blue. Vous devez commencer à sentir l'esprit de cet outil et les possibilités infinies qu'il offre.

Mais ces exemples sont plus que juste des exemples. Vous verrez au cours des tutoriaux suivants que nous utiliserons très souvent les Led pour tester des processus, car elles permettent de visualiser un état booléen (0 ou 1), mais aussi une grandeur "Analogique" en faisant varier leur intensité.


Nous allons maintenant continuer notre découverte des modules, et grace à ce que vous venez d'apprendre vous alle

Outils personnels
Espaces de noms

Variantes
Actions
Tutoriels
Outils