Ligne 79 : |
Ligne 79 : |
| | | |
| == Faire encore mieux == | | == Faire encore mieux == |
− | === Animer avec une boucle FOR === | + | === Utiliser les boucles FOR === |
− | Dans cette version du programme, nous allons utiliser deux boucle for: | + | Dans cette version du programme, nous allons: |
− | * Une boucle for pou remplacer le contenu de la boucle {{fname|while True}} pour raccourcir le programme. | + | * Nous commençons par créer une liste {{fname|names}} qui contient les noms des broches utilisées sur notre PyBoard. |
| + | * Utiliser une boucle {{fname|for}} pour créer une liste {{fname|pins}} contenant des objets {{fname|Pin}} (permettant de manipuler l'état de la broche correspondante). |
| + | * Utiliser une autre boucle {{fname|for}} pour manipuler les objets {{Pin}} stocké dans la liste {{pins}}. Il sera plus facile de manipuler les les LEDs dans la boucle {{fname|while True}} |
| | | |
− | Comme vous pourrez ce constater ci-dessous, l'usage d'une boucle {{fname|for}} permet de réduire le programme à quelques lignes.
| + | Ces optimisations vont singulièrement raccourcir le programme. |
| | | |
| <nowiki># declaration des broches | | <nowiki># declaration des broches |
Ligne 107 : |
Ligne 109 : |
| Dans cette version du code, la création de la liste {{fname|pins}} est assuré par une compréhension list.... en une seule ligne de code. | | Dans cette version du code, la création de la liste {{fname|pins}} est assuré par une compréhension list.... en une seule ligne de code. |
| | | |
− | <nowiki></nowiki> | + | <nowiki># declaration des broches |
| + | names = ['X1','X2', 'X3', 'X4', 'X5', 'X6', 'X7', 'X8' ] |
| + | # créer les objets p en sortie |
| + | pins = [ pyb.Pin( name, pyb.Pin.OUT_PP ) for name in names ] |
| + | while True: |
| + | for pin in pins: |
| + | pin.high() |
| + | pyb.delay(100) |
| + | pin.low() |
| + | pyb.delay(100)</nowiki> |
| + | |
| {{MicroPython-Hack-Prepare-TRAILER}} | | {{MicroPython-Hack-Prepare-TRAILER}} |