Raspberry Pi Pico - Faire clignoter plusieurs LED

Ce guide vous apprend comment programmer un Raspberry Pi Pico pour faire clignoter plusieurs LED à différentes vitesses sans utiliser la fonction time.sleep(). Il présente le code selon deux méthodes différentes :

Le Raspberry Pi Pico fait clignoter plusieurs LEDs.

Nous allons montrer comment faire cela avec trois LEDs. Vous pouvez simplement le modifier pour deux, quatre ou plus de LEDs.

Préparation du matériel

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

À propos de LED

Découvrez notre guide détaillé sur les LEDs. Apprenez à connecter le matériel, à comprendre leur fonctionnement, à les configurer avec le Raspberry Iron Pico et à les programmer. En savoir plus ici :

Diagramme de câblage

Schéma de câblage de plusieurs LEDs pour Raspberry Pi Pico

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code Raspberry Pi Pico - Clignoter plusieurs LEDs

Pour faire clignoter plusieurs LED en même temps, évitez d'utiliser la fonction time.sleep(), car elle bloque l'exécution du reste du code et empêche les LED de clignoter simultanément. Utilisez plutôt l'horodatage pour gérer le timing.

Si vous débutez en programmation et que vous trouvez difficile de gérer le minutage lors du clignotement de plusieurs LED, la bibliothèque DIYables_MicroPython_LED library simplifie cela en gérant le minutage pour vous. Cela signifie que vous n'avez pas à vous occuper vous-même des problèmes de synchronisation lors de l'utilisation de la bibliothèque.

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-blink-multiple-led */ from DIYables_MicroPython_LED import LED, LED_DELAY, LED_BLINKING, LED_IDLE, CTRL_ANODE # Define LED pins PIN_LED_1 = 22 # The Raspberry Pi Pico pin connected to the LED 1 (GP22) PIN_LED_2 = 26 # The Raspberry Pi Pico pin connected to the LED 2 (GP26) PIN_LED_3 = 27 # The Raspberry Pi Pico pin connected to the LED 3 (GP27) # Create LED objects that attach to the specified pins led1 = LED(PIN_LED_1, CTRL_ANODE) led2 = LED(PIN_LED_2, CTRL_ANODE) led3 = LED(PIN_LED_3, CTRL_ANODE) led1.blink(500, 500) # 500ms ON, 500ms OFF, blink immediately led2.blink_with_duration(100, 100, 5000) # 100ms ON, 100ms OFF, blink for 5 seconds, blink immediately led3.blink_n_times(250, 750, 10) # 250ms ON, 750ms OFF, repeat 10 times, blink immediately # Main loop while True: led1.loop() # MUST call the led1.loop() function led2.loop() # MUST call the led2.loop() function led3.loop() # MUST call the led3.loop() function # DO OTHER TASKS HERE # DO SOMETHING HERE

Étapes rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
  • Si c'est la première fois que vous utilisez un Raspberry Pico, reportez-vous au tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
  • Connectez le Raspberry Pi Pico aux LED selon le schéma fourni.
  • Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en vous rendant dans Outils Options.
  • Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L'IDE Thonny détectera automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sur Windows ou /dev/ttyACM0 sur Linux).
  • Dans l'IDE Thonny, accédez à Outils Gérer les paquets.
  • Recherchez “DIYables-MicroPython-LED”, puis trouvez la bibliothèque LED créée par DIYables.
  • Cliquez sur DIYables-MicroPython-LED, puis cliquez sur le bouton Install pour installer la bibliothèque LED.
Bibliothèque LED pour Raspberry Pi Pico
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre Raspberry Pi Pico en procédant comme suit :
    • Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, vous verrez deux sections : Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico
    • Enregistrez le fichier sous main.py
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Consultez le message dans le Shell en bas de Thonny.
  • Vérifiez si la LED est allumée ou éteinte.

Code pour le Raspberry Pi Pico - Clignoter plusieurs LEDs en utilisant un tableau

Nous pouvons améliorer le code ci-dessus en utilisant un tableau de DELs. Le code ci-dessous utilise ce tableau pour gérer des objets DEL.

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-blink-multiple-led */ from DIYables_MicroPython_LED import LED, LED_DELAY, LED_BLINKING, LED_IDLE, CTRL_ANODE # Define LED pins PIN_LED_1 = 22 # The Raspberry Pi Pico pin connected to the LED 1 (GP22) PIN_LED_2 = 26 # The Raspberry Pi Pico pin connected to the LED 2 (GP26) PIN_LED_3 = 27 # The Raspberry Pi Pico pin connected to the LED 3 (GP27) # Create an array of LED objects led_array = [ LED(PIN_LED_1, CTRL_ANODE), # create ezLED object that attach to pin PIN_LED_1 LED(PIN_LED_2, CTRL_ANODE), # create ezLED object that attach to pin PIN_LED_2 LED(PIN_LED_3, CTRL_ANODE) # create ezLED object that attach to pin PIN_LED_3 ] led_array[0].blink(500, 500) # 500ms ON, 500ms OFF, blink immediately led_array[1].blink_with_duration(100, 100, 5000) # 100ms ON, 100ms OFF, blink for 5 seconds, blink immediately led_array[2].blink_n_times(250, 750, 10) # 250ms ON, 750ms OFF, repeat 10 times, blink immediately # Function to print the state of an LED def print_state(state, led_index): if state == LED_DELAY: print(f"LED {led_index + 1} DELAYING") elif state == LED_BLINKING: print(f"LED {led_index + 1} BLINKING") elif state == LED_IDLE: print(f"LED {led_index + 1} BLINK ENDED") # Track the previous states of the LEDs previous_states = [None] * len(led_array) # Main loop while True: # Update each LED state for i, led in enumerate(led_array): led.loop() # MUST call the led.loop() function in loop() # Get the current state of the LED current_state = led.get_state() # Print the state only if it has changed if current_state != previous_states[i]: print_state(current_state, i) previous_states[i] = current_state # Update the previous state # DO SOMETHING HERE

Avec la DIYables_MicroPython_LED library, vous pouvez facilement faire clignoter plusieurs LED comme ceci :

  • Faire clignoter plusieurs DEL à des fréquences différentes.
  • Faire en sorte que plusieurs DEL commencent à clignoter à des moments différents.
  • Configurer chaque DEL pour qu'elle clignote pendant une durée spécifique.
  • Configurer chaque DEL pour qu'elle clignote un nombre spécifique de fois.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !