Santiags
Posts: 5
Joined: Wed Jul 18, 2018 7:20 pm

Python gpion button

Wed Jul 18, 2018 7:31 pm

Bonjour ,
Je cherche la solution mais je ne trouve pas ...
Je souhaite configurer un bouton poussoir je veux que que ce bouton quand j'appuie dessus me donne la valeur 1 si je retest appuyer 5 seconde me donne la valeur égale à 2 et si je reste appuyer encore 5 seconde me donne la valeur 3
En faite je cherche à incrémenté une variable
En python ça serait biene

Merci de votre aide

jelopo
Posts: 1598
Joined: Wed Oct 17, 2012 7:53 pm

Re: Python gpion button

Thu Jul 19, 2018 7:25 am

Bonjour,

à partir d'un exemple de cette page , j'ai adapté à la volée ceci sans aucune garantie que ça fonctionne du premier coup.
- si appui et le compteur nul => valeur =1
- si on relâche et compteur non nul => Valeur 0
- si on reste appuyé jusqu'a 100 => valeur = valeur +1

Code: Select all

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
# Initialisation des variables
prev_input = 0
## Compteur 100x0.05= 5sec.
cnt=0
## Valeur 
val=0

while True:
  input = GPIO.input(17)
  if (input and cnt=0):
    val=1
  if ((not input) and cnt > 0 ):
    val=0
  if (prev_input and input and cnt>=100):
    val=val+1
    cnt=0
  prev_input = input
  time.sleep(0.05)
  cnt=cnt++
A+

Shyne_turtle
Posts: 5
Joined: Sun Jul 15, 2018 3:27 pm

Re: Python gpion button

Thu Jul 19, 2018 3:31 pm

bonjour,
jelopo, ton code devrait marcher, mais il faut que son entrée de bouton soit sur la broche 17 (ce n'est pas le chiffre inscrit sur le pi) sinon il ne marche pas, tu a juste oublié de lui préciser ça, pour t'aider Santiags, au cas ou tu ne l'a pas, je te donne l'image en pièce jointe pour savoir quelle broche de la carte est quelle broche du processeur:
gp.png
gp.png (39.19 KiB) Viewed 771 times
sur ce, bonne journée.
Shyne.

Santiags
Posts: 5
Joined: Wed Jul 18, 2018 7:20 pm

Re: Python gpion button

Thu Jul 19, 2018 5:25 pm

Bonjour ,

j'ai une autre question j'utilise le " from gpiozro import Button"

du coup je voulais savoir si il y avait une difference entre le gpiozero et le RPI.GPIO merci

jelopo
Posts: 1598
Joined: Wed Oct 17, 2012 7:53 pm

Re: Python gpion button

Thu Jul 19, 2018 6:02 pm

Bonjour,

Je ne connais pas cette bibliothèque, il faut sans doute adapter le code pour faire fonctionner le programme.

voir ici pour plus d'infos : https://gpiozero.readthedocs.io/en/stable/

EDIT : En lisant la doc de gpiozero, il semble encore plus simple d'écrire le programme en s'inspirant de l'exemple "3.6. BlueDot LED".
Dans un boucle infinie,
On attend l'appui sur le bouton

Code: Select all

button.wait_for_press()
On note l'heure début

Code: Select all

time.time()
On attend le relâchement du bouton

Code: Select all

button.wait_for_release()
On note l'heure de fin
On soustrait les 2 heures pour avoir la durée
On divise la durée par 5 secondes (opérateur // pour avoir un nombre entier)
On ajoute 1 au résultat

A toi de coder ;)

A+

Santiags
Posts: 5
Joined: Wed Jul 18, 2018 7:20 pm

Re: Python gpion button

Thu Jul 19, 2018 7:11 pm

vous avez pas un bon lien pour avoir les commandes RPI.GPIO , je ne trouve pas sur le site officiel merci d'avance

Return to “Français”