issue119:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue119:python [2017/04/09 23:01] – d52fr | issue119:python [2017/04/12 10:52] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
Qu' | Qu' | ||
- | Firmata est un protocole de communication série utilisé depuis longtemps pour les communications entre des micro-controlleurs | + | Firmata est un protocole de communication série utilisé depuis longtemps pour les communications entre des micro-contrôleurs |
- | En utilisant le script « Standard Firmata » inclus dans les exemples Arduino, vous pouvez avoir accès et piloter n' | + | En utilisant le script « Standard Firmata » inclus dans les exemples Arduino, vous pouvez avoir accès |
**Getting Started | **Getting Started | ||
Ligne 35: | Ligne 35: | ||
Si vous testez Firmata/ | Si vous testez Firmata/ | ||
- | Assurez-vous de paramétrer les permissions | + | Assurez-vous de paramétrer les permissions |
./ | ./ | ||
Ligne 41: | Ligne 41: | ||
Réglez le port sur le même port que celui de l' | Réglez le port sur le même port que celui de l' | ||
- | Cliquez sur le bouton marqué « Low » pour la broche 13. Il devrait changer pour « High » et la LED de la carte Arduino devrait s' | + | Cliquez sur le bouton marqué « Low » pour la broche 13. Il devrait changer pour « High » et la LED de la carte Arduino devrait s' |
**Going Further | **Going Further | ||
Ligne 77: | Ligne 77: | ||
Notre premier exemple Python nécessitera un bouton-poussoir temporaire connecté à la broche 2 de l' | Notre premier exemple Python nécessitera un bouton-poussoir temporaire connecté à la broche 2 de l' | ||
- | De base, nous connectons simplement le +5 VDC de l' | + | De base, nous connectons simplement le +5 VDC de l' |
Sur l' | Sur l' | ||
- | Sur votre ordinateur, vous pouvez soit essayer simplement d' | + | Sur votre ordinateur, vous pouvez soit essayer simplement d' |
**import serial | **import serial | ||
Ligne 99: | Ligne 99: | ||
import serial | import serial | ||
- | s = serial.Serial('/ | + | s = serial.Serial('/ |
while True: | while True: | ||
print s.readline() | print s.readline() | ||
- | Si vous appuyez puis relâchez le bouton, vous devriez voir la sortie sur le terminal passer de 0 à 1 puis de 1 à 0. | + | Si vous appuyez |
Pour quitter le programme, utilisez < | Pour quitter le programme, utilisez < | ||
- | Maintenant, vous avez écrit | + | Vous venez d' |
**Now we’ll do something a bit more complicated. We’ll “monitor” an analogue voltage (controlled by a potentiometer) on analogue input A0 and if the voltage is over a certain value (.50) we’ll turn on a LED connected to digital pin #2. Below is the Fritzing breadboard. | **Now we’ll do something a bit more complicated. We’ll “monitor” an analogue voltage (controlled by a potentiometer) on analogue input A0 and if the voltage is over a certain value (.50) we’ll turn on a LED connected to digital pin #2. Below is the Fritzing breadboard. | ||
Ligne 129: | Ligne 128: | ||
Here we are setting up for 4 analogue pins to be handled, even though we are only going to use pin 0 for this example.** | Here we are setting up for 4 analogue pins to be handled, even though we are only going to use pin 0 for this example.** | ||
- | Maintenant, nous allons faire quelque chose d'un peu plus compliqué. Nous allons « suivre » une tension analogique (contrôlée par un potentiomètre) sur l' | + | Maintenant, nous allons faire quelque chose d'un peu plus compliqué. Nous allons « suivre » une tension analogique (contrôlée par un potentiomètre) sur l' |
- | En utilisant à nouveau le code StandardFirmata de l' | + | En utilisant à nouveau le code StandardFirmata de l' |
Le code Python est ci-dessous. Je l'ai nommé « analogue_test1.py ». | Le code Python est ci-dessous. Je l'ai nommé « analogue_test1.py ». | ||
Ligne 137: | Ligne 136: | ||
import pyfirmata | import pyfirmata | ||
- | PORT = "/ | + | PORT = "/ |
board = pyfirmata.Arduino(PORT) | board = pyfirmata.Arduino(PORT) | ||
Ligne 145: | Ligne 144: | ||
PINS = (0, 1, 2, 3) | PINS = (0, 1, 2, 3) | ||
- | Ici, nous faisons le paramétrage pour manipuler 4 broches analogiques, | + | Ici, nous faisons le paramétrage pour pouvoir |
**The next two lines create an iterator to handle the serial communications for the analogue ports. This is recommended in the pyfirmata documentation. | **The next two lines create an iterator to handle the serial communications for the analogue ports. This is recommended in the pyfirmata documentation. | ||
Ligne 166: | Ligne 165: | ||
board.pass_time(1)** | board.pass_time(1)** | ||
- | Les deux prochaines lignes créeront un itérateur pour manipuler | + | Les deux prochaines lignes créeront un itérateur pour gérer |
it = pyfirmata.util.Iterator(board) | it = pyfirmata.util.Iterator(board) | ||
Ligne 204: | Ligne 203: | ||
The board.pass_time command takes an integer of t number of whole seconds. It is a non-blocking call, so it does not block other processing.** | The board.pass_time command takes an integer of t number of whole seconds. It is a non-blocking call, so it does not block other processing.** | ||
- | Maintenant, nous démarrons | + | Maintenant, nous démarrons |
while True: | while True: | ||
Ligne 217: | Ligne 216: | ||
pin2.write(0) | pin2.write(0) | ||
- | Dans cette boucle, nous lisons la borne analogique (souvenez-vous que la valeur sera entre 0.0 et 0.9) et, si elle est égale ou supérieure à 0,5, nous écrirons alors un 1 sur la sortie digitale de la broche | + | Dans cette boucle, nous lisons la borne analogique (souvenez-vous que la valeur sera entre 0,0 et 0,9) et, si elle est égale ou supérieure à 0,5, nous écrirons alors un 1 vers la sortie digitale de la broche |
board.pass_time(1) | board.pass_time(1) | ||
- | La commande board.pass_time prend, sous forme d' | + | La commande board.pass_time prend, sous forme d' |
**The Python source code is available on pastebin at http:// | **The Python source code is available on pastebin at http:// | ||
Ligne 233: | Ligne 232: | ||
Le code Python est disponible sur pastebin à http:// | Le code Python est disponible sur pastebin à http:// | ||
- | Maintenant que nous avons l' | + | Maintenant que vous avez l' |
- | Vous aurez peut-être réalisé que cette solution ne marche qu' | + | Vous aurez peut-être réalisé que cette solution ne marche qu' |
Amusez-vous bien ! | Amusez-vous bien ! |
issue119/python.1491771676.txt.gz · Dernière modification : 2017/04/09 23:01 de d52fr