Logo Mon Club Elec

Programmer le pcDuino : Python simple : Le code minimum

Le pcDuino est un système informatique open source qui offre aux développeurs une plateforme puissante et flexible pour créer des applications et des programmes. Avec le pcDuino, les développeurs peuvent programmer en Python, un langage de programmation simple et facile à apprendre. Dans cet article, nous allons examiner le code minimum nécessaire pour programmer le pcDuino en Python et découvrir comment le pcDuino peut être utilisé pour créer des applications et des programmes.

Programmer le pcDuino : Python simple : Le code minimum

Programmer le pcDuino : Python simple : Le code minimum

Ce que l’on va faire ici

  • Ce code est le code Python minimum « Arduino-like » s’exécutant sur le pcDuino.

Pré-requis

Matériel nécessaire

Aucun

Le montage à réaliser

Aucun

Le fichier *.yno

Copier/coller ce code dans l’IDE Pyduino

# entete declarative

#— setup —
def setup():
        return # si vide

# — fin setup —

# — loop —
def loop():
        return # si vide

# — fin loop —
 

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

# code minimal

from arduino import * # importe les fonctions Arduino pour Python

# entete declarative

#— setup —
def setup():
        return # si vide

# — fin setup —

# — loop —
def loop():
        return # si vide

# — fin loop —

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

Ce code est également disponible ici : https://raw.github.com/sensor56/pyDuino/master/pcduino/exemples/1.Basics/BareMinimum.py

Utilisation

  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal vide doit apparaître sans message d’erreur.

Discussion technique

  • L’inconvénient majeur d’un appel de la fonction loop() automatique à la façon Arduino, c’est un usage élevé de la CPU… : 100% en fait, alors que la tâche exécutée par loop() n’est pas très conséquente.
  • Il est donc beaucoup plus judicieux d’auto-appeler loop() à l’aide de la fonction Pyduino timer() qui permet d’appeler une fonction après un intervalle voulu en millisecondes, sans mobiliser la CPU durant le temps d’attente. Du coup, l’usage CPU chute fortement, à quelques %. Cette solution sera donc à préférer et à privilégier en pratique.
  • Voici un exemple :
#!/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

# code minimal avec Timer (décharge CPU)

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
noLoop=True # bloque loop automatique

#— setup —
def setup():

        # instructions setup ici

        loop() # premier appel de la fonction loop

# — fin setup —

# — loop —
def loop(): # la fonction loop s’auto-appelle a intervalles reguliers

        # instructions loop ici

        timer(100, loop) # appelle fonction loop apres intervalle en ms

        # resultats sur pcduino avec htop :
        # en mode loop auto permanent : usage CPU = 100%
        # 100 ms ~10 appels par seconde = 5% usage CPU
        # 10 ms ~ 100 appels par seconde = 20% usage CPU
        # 5 ms ~ 200 appels par seconde = 30% usage CPU => bon compromis
        # 1 ms ~ 1000 appels par seconde = 60% usage CPU
        # 0.5ms ~ 2000 appels par seconde = 75% usage CPU
        # 0.1ms ~ 10 000 appels par seconde = 95% usage CPU

# — fin loop —

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

 

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.