Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Python simple : Sortie numérique : Faire clignoter une LED sans delay() en utilisant millis()

Électroniquemis à jour le 23 avril 2023

Le pcDuino est un système de développement open source qui permet aux développeurs de créer des applications et des projets innovants. Dans ce tutoriel, nous allons apprendre à programmer le pcDuino en Python pour faire clignoter une LED sans utiliser la fonction delay() et en utilisant la fonction millis(). Nous verrons comment configurer le pcDuino et comment utiliser le code Python pour contrôler la LED.

Programmer le pcDuino : Python simple : Sortie numérique : Faire clignoter une LED sans delay() en utilisant millis()

Ce que l’on va faire ici

  • Dans ce code,je vous montre comment faire clignoter une LED sans delay() mais avec millis(), ce qui permet de faire autre chose entre 2 clignotements. Noter l’utilisation de la fonction Pyduino toggle() qui inverse l’état de la broche simplement.

Pré-requis

  • un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
  • Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
  • ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino

Matériel nécessaire

  • une plaque d’essai pour montage sans soudures,
  • des straps,
  • une LED rouge 5mm,
  • une résistance 1/4w de 270 Ohms environ,

Instructions de montage

  • Connecter sur la broche 2 (configurée en sortie) une LED et sa résistance (270 Ohms) en série connectée au 0V

Le montage à réaliser

Le fichier *.yno

Copier/coller ce code dans l’IDE Pyduino

# entete declarative
LED=2  # declare la broche a utiliser

millis0=millis()# variable memorise millis()
delai=1000 # pause

#— setup —
def setup():
        pinMode(LED,OUTPUT) # met la broche en sortie
        Serial.println(« La broche «  +str(LED)+  » est en sortie ! »)

# — fin setup —

# — loop —
def loop():

        global millis0 # variable globale

        if millis()-millis0>delai : # si delai ecoule
                toggle(LED)  # inverse etat de la LED
                Serial.println(« LED clignote »)
                millis0=millis() # memorise millis courant

Codes d'erreurCode erreur sur un lave-linge Bosch : décoder la panne et éviter une réparation inutile

        # autres instructions ici

# — fin loop —
 

Ce code est également disponible ici :

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDUino – par X. HINAULT – www.mon-club-elec.fr
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# LED clignote sans delay avec millis()

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
LED=2  # declare la broche a utiliser

millis0=millis()# variable memorise millis()
delai=1000 # pause

#— setup —
def setup():
        pinMode(LED,OUTPUT) # met la broche en sortie
        Serial.println(« La broche «  +str(LED)+  » est en sortie ! »)

# — fin setup —

# — loop —
def loop():

        global millis0 # variable globale

Codes d'erreurCode erreur E03 sur un lave-linge Candy : 3 contrôles avant d’appeler un réparateur

        if millis()-millis0>delai : # si delai ecoule
                toggle(LED)  # inverse etat de la LED
                Serial.println(« LED clignote »)
                millis0=millis() # memorise millis courant

        # autres instructions ici

# — fin loop —

#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
        setup() # appelle la fonction setup
        while not noLoop: loop() # appelle fonction loop sans fin

 

Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/1.Basics/BlinkWithoutDelayMillis.py

Utilisation

  • Réaliser le montage indiqué,
  • Appuyer sur le bouton <Exécuter> dans Geany
  • Une fenêtre de Terminal vide doit apparaître avec des messages et la LED doit clignoter

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction