MagPI 6 Page 11

De Le French MagPi
Aller à : Navigation, rechercher

Avec un changement des valeurs de résistance, l'état du FET peut rester inchangé si le bouton est enfoncé lorsque la GPIO est mis en sortie.

Par exemple: si R1 vaut 330Ω et que le bouton est connecté via 4k7Ω, Vgs sera toujours au-delà de 3.0V avec le bouton enfoncé si la sortie GPIO est à l’état haut.

Les 2N7000s sont disponibles pour 10 cts. D'autres superbes composants sont maintenant disponibles. Certains, comme le 2SK4043LS peuvent commuter des courants de 80A avec un petit Vgs de 2.5V. Un simple transistor commandé par le PI ne pourrait jamais faire ça. Le 2SK3018, est un CMS (composant monté en surface) conçu pour des conditions de Vgs de faible valeur comme ici avec le PI.


#!/usr/bin/pyton
#Test d'une entrée avec indication visuelle
import RPi.GPIO as GPIO
import time

#Utilisation de la numérotation BCM du GPIO
GPIO.setmode(GPIO.BCM)

#(pull_up_down peut valoir PUD_OFF, PUD_UP ou
#PUD_DOWN, PUD_OFF par défaut)
GPIO.setup(4, GPIO.IN, pull_up_down = GPIO.PUD_UP)

# test si la broche peut atteindre l'état haut
if GPIO.input(4):
    print ('Entrée à l'état haut -Correct')
    time.sleep(0.2)
    GPIO.setup(4, GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
else:
    print ('Entrée en défaut - pin4')
    time.sleep(1)
    quit()

# test si la broche peut atteindre l'état bas
if GPIO.input(4):
    print ('Entrée en défaut - pin4')
    time.sleep(1)
    quit()
else:
    print ('Entrée à l'état bas -Correct')
    time.sleep(1)

#Si on arrive ici , Les états haut et bas des entrées
#sont atteignables
print ('Test des entrées - Correct')

# Début de la démo avec le bouton

print('Appuyez sur le bouton')

while True:

    # Positionner l'entrée à l'état haut et
    # attendre un appui sur le bouton
    GPIO.setup(4, GPIO.IN,pull_up_down=GPIO.PUD_UP)

    # bouton enfoncé
    if not GPIO.input(4):
        print ('bouton enfoncé')
        time.sleep(1)

        # Bouton relaché
        if GPIO.input(4):
            print ('Bouton relaché')
            flash = 20
            GPIO.setup(4, GPIO.OUT)

            # Tant que flash >0 (20 fois)
            while flash > 0:
                GPIO.output(4, true)
                time.sleep(0.1)
                GPIO.output(4, false)
                time.sleep(0.1)
                flash -=1

            print('Appuyez sur le bouton')


Il y a beaucoup à dire sur le FET dans cette application

Clive Tombs


Note de l’éditeur. Nous aimons recevoir le courrier de nos lecteurs. Si vous avez un commentaire sur un article, ou une astuce en rapport avec le R-Pi à partager, s'il vous plaît envoyez-les nous, et nous essaierons de les prendre en compte dans un prochain numéro.


LE SAVIEZ-VOUS ? La série d’articles "Sous contrôle" des numéros 2, 3 et 4 est excellente pour débuter et apprendre à utiliser les GPIO. Si vous n'avez pas encore commencé, mais que vous voulez vous lancer, il y a eu quelques mises à jour de la bibliothèque Python Raspi GPIO dont vous avez besoin avant de commencer.

1) La bibliothèque Raspi GPIO peut maintenant être facilement installée avec: $sudo apt-get install python-rpi.gpio ou $sudo apt-get install python3-rpi.gpio

2) Ajoutez les lignes suivantes à chaque programme:

Import RPI.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils