issue112: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 | ||
| issue112:python [2016/09/12 14:29] – auntiee | issue112:python [2016/09/12 14:57] (Version actuelle) – auntiee | ||
|---|---|---|---|
| Ligne 108: | Ligne 108: | ||
| **i2c | **i2c | ||
| - | i2c requires only 2 lines like async serial, but those two lines can | + | i2c requires only 2 lines like async serial, but those two lines can support up to 1008 slave devices. Unlike SPI, i2c can support a multi-master system – allowing multiple slave devices to communicate to multiple master devices. There is a limitation that the masters can not communicate with each other on the i2c bus, and they must take turns using the bus lines. i2c has a similar overhead to Async in that, for each 8 bits of data, one extra bit is required as an " |
| - | support up to 1008 slave devices. Unlike SPI, i2c can support a | + | |
| - | multi-master system – allowing multiple slave devices to communicate to | + | |
| - | multiple master devices. There is a limitation that the masters can not | + | |
| - | communicate with each other on the i2c bus, and they must take turns | + | |
| - | using the bus lines. i2c has a similar overhead to Async in that, for | + | |
| - | each 8 bits of data, one extra bit is required as an " | + | |
| - | hardware requirements are more complex than SPI, but less than Async. | + | |
| - | Data rates are somewhere between Async and SPI. Most i2c devices can | + | Data rates are somewhere between Async and SPI. Most i2c devices can communicate at between 100 KHz to 400 KHz. |
| - | communicate at between 100 KHz to 400 KHz. | + | |
| In the diagram above, SDA is the data line and SCL is the clock line. | In the diagram above, SDA is the data line and SCL is the clock line. | ||
| - | Hopefully I didn’t completely confuse you and you are ready to go ahead | + | Hopefully I didn’t completely confuse you and you are ready to go ahead with our project. |
| - | with our project. | + | |
| - | A very good resource for what we are about to do is at | + | A very good resource for what we are about to do is at http:// |
| - | http:// | + | |
| - | Make | + | Make sure that i2c is enabled on the RPi. This is set in raspi-config. |
| - | sure that i2c is enabled on the RPi. This is set in raspi-config. | + | |
| - | Now, in a terminal, use apt-get to install two support libraries. (I | + | Now, in a terminal, use apt-get to install two support libraries. (I wasn’t able to get it to work as a single liner for some reason.): |
| - | wasn’t able to get it to work as a single liner for some reason.): | + | |
| sudo apt-get install i2c-tools | sudo apt-get install i2c-tools | ||
| Ligne 146: | Ligne 134: | ||
| plusieurs périphériques maîtres. Les maîtres ne peuvent pas communiquer | plusieurs périphériques maîtres. Les maîtres ne peuvent pas communiquer | ||
| entre eux sur le bus i2c et doivent utiliser les lignes de bus à tour de | entre eux sur le bus i2c et doivent utiliser les lignes de bus à tour de | ||
| - | rôle ; il y a donc des limitations. i2c a une format | + | rôle ; il y a donc des limitations. i2c a un « coût » semblable à celui d'Async |
| en ce sens que, pour chaque donnée de 8 bits, un bit supplémentaire est | en ce sens que, pour chaque donnée de 8 bits, un bit supplémentaire est | ||
| nécessaire comme un bit " | nécessaire comme un bit " | ||
| Ligne 157: | Ligne 145: | ||
| ligne d' | ligne d' | ||
| - | Espérons que je ne vous aie pas totalement embrouillé, et soyez prêt à | + | Espérons que je ne vous aie pas totalement embrouillé et que vous êtes prêt à |
| continuer avec notre projet. | continuer avec notre projet. | ||
| Ligne 164: | Ligne 152: | ||
| http:// | http:// | ||
| - | Assurez-vous | + | Assurez-vous que i2c est activé sur le RPi. On règle cela dans raspi-config. |
| - | que i2c est activé sur le RPi. Ceci est situé | + | |
| Maintenant, dans un terminal, utilisez apt-get pour installer deux | Maintenant, dans un terminal, utilisez apt-get pour installer deux | ||
| bibliothèques de support. (Je n'ai pas réussi à le lancer sur une seule | bibliothèques de support. (Je n'ai pas réussi à le lancer sur une seule | ||
| - | ligne pour une raison | + | ligne pour une raison |
| sudo apt-get install i2c-tools | sudo apt-get install i2c-tools | ||
| sudo apt-get install python-smbus | sudo apt-get install python-smbus | ||
| - | |||
| **I was able to get Fritzing to come up with the i2c backpack (shown top | **I was able to get Fritzing to come up with the i2c backpack (shown top | ||
| Ligne 206: | Ligne 192: | ||
| 5 (GPIO3). Choisissez une broche de 5V libre sur le RPi (broche 2 ou 4) | 5 (GPIO3). Choisissez une broche de 5V libre sur le RPi (broche 2 ou 4) | ||
| et une masse libre (broche 6 ou 9) et connectez-les aux VCC (+5V) et | et une masse libre (broche 6 ou 9) et connectez-les aux VCC (+5V) et | ||
| - | Gnd (masse) de l' | + | Gnd (masse) de l' |
| - | capteur de température | + | capteur de température à GPIO4, comme le mois dernier (avec la |
| résistance à +5VDC). | résistance à +5VDC). | ||
| - | Maintenant, redémarrez et une fois que le RPi est prêt, tapez dans le | + | Maintenant, redémarrez et, une fois que le RPi est prêt, tapez dans le |
| terminal : | terminal : | ||
| i2cdetect -y 1 | i2cdetect -y 1 | ||
| - | Ceci permettra de vérifier que l' | + | Ceci permettra de vérifier que l' |
| - | et vous dire aussi quelle est l' | + | et vous dira aussi quelle est l' |
| Regardez la capture d' | Regardez la capture d' | ||
| devrait ressembler. | devrait ressembler. | ||
| Ligne 262: | Ligne 248: | ||
| Maintenant, nous allons faire un petit test pour nous assurer que tout | Maintenant, nous allons faire un petit test pour nous assurer que tout | ||
| - | fonctionne. Tapez le code suivant et enregistrez-le sous i2c_test1.py, | + | fonctionne. Tapez le code suivant et enregistrez-le sous i2c_test1.py |
| dans le même dossier que le pilote que nous venons d' | dans le même dossier que le pilote que nous venons d' | ||
| import i2c_lcd_driver | import i2c_lcd_driver | ||
| + | from time import | ||
| - | i2c_lcd_driver.lcd | + | mylcd = i2c_lcd_driver.lcd() |
| - | mylcd.lcd_display_string ( "Ceci est un test", 1) | + | mylcd.lcd_display_string(" |
| Si tout est correct, vous devrez voir « Ceci est un test » à la position | Si tout est correct, vous devrez voir « Ceci est un test » à la position | ||
| Ligne 277: | Ligne 264: | ||
| version parallèle. | version parallèle. | ||
| - | Ceci termine | + | Cela termine notre présentation des écrans LCD et i2c. Nous |
| utiliserons les écrans LCD i2c et d' | utiliserons les écrans LCD i2c et d' | ||
| vous devrez donc les garder en sécurité pour plus tard. Le mois | vous devrez donc les garder en sécurité pour plus tard. Le mois | ||
| - | prochain, nous allons commencer à travailler avec les moteurs, | + | prochain, nous allons commencer à travailler avec des moteurs, |
| - | servos et les moteurs pas-à-pas. | + | servos et des moteurs pas-à-pas. |
| - | | + | (un moteur |
| commencer à travailler avec le microcontrôleur Arduino, puis apprendre à | commencer à travailler avec le microcontrôleur Arduino, puis apprendre à | ||
| | | ||
| - | Jusque-là, amusez vous. | + | Jusque-là, amusez vous bien. |
issue112/python.1473683385.txt.gz · Dernière modification : 2016/09/12 14:29 de auntiee
