20
NIVEAU DEBUTANT Apprendre à écrire le programme Pyduino minimum. Ateliers Pyduino par X. HINAULT www.mon-club-elec.fr Tous droits réservés – 2013. Document gratuit. Ce support PDF d'atelier Arduino vous est offert. Pour acheter d'autres supports d'ateliers Arduino, rendez-vous ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINO Vous avez constaté une erreur ? une coquille ? N'hésitez pas à nous le signaler à cette adresse : [email protected] Truc d'utilisation : visualiser ce document en mode diaporama dans le visionneur PDF. Navigation avec les flèches HAUT / BAS ou la souris. En mode fenêtre, activer le panneau latéral vous facilitera la navigation dans le document. Bonne lecture ! Lancer également le logiciel Geany afin de pouvoir tester au fur et à mesure les codes d'exemples ! Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 1/20.

Ateliers Pyduino - mon-club-elec.fr

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ateliers Pyduino - mon-club-elec.fr

NIVEAU DEBUTANT

Apprendre à écrire le programme Pyduino minimum.

Ateliers Pyduinopar X. HINAULT

www.mon-club-elec.fr

Tous droits réservés – 2013.

Document gratuit.Ce support PDF d'atelier Arduino vous est offert.

Pour acheter d'autres supports d'ateliers Arduino, rendez-vous ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINO

Vous avez constaté une erreur ? une coquille ? N'hésitez pas à nous le signaler à cette adresse : [email protected]

Truc d'utilisation : visualiser ce document en mode diaporama dans le visionneur PDF. Navigation avec les flèches HAUT / BAS ou la souris.

En mode fenêtre, activer le panneau latéral vous facilitera la navigation dans le document. Bonne lecture !

Lancer également le logiciel Geany afin de pouvoir tester au fur et à mesure les codes d'exemples !

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 1/20.

Page 2: Ateliers Pyduino - mon-club-elec.fr

1. Intro

L'objectif ici est :

• de s'installer pour utiliser Pyduino

• de donner les notions de bases minimales utiles au sujet des « fonctions »

• de donner les règles d'écriture de base d'un programme

• comprendre la structure d'un programme type

… afin d'être en mesure d'écrire un premier programme ou « code » Pyduino qui s'exécute sans erreur.

Prêt ? C'est parti !

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 2/20.

Page 3: Ateliers Pyduino - mon-club-elec.fr

2. Pour passer à l'action... avec Pyduino : le matériel

Pour utiliser Arduino, vous aviez besoin : On a besoin :

• d'une carte Arduino

• d'un poste fixe (netbook, portable, etc..)

• d'un câble USB

La programmation et la communication avec la carte Arduino :

• se fait à partir du logiciel Arduino, via le port USB

• la connexion au poste fixe n'est pas nécessaire en mode exécution

Pour utiliser un mini-PC avec Pyduino, c'est presque pareil :On a besoin :

• d'une carte mini-PC avec un système Gnu/Linux installé opérationnel (typiquement interface graphique LXDE)

• d'un poste fixe (netbook, portable, etc..)

• d'un routeur réseau éthernet / wifi +/- switch (pas indispensable)

• de 2 câbles éthernet et/ou clé wifi

La programmation et la communication avec le miniPC :

• se fait par « accès au bureau distant » depuis le poste fixe : on programme directement dans l'éditeur sur le miniPC à partir du poste fixe.

• la connexion au poste fixe n'est pas nécessaire en mode exécution

La vraie différence consiste à utiliser un routeur en plus.

Noter qu'un tel routeur serait aussi nécessaire avec Arduino dès lors que l'on voudrait utiliser un shield Ethernet.

En résumé :

Un principe de fonctionnement relativement similaire, à la différence près que l'on communique avec le poste fixe par réseau au lieu de communiquer par USB.

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 3/20.

Page 4: Ateliers Pyduino - mon-club-elec.fr

3. Matériel nécessaire pour les ateliers PyduinoPour cet atelier, vous aurez besoin de tout ou partie des éléments suivants pour pouvoir réaliser les exemples proposés :

De l'espace de développement Pyduino

L'espace de développement Pyduino associe :

• un ordinateur sous Windows, Mac Os X ou Gnu/Linux (Ubuntu)

• avec le logiciel Geany ou l'IDE Pyduino installé

• un réseau local auquel est connecté le mini-PC et le poste fixe

• une carte mini-PC

• Noter qu'il est également possible d'utiliser une carte Arduino avec le poste fixe.

disponible chez : http://www.gotronic.fr/

Du nécessaire pour réaliser des montages sans soudure

Pour réaliser des montages sans soudure, vous aurez besoin :

• d'une plaque d'essai ou breadboard moyenne (450 points)

• de quelques câbles souples (ou jumpers) mâle/mâle

disponible chez : http://www.gotronic.fr/

De quelques composants de base

Pour vous simplifier la vie, nous avons négocié ce kit pour vous !

Vous pouvez commander ce kit complet directement en 1 clic chez notre partenaire http://www.gotronic.fr/ avec le code express 701710

Pour les ateliers Pyduino niveau débutant, vous devrez idéalement disposer des composants suivants :

• des LEDs 5mm Rouges(x20), Vertes (x5) et 3 Jaunes (x5)• digit à cathode commune rouge 13mm (x1)• Résistances (1/4w - 5%) de 270 Ohms (x20), 4,7K Ohms (x1), 1K Ohms (x1)• mini bouton-poussoir (x3)• Opto-fourche (x 1)• Résistance variable linéaire 10K (x 1)• Photo-résistance 7mm (x 1)• Capteur de température LM35DZ (-55/+150°C - 10mV/°C) (x 1)• Capsule son piézoélectrique (x 1)• ULN 2803A (CI amplificateur 8 voies, 500mA/ voie) (x 1)• LED 5mm multicolore RVB cathode commune (x 1)

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 4/20.

Page 5: Ateliers Pyduino - mon-club-elec.fr

4. Les différentes possibilités d'utiliser Pyduino

Le réseau type : miniPC + poste fixe sur un même réseau • soit en en éthernet

• soit en wifi

• soit un mix des 2 (le poste fixe en filaire et le mini-PC en wifi : c'est la situation potentiellement la plus courante)

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 5/20.

Page 6: Ateliers Pyduino - mon-club-elec.fr

5. Installation de l'IDE Pyduino et de la librairie Pyduino à partir d'un paquet *.deb

Tout est expliqué ici en détail : http://www.mon-club-elec.fr/pmwiki_reference_pyduino/pmwiki.php?n=Main.Telecharger

Si vous utilisez le pcDuino 2, voir la procédure complète ici : pcDuino v2 + Pyduino : Soyez opérationnels en 15 minutes chrono !

En quelques minutes, vous êtes opérationnels ! Parés ? On continue.

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 6/20.

Page 7: Ateliers Pyduino - mon-club-elec.fr

6. Tester la bonne installation de Pyduino dans l'interpréteur Python Pour tester l'installation de Pyduino, commencer par ouvrir l'interpréteur Python de votre choix (je conseille DreamPie ) :

Ensuite saisir l'instruction suivante qui « charge » la librairie Pyduino en mémoire :

from pyduino_pcduino import *

Vous devez obtenir un message indiquant précisant la plateforme utilisée et la version de la librairie.

Si vous obtenez bien ce message, c'est que l'installation s'est bien passé et que Pyduino est opérationnel sur votre système !

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 7/20.

Page 8: Ateliers Pyduino - mon-club-elec.fr

7. Notion de fonctionUne fonction est un « morceau » de programme :

• qui est désigné par un nom

• reçoit des paramètres (valeurs, données)

• exécute des instructions

• renvoie un résultat

Par exemple, une fonction qui multiplie 2 nombres :

• pourra s'appeler « multiplication »

• recevra les 2 nombres à multiplier

• réalisera la multiplication des 2 nombres

• renverra le résultat

Une autre image parlante, l'exemple d'un moulin à café à manivelle :

• la fonction s'appelle « moulin à café »

• les grains de café que l'on met dedans sont les paramètres

• le rôle de la fonction c'est de moudre les grains,

• la fonction « moulin à café » renvoie du café moulu !

Le découpage du code en « morceaux » ou fonctions, est utilisé pour simplifier la maintenance des programmes.

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 8/20.

Page 9: Ateliers Pyduino - mon-club-elec.fr

8. Ecrire une fonctionLe principe général d'écriture d'une fonction en langage Python sur lequel est basé la librairie Pyduino consiste à :

• à indiquer qu'il s'agit d'une fonction avec le mot clé def

• donner un nom à la fonction qui décrit ce qu'elle fait si possible

• mettre entre parenthèses les paramètres à utiliser (ou reçus) par la fonction : les « grains de café »

• indiquer le début du code de la fonction à l'aide d'un :

• écrire ligne à ligne le code de la fonction (« moudre les grains »):

◦ en incrémentant chaque ligne avec une tabulation

◦ les commentaires étant précédés d'un #

◦ les instructions se terminant par un saut de l igne simple

• renvoyer au besoin une valeur en la faisant précéder du mot clé return

• indiquer la fin du code de la fonction à l'aide d'un d'un retrait de tabulation

Par convention, le nom d'une fonction commencera toujours par une minuscule.

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 9/20.

Page 10: Ateliers Pyduino - mon-club-elec.fr

9. La fonction la plus simpleL'utilisation la plus simple d'un « moulin à café » consiste :

• à ne rien mettre dedans = pas de grains

• à ne pas tourner la manivelle = ne pas moudre les grains = ne rien faire

• et le moulin à café ne vous donnera pas de café moulu = renverra rien !

De la même façon, la fonction la plus simple est une fonction :

• qui ne reçoit aucun paramètre : on laissera tout simplement les parenthèses vides,

• qui n'exécute aucune instruction : le bloc après les : devra contenir au moins une instruction indentée, return si la fonction ne renvoie rien.

• la fin de la fonction est marquée par le retour d'indentation.

Cette fonction ne fait rien, ne renvoie rien, mais elle est correctement écrite et ne provoquera aucune erreur d'exécution.

L'important ici est de bien mémoriser cette structure de base qui sera souvent réutil isée dans l 'util isation de la l ibrairie Pyduino :

• par les 2 fonctions de base obligatoires d'un programme Pyduino comme on va le voir juste après,

• par des fonctions plus complexes qui seront présentées en temps voulu,

• ou bien dans une forme un peu différente par certaines instructions du langage Python, notamment les boucles et les conditions.

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 10/20.

Page 11: Ateliers Pyduino - mon-club-elec.fr

10. Les 2 fonctions de base obligatoires dans tout programme Pyduino

Un code Pyduino : une structure similaire à un code ArduinoTout programme Pyduino, de la même façon qu'un programme Arduino, est structuré en 2 parties distinctes et obligatoires qui sont en fait deux fonctions obligatoires de forme simple, à savoir :

• la fonction setup( )

• la fonction loop( )

Ces 2 fonctions sont de la forme simple qui :

• a un nom (setup et loop)

• ne reçoit rien : parenthèses vides

• ne renvoie rien : on laissera le mot-clé return seul si les fonctions ne font rien.

Les instructions à exécuter dans un programme devront être placées à l'endroit voulu après les : dans un bloc indenté de l'une ou l'autre de ces 2 fonctions.

Le code Pyduino minimumAu final, on obtient le code Pyduino minimum suivant :

#--- setup --- def setup():

return # si vide

# -- fin setup --

# -- loop -- def loop():

return # si vide

# -- fin loop --

Bon là, si vous avez fait de l 'Arduino avant, je pense que vous vous sentez en terrain connu, non ?

Et à l'inverse, si vous ne connaissez pas Arduino, et bien sachez qu'en utilisant Pyduino, vous apprenez du même coup à utiliser Arduino !

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 11/20.

Page 12: Ateliers Pyduino - mon-club-elec.fr

11. A vous de jouer : Ecrire et exécuter le programme Pyduino minimum dans l'IDE PyduinoC'est très simple : lancer sur votre mini-PC l'IDE Pyduino et saisissez le code précédent. Faîtes-le manuellement : c'est important de savoir le faire soi-même !

Vous devez obtenir :

Si vous n'arrivez pas à saisir ce code, il est disponible au téléchargement ici : http://www.cloud-mon-club-elec.fr/public.php?service=files&t=a2dde7a89b60c143da30d9fcd4a76c47&download

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 12/20.

Page 13: Ateliers Pyduino - mon-club-elec.fr

12. Truc : Charger un code Pyduino dans l'IDE Pyduino à partir d'un lien web Une fonctionnalité très très pratique que j'ai incluse dans l'IDE Pyduino : pouvoir ouvrir un code dans l 'éditeur simplement à partir d'un lien url ! Faîtes l'essai : copier/coller le lien précédent dans le champ. Noter pour que copier un lien, il suffit de faire un clic droit dessus et de choisir l'option « Copier l'emplacement du lien ». Puis cliquer sur <OUVRIR> :

Vous devez obtenir le chargement automatique du code dans l'éditeur :

Il ne reste plus qu'à cliquer sur <exécuter> : cool non ?

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 13/20.

Page 14: Ateliers Pyduino - mon-club-elec.fr

13. Signification des 2 boucles obligatoires setup() et loop()La fonction setup( ) :

• n'est exécutée qu'une seule fois et en premier au début du programme,

• on y placera les instructions d'initialisation et de configuration du programme.

Lors de l'exécution du programme Pyduino se lance automatiquement au début de la fonction setup( ).

La fonction loop( ) :

• est exécutée ensuite en boucle, se répétant indéfiniment tant que le programme n'est pas interrompu.

• on y placera les instructions à exécuter de façon répétée en boucle.

Truc de programmation : si l'on souhaite exécuter un programme seulement une seule fois :

• soit mettre toutes les instructions dans la fonction setup( )

• soit utiliser au sein de la fonction loop() l'instruction while(1); qui a pour effet de bloquer l'exécution du programme à l'endroit où elle est placée. (Cette instruction, qui sera vue ultérieurement, est exécutée « tant que 1 vaut 1 » ce qui est toujours le cas !)

• avec Pyduino, vous pourrez également utiliser la variable interne noLoop=True en début de code de façon à ce que le programme n'exécute que setup()

Remarque :

Avec Arduino, si le programme boucle en permanence, ce n'est pas grave, c'est même exactement ce que l'on veut.

Ici, nous sommes sur un mini-PC et si le programme boucle en permanence, cela abouti à une utilisation de la CPU pour rien... Donc, il faut bloquer loop() si la fonction est laissée vide. Il sera également possible de définir simplement la fréquence de rappel de loop() afin de réduire l'usage CPU. Nous en reparlerons

ultérieurement...

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 14/20.

Page 15: Ateliers Pyduino - mon-club-elec.fr

14. Comment appeler une fonction dans un programme ?

On a vu le principe d'écriture d'une fonction, une fonction étant un morceau de programme. Une fois définie, une fonction va ensuite pouvoir être appelée depuis n'importe quel autre endroit du programme (sous réserve que cela ait un sens...)

Le principe pour appeler une fonction de la forme simple est le suivant :

• on écrit son nom

• suivi de 2 parenthèses laissées vides

• suivies d'un saut de ligne simple (pas de ; en Python)

Si une fonction utilise un ou plusieurs paramètres, ceux-ci seront mis entre les parenthèses.

Lorsqu'une fonction sera appelée :

• le code qu'elle contient sera exécuté et une valeur sera renvoyée. La valeur renvoyée pourra être stockée dans une variable comme on le verra plus tard.

• Puis le programme exécutera la ligne suivante.

A savoir : les instructions de la l ibrairie Pyduino sont pour la plupart des fonctions !

Les instructions Pyduino seront donc appelées :

• sous la forme simple par instruction( );

• sous la forme avec paramètres par : instruction(val1, val2, . . .);

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 15/20.

Page 16: Ateliers Pyduino - mon-club-elec.fr

15. Règles d'écriture (ou syntaxe) de base à connaître et à ne pas oublier !

Règle 1

Toute ligne comportant une instruction devra se terminer par un saut de ligne

Règle 2

Tout bloc d'instruction débute par : et se termine par un retour de chariot

Règle 3

Tout bloc d'instruction doit être indenté avec des tabulations !

Cette règle est la plus importante à maîtriser lorsque l 'on débute avec Python et Pyduino !

Règle 4

Toute ligne commençant par un # est un commentaire sur une ligne

Règle 5

On pourra écrire un commentaire sur plusieurs ligne en le débutant par """et en le terminant par """

Truc de programmation : commenter vos programmes au maximum aussi bien pour vous que pour les autres !

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 16/20.

Page 17: Ateliers Pyduino - mon-club-elec.fr

16. Les éléments du langage Pyduino étudiés dans cet atelier

Structure Variables et constantes Fonctions

Fonctions de baseCes deux fonctions sont obligatoires dans tout programme Pyduino :

• setup () • loop ()

Syntaxe de base• def : déclaration d'une fonction • fin de ligne • : (deux-points) • # (commentaire sur une ligne) • """ """ (commentaire sur plusieurs lignes)

La documentation complète de la librairie Pyduino en français est disponible ici :

http://www.mon-club-elec.fr/pmwiki_reference_pyduino/pmwiki.php?n=Main.ReferenceEtendue

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 17/20.

Page 18: Ateliers Pyduino - mon-club-elec.fr

17. A présent, vous devriez être capable :

• d'écrire le programme Pyduino minimum

• d'ajouter des commentaires à votre programme

• d'exécuter votre programme sans erreur

• de corriger les erreurs d'écriture (ou syntaxe) de base

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 18/20.

Page 19: Ateliers Pyduino - mon-club-elec.fr

Table des matièresNIVEAU DEBUTANT |

Apprendre à écrire le programme Pyduino minimum. Intro | Pour passer à l'action... avec Pyduino : le matériel | Matériel nécessaire pour les ateliers Pyduino | Les différentes possibilités d'utiliser Pyduino | Installation de l'IDE Pyduino et de la librairie Pyduino à partir d'un paquet *.deb | Tester la bonne installation de Pyduino dans l'interpréteur Python | Notion de fonction | Ecrire une fonction | La fonction la plus simple | Les 2 fonctions de base obligatoires dans tout programme Pyduino | A vous de jouer : Ecrire et exécuter le programme Pyduino minimum dans l'IDE Pyduino | Truc : Charger un code Pyduino dans l'IDE Pyduino à partir d'un lien web | Signification des 2 boucles obligatoires setup() et loop() | Comment appeler une fonction dans un programme ? | Règles d'écriture (ou syntaxe) de base à connaître et à ne pas oublier ! | Les éléments du langage Pyduino étudiés dans cet atelier | A présent, vous devriez être capable : |

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 19/20.

Page 20: Ateliers Pyduino - mon-club-elec.fr

Bravo !vous avez terminé cet atelier Pyduino !

Prêt pour la suite ? Retrouvez de nombreux autres thèmes d'ateliers Pyduino ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINO

Atelier Pyduino : Apprendre à écrire le programme Pyduino minimum. p. 20/20.