Bonjour,
J’ai besoin de naviguer d’une photo à l’autre, en utilisant deux boutons poussoirs, un « gauche » et un « droite ». Au démarrage le programme lance une image d’accueil, et ensuite en fonction de mon appui sur gauche ou droite, apparait l’image à gauche de celle de l’image d’accueil, et à droite de mon image d’accueil.
Voilà l’état de mon programme.
Je suis vraiment à un très bas niveau en python, mais j’ai réussi à atteindre l’objectif.
Ca marche! mais à des moments le programme se bloque sans que j’en identifie la raison. De plus, je pense qu’une simplification, et des améliorations doivent être faites, d’autant que souhaite utiliser plus de trois images!!!
Voilà le code :
#!/usr/bin/env python3
coding: utf-8
from time import sleep
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.add_event_detect(17, GPIO.FALLING)
GPIO.add_event_detect(27, GPIO.FALLING)
a = 20
b = 20
while True:
if a == 20 and b == 20 :
histoire = « hanseletgretel.jpg »
os.system(« fbi -T 50 /home/pi/Desktop/ » + histoire)
sleep(1)
b = b + 1
if GPIO.event_detected(27):
a = a + 1
if GPIO.event_detected(17):
a = a - 1
if a == 19 and b == 21 :
histoire = « leloupetleschevreaux.jpg »
os.system(« fbi -T 50 /home/pi/Desktop/ » + histoire)
sleep(1)
b = b - 1
if a == 21 and b == 21:
histoire = « lestroispetitscochons.jpg »
os.system(« fbi -T 50 /home/pi/Desktop/ » + histoire)
sleep(1)
b = b - 1
if a == 18 :
a = 19
if a == 22 :
a = 21
En gros chaque interruption de mon « gauche » ou de mon « droite » augmente ou baisse de 1 la valeur de a; le valeurs de b elles varient après que l’image soit affichée. en effet si je ne fais pas varier b après l’affichage, mes images clignotent puisque les conditions se re remplissent à l’infini dans ma boucle.
Voilà, j’espère etre suffisamment clair, je vous remercie de l’aide que vous pourriez m’apporter pour simplifier tout ça, j’imagine avec des fonctions que je connais ou ne maitrise pas.
Merci encore