Modifications

Sauter à la navigation Sauter à la recherche
2 099 octets ajoutés ,  27 février 2017 à 14:51
aucun résumé de modification
Ligne 8 : Ligne 8 :  
En fonction de l'état du bouton, le programme allumera la led Rouge ou Verte.
 
En fonction de l'état du bouton, le programme allumera la led Rouge ou Verte.
   −
Un [http://mchobby.be/PrestaShop/product.php?id_product=160 Pi Cobbler d'AdaFruit] (disponible chez MC Hobby) est utiliser pour faciliter le montage.
+
Un {{link-product-picobbler}} ou un {{link-product-picobblerplus}} (disponible chez MC Hobby) est utiliser pour faciliter le montage.
 +
 
 +
=== Pi-Cobbler ou Pi-Cobbler-Plus? ===
 +
 
 +
{{picobbler-compatibility}}
    
== Prérequis ==
 
== Prérequis ==
Assurez-vous d'avoir [http://mchobby.be/wiki/index.php?title=RaspberryPi-Accueil#Pr.C3.A9paration_pour_Python mis votre environnement Python à jour].
+
Assurez-vous d'avoir [[RaspberryPi-Accueil#Pr.C3.A9paration_pour_Python|mis votre environnement Python à jour]].
    
== Matériel ==
 
== Matériel ==
* Un [http://mchobby.be/PrestaShop/product.php?id_product=160 Pi-Cobbler]
+
* Un {{pl|160|Pi-Cobbler}}
 
* 2 x résistance de 330 Ohms (Orange, Orange, Brun)
 
* 2 x résistance de 330 Ohms (Orange, Orange, Brun)
 
* 1 x Led Rouge
 
* 1 x Led Rouge
Ligne 33 : Ligne 37 :     
Note: Ceux d'entre-vous qui utilisent un Arduino noterons que '''la tension du GPIO d'un Raspberry est 3.3v''' (et non 5v comme pour un Arduino)
 
Note: Ceux d'entre-vous qui utilisent un Arduino noterons que '''la tension du GPIO d'un Raspberry est 3.3v''' (et non 5v comme pour un Arduino)
 +
 +
=== Pull-up/Pull-down interne ===
 +
Pour les initiés, votre Raspberry-Pi dispose déjà de résistance pull-up ou pull-down que vous pouvez activer au moment de la déclaration de la broche en entrée.
 +
 +
<nowiki>GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
 +
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)</nowiki>
 +
 +
[http://makezine.com/projects/tutorial-raspberry-pi-gpio-pins-and-python/ Voyez cet article sur Make Magazine] pour plus d'information
    
== Montage ==
 
== Montage ==
Ligne 115 : Ligne 127 :  
=== Solution: le déparasitage logiciel ===
 
=== Solution: le déparasitage logiciel ===
   −
xxx
+
Le déparasitage logiciel consiste à faire une seconde vérification du signal après une courte pause.<br />
 +
Comme la période transitoire est très courte (de l'ordre de la milliseconde), faire une pause de 10 millisecondes entre deux lectures successives permet de s'assurer que le signal à vraiment changé de "façon définitive".<br />
 +
La pression du bouton n'étant humainement jamais inférieur à 10 ms, ont est certain de ne pas rater la pression du bouton lorsque l'action se présentera.
 +
 
 +
Si l'on se trouve dans une période transitoire, il est fort probable que la deuxième lecture ne soit pas identique (pas la même valeur).<br />
 +
Dans ce cas, il suffit d'ignorer le changement d'état car c'est une lecture parasite.
 +
 
 +
Le script python ci-dessous met ces quelques explications en oeuvre.
 +
 
 +
== Déparasitage Matériel ==
 +
Vous pouvez utiliser une {{pl|456|capacité de 10nF}} en parallèle avec votre bouton pour éliminer une bonne partie des parasites.
 +
 
 +
Vous pouvez vous inspirer [[Entr%C3%A9e_Bouton#D.C3.A9parasitage_mat.C3.A9riel_-_version_1|des explications et montages de notre tutoriel bouton pour Arduino]]. N'oubliez pas d'utiliser une tension de 3.3 Volts pour votre Pi ;-)
    
== Script Python - déparasitage logiciel ==
 
== Script Python - déparasitage logiciel ==
Ligne 188 : Ligne 212 :  
Il faut donc indiquer au système d'exploitation qu'il peut autoriser l'exécution de notre raspi-button2.py
 
Il faut donc indiquer au système d'exploitation qu'il peut autoriser l'exécution de notre raspi-button2.py
 
  <nowiki>chmod +x raspi-button2.py</nowiki>
 
  <nowiki>chmod +x raspi-button2.py</nowiki>
 +
 +
=== Executer le programme ===
 +
Taper simplement la commande suivante:
 +
  <nowiki>sudo ./raspi-button2.py</nowiki>
 +
 +
== Où acheter ==
 +
Vous pouvez trouver plusieurs modèles de bouton chez MCHobby
 +
* {{pl|39|Bouton tactile standard 6mm}}
 +
* {{pl|378|Bouton tactile étroit}}
 +
* {{pl|1086|Bouton tactile large 12mm}} (très pratique pour les Workshops).
 +
* {{pl|187|Bouton tactile avec capuchon carré}}
 +
* {{pl|344|Bouton tactile avec capuchon rond}}
 +
 +
{{ADF-Accord}}
 +
 +
{{MCH-Accord}}
29 836

modifications

Menu de navigation