Logo Mon Club Elec

Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Le pcDuino est une plateforme de développement open source qui permet aux développeurs de créer des applications et des systèmes embarqués. Avec Pyduino, un langage de programmation Python spécialement conçu pour le pcDuino, les développeurs peuvent facilement contrôler les périphériques connectés à la plateforme. Dans cet article, nous allons voir comment utiliser Pyduino pour allumer et éteindre des sorties numériques à l’aide d’un numpad (clavier numérique). Nous verrons également comment configurer le pcDuino et Pyduino pour contrôler les sorties numériques.

Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Ce que l’on va faire ici

  • Dans ce code, la saisie d’une valeur numérique sur un numpad va permettre de contrôler l’état de 8 broches numériques en sortie. Le principe sera la suivant :
    • saisir le signe – si on veut mettre au niveau LOW, rien sinon
    • saisir le numéro de la broche de 0 à 7
    • puis valider
  • A noter la valeur 99 qui allume toutes les LEDs à la fois et la valeur -99 qui éteint toutes les LEDs à la fois.

Noter que l’utilisation d’un keypad numérique USB (ou numpad) permet de remplacer simplement et avantageusement (ne coûte que quelques euros) un clavier numérique matriciel 4×4 (avec signes d’opération et touche de validation!), même si aucun écran n’est connecté, tant que le programme Pyduino a le focus, ce qui est obligatoirement le cas une fois le programme lancé, tant qu’on n’utilise pas de souris ! De plus, le code de gestion du clavier est très simple, puisqu’il est géré par le système !

Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Pré-requis

Schéma fonctionnel

  • Le numpad numérique contrôle les broches E/S :
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Matériel nécessaire

Système

  • Le pcDuino
  • Un clavier numérique (numpad) :
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

E/S

  • une plaque d’essai pour montage sans soudures,
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )
  • des straps,
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )
  • 8 x LED rouge 5mm,
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )
  • 8 x résistance 1/4w de 270 Ohms environ,
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique ) Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

Instructions de montage

  • Connecter sur les broches 0 à 7 (configurée en sortie) une LED et sa résistance (270 Ohms) en série connectée au 0V
  • Note technique : chaque broche va fournir (3.3-1.5)/270 = 6,66 mA soit au total 8 x 6,66mA… soit 53mA au plus, ce qui semble tout à fait acceptable pour ne pas risquer d’endommager le mini-PC.

Le montage à réaliser

Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l’aide d’un numpad (clavier numérique )

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
# Juillet 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# test raw_input

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative

#— setup —
def setup():
        for i in range(0,8):  # defile broches
                pinMode(i, OUTPUT) # met la broche en sortie
                digitalWrite(i,LOW) # eteint les broches

# — fin setup —

# — loop —
def loop():

        # try.. except.. permet d’éviter le blocage si erreur de saisie
        try:
                reponse=raw_input(« Selectioner broche (+/- suivi numero suivi enter) : « )
        except: # erreur
                print (« Veuillez recommencer ! »)
                return  # sort de la fonction loop

        print (« Vous avez saisi : «  + str(reponse) )

        pin = abs(int(reponse))

        if pin<=7 :   # si valeur entre 0 et 7
                if str(reponse)[0]==« -«  :
                        digitalWrite(pin,LOW) # eteint la LED si negatif
                else :
                        digitalWrite(pin,HIGH) # allume la LED

        elif pin==99: # toutes les broches a la fois
                if str(reponse)[0]==« -«  :
                        for i in range(0,8):  # defile broches
                                digitalWrite(i,LOW) # eteint les LED si negatif
                else :
                        for i in range(0,8):  # defile broches
                                digitalWrite(i,HIGH) # allume les LED

# — 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
 

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

Utilisation

  • Réaliser le montage et connecter le clavier sur le port USB
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal doit apparaître : saisir une valeur de 0 à 7, précédée du signe – si on souhaite éteindre la LED. La valeur 99 a effet sur toutes les LEDs à la fois.
Programmer le pcDuino : Pyduino : périphériques : Allumer/éteindre sorties numériques à l&rsquo;aide d&rsquo;un numpad (clavier numérique )
  • Une fois, le programme lancé, plus besoin d’accès VNC, ni d’écran : les LEDs sont contrôlées directement par le numpad.
  • Simple et efficace.

Discussion technique

  • Ce code peut encore être amélioré pour éviter tout blocage en cas d’erreur de saisie à l’aide de try… except…
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é.