Page 1 sur 1

problèmes Instructions Event_detect

Posté : mer. 11 févr. 2015 19:12
par fatboy
Bonjour
je fais quelques test concernant l'interface GPIO, et j'ai un problème sur une application très simple : Détecter l'appui sur un interrupteur, j'ai fait un petit montage qui utilise le GPIO 17, quand je lance le programme tout ce passe bien mais le message "bouton pressé" n'apparait jamais
J'ai controlé mon montage au voltmètre sur la pin 17 et il y a bien une tension de 3,3 v , et de 0v quand le bouton est préssé
j'ai mis dans le programme l'affichage de la valeur de la pin 17 et j'ai bien 1 ou 0

je ne vois pas pourquoi l'instruction GPIO.add_event_detect ne fonctionne pas ?

quelqu'un peut-il regarder ce petit programme que je met en pièce jointe

Merci

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 08:27
par Manfraid
déjà, une petite question quand tu lance le programme, est-ce que celui si se termine de suite ou il reste en fonctionnement ?

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 10:17
par fatboy
bonjour

il se termine de suite

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 11:26
par nexen
donc il est normal qu'il ne détecte rien :)

il te faut ce que l'on appel un boucle 'infinie' qui laisse ton programme en mémoire.

exemple :

boucle = True
while boucle == True:
........
NexeN

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 11:33
par Manfraid
oui voila c'est exactement ça. comme ton programme se termine l'event ne peu être lancer

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 12:38
par vague nerd
Bonjour.

La syntaxe aurait été la suivante.

Code : Tout sélectionner

While True:
     [Ce que doit faire le programme]
     time.sleep(0.1)
J'en parle pour attirer votre attention sur la temporisation :

Code : Tout sélectionner

time.sleep(0.1)
Cela endort le thread pendant 1/10eme de seconde. L'idée est de moins surcharger le cpu... l’inconvénient étant que [Ce que doit faire le programme] n'est plus exécuté "aussi souvent que possible" par le pi.
Dans votre cas, [ce que doit faire le programme] va être très rapide (à priori, il n'y aura rien à faire, dans un premier temps). La temporisation est d'autant plus importante, pour ne pas surcharger le pi à ne rien faire !

Cdt.

Edit : regardez le premier code source de http://makezine.com/projects/tutorial-r ... nd-python/. Ici, le thread est endormis par

Code : Tout sélectionner

GPIO.wait_for_edge()
(attend que ...).

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 14:36
par fatboy
bonjour,

merci pour ces explications , le programme fonctionne très bien
comme je débute, savez vous s'il existe une brochure en PDF sur internant traitant de la programmation PYTHON ainsi que de toutes les commandes GPIO

Merci encore , je continue mes premières expériences

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 16:03
par Brunob91
Bonjour,

concernant la programmation python tu as un site :
http://openclassrooms.com/courses/appre ... -en-python

Sinon il y a quelques tutoriels en français en vidéos :
https://www.youtube.com/user/Pythonneries/videos

Et en cherchant il en existe pleins.

Cdt

Re: problèmes Instructions Event_detect

Posté : jeu. 12 févr. 2015 21:06
par domi
+1 pour openclassrooms,
à garder dans vos favoris ;-)

Re: problèmes Instructions Event_detect

Posté : mer. 18 févr. 2015 11:14
par phdenaujan
Bonjour,

Un livre disponible gratuitement en téléchargement :

http://inforef.be/swi/python.htm

Cordialement