Wiki » History » Version 87
Sylvain Bentz, 01/28/2016 02:27 AM
1 | 86 | Sylvain Bentz | {{toc}} |
---|---|---|---|
2 | 77 | Sylvain Bentz | |
3 | 86 | Sylvain Bentz | Ce Wiki regorge de liens vers de la documentation et des tutoriels pour faire communiquer une Arduino et une Raspberry Pi. |
4 | 1 | Sylvain Bentz | |
5 | 25 | Sylvain Bentz | |
6 | 1 | Sylvain Bentz | |
7 | 86 | Sylvain Bentz | h1. Les bibliothèques : où les trouver ? |
8 | 72 | Sylvain Bentz | |
9 | 1 | Sylvain Bentz | |
10 | 86 | Sylvain Bentz | h2. Pour l'Arduino : http://playground.arduino.cc/Main/LibraryList#Comm |
11 | 1 | Sylvain Bentz | |
12 | 86 | Sylvain Bentz | [[Les bibliothèques Arduino]] : la sélection d'e-gab (ce qui pourrait être intéressant pour le robot ^^) |
13 | 1 | Sylvain Bentz | |
14 | |||
15 | 86 | Sylvain Bentz | h2. Pour la Raspberry Pi (Applications et bibliothèques) : http://playground.arduino.cc/Main/InterfacingWithSoftware |
16 | 71 | Sylvain Bentz | |
17 | 86 | Sylvain Bentz | [[Les bibliothèques Raspberry Pi]] : la sélection d'e-gab |
18 | 63 | Sylvain Bentz | |
19 | 85 | Sylvain Bentz | |
20 | 87 | Sylvain Bentz | h2. Autres liens |
21 | |||
22 | http://robotsbigdata.com/ Des biblios pour Arduino |
||
23 | http://www.raspberrypi-spy.co.uk/ Pleins de choses concernant la Raspberry Pi |
||
24 | |||
25 | |||
26 | |||
27 | |||
28 | 1 | Sylvain Bentz | |
29 | 86 | Sylvain Bentz | h1. Communication Raspberry-Arduino avec bus I2C |
30 | 1 | Sylvain Bentz | |
31 | 86 | Sylvain Bentz | Nous (sbentz et tbenhnini) avons choisi le bus I2C pour faire communiquer Raspi et Arduino. |
32 | On a réussi à transférer des mesures (= des floats) et des ordres (= des int)... |
||
33 | ...mais... |
||
34 | . les floats sont chiants à transférer |
||
35 | . les floats devaient être compris entre -100 et +100 |
||
36 | . le floats reçu par la Raspi n'était pas égal au float envoyé par l'Arduino : si sa partie décimale était non nulle, il y avait une erreur relative de 10^-7 |
||
37 | 64 | Sylvain Bentz | |
38 | 86 | Sylvain Bentz | warning. Possible problème de tension entre la RasPi (3.3V) et l'arduino (5V) (Uno, Nano et Mega = 5V) |
39 | 66 | Sylvain Bentz | |
40 | 1 | Sylvain Bentz | tip. Des solutions simples existent avec quelques résistances http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter |
41 | |||
42 | |||
43 | 86 | Sylvain Bentz | h2. Tutoriels |
44 | 49 | Sylvain Bentz | |
45 | 86 | Sylvain Bentz | _Raspberry-Pi - Arduino par l'intermédiaire d'un bus I2C_ *Au S7, on (sbentz et tbenhnini) s'en est inspiré pour faire communiquer Arduino et Raspi et coder* https://github.com/E-gab-ECM/Link_Raspberry-Arduino |
46 | http://mchobby.be/wiki/index.php?title=ArduPi-I2C |
||
47 | |||
48 | 1 | Sylvain Bentz | _Tuto de Julien Enselme ! : La communication série avec arduino (et Python)_ |
49 | http://www.jujens.eu/posts/2014/May/05/Communication-serie/ |
||
50 | |||
51 | 35 | Sylvain Bentz | _Raspberry Pi – Arduino – Lier les deux via le bus I2C_ |
52 | http://www.pihomeserver.fr/2013/08/13/raspberry-pi-home-server-arduino-lier-les-deux-via-bus-i2c/ |
||
53 | 36 | Sylvain Bentz | |
54 | 8 | Tarek Benhnini | _Arduino Serial communication_ |
55 | 1 | Sylvain Bentz | http://www.oxgadgets.com/2011/07/arduino-serial-communication.html |
56 | |||
57 | 21 | Sylvain Bentz | |
58 | 86 | Sylvain Bentz | h2. Documentation |
59 | 83 | Sylvain Bentz | |
60 | 1 | Sylvain Bentz | Arduino lit octet par octet, cf fonction read() |
61 | |||
62 | 68 | Sylvain Bentz | Arduino peut interpréter l'octet comme nombre (type int) ou string (type char) |
63 | 1 | Sylvain Bentz | |
64 | 86 | Sylvain Bentz | _Connecteurs I2C de l'Arduino : où sont-ils ?_ |
65 | Regarder la page de Wire Library (cf lien ci-dessous) |
||
66 | Regarder la page officielle de la carte (Uno pour l'exemple) : https://www.arduino.cc/en/Main/ArduinoBoardNano |
||
67 | 1 | Sylvain Bentz | |
68 | _Wire Library (I2C)_ |
||
69 | https://www.arduino.cc/en/Reference/Wire |
||
70 | |||
71 | _Wikipedia I2C_ |
||
72 | [[wikipedia>I²C]] |
||
73 | |||
74 | |||
75 | 86 | Sylvain Bentz | |
76 | h1. Communication Raspberry-Arduino ou Raspberry-Carte moteur MD25 avec bus Sériel |
||
77 | |||
78 | 1 | Sylvain Bentz | warning. Toujours faire attention au 3.3V de la Raspi, ajoutez des résistances si nécessaire |
79 | |||
80 | tip. pour résoudre le problème, cf http://blog.oscarliang.net/raspberry-pi-and-arduino-connected-serial-gpio/ |
||
81 | |||
82 | |||
83 | 86 | Sylvain Bentz | h2. Raspberry Pi |
84 | 34 | Sylvain Bentz | |
85 | 86 | Sylvain Bentz | h3. Bibliothèque python : pySerial https://pypi.python.org/pypi/pyserial |
86 | |||
87 | _Documentation de pySerial_ : http://pythonhosted.org/pyserial/ |
||
88 | |||
89 | 84 | Sylvain Bentz | h3. Tutos |
90 | 13 | Sylvain Bentz | |
91 | 84 | Sylvain Bentz | _Lecture/Ecriture sur le port série de la Raspi:_ |
92 | 65 | Sylvain Bentz | http://www.instructables.com/id/Read-and-write-from-serial-port-with-Raspberry-Pi/ |
93 | 37 | Sylvain Bentz | |
94 | 34 | Sylvain Bentz | |
95 | 86 | Sylvain Bentz | h2. Carte commande MD25 (utilisée pour l'asservissement des moteurs du grand robot) |
96 | |||
97 | 75 | Sylvain Bentz | _Documentation_: |
98 | http://www.robot-electronics.co.uk/htm/md25tech.htm |
||
99 | 48 | Sylvain Bentz | |
100 | 86 | Sylvain Bentz | notice. Comme indiqué il y a les deux modes I2C ou Serial de disponible pour la carte commande. Au choix.. mais le mode série est beaucoup plus clair. |
101 | 78 | Tarek Benhnini | |
102 | |||
103 | 86 | Sylvain Bentz | h2. Arduino |
104 | |||
105 | h3. Bibliothèque officielle Arduino |
||
106 | |||
107 | notice. Elle s'appelle SoftwareSerial. A l'époque (2013) elle était appelée NewSoftSerial. |
||
108 | |||
109 | _Documentation_ |
||
110 | http://arduiniana.org/libraries/NewSoftSerial/ |
||
111 | 78 | Tarek Benhnini | https://www.arduino.cc/en/Reference/Serial |
112 | 86 | Sylvain Bentz | |
113 | _A savoir_ |
||
114 | Le port Seriel (pins 0 et 1) est lié au port USB. Ce sont les mêmes. On ne peut pas brancher son PC par le port USB et la RasPi aux pins 0 et 1. Cependant, il semble qu'on peut tout de même téléverser ;) (cf le tuto) |
||
115 | L'Arduino Mega a 3 autres ports sériels : Seriel3 (pins 14 et 15), Seriel2 (16,17) et Seriel3 (18,19). |
||
116 | La biblio Arduino (SoftwareSerial) permet d'utiliser d'autres pins. |
||
117 | |||
118 | _Tutos_ |
||
119 | http://codeandlife.com/2012/07/29/arduino-and-raspberry-pi-serial-communication/ |
||
120 | |||
121 | |||
122 | h1. Archives |
||
123 | |||
124 | [[Arduino - Raspberry Pi w/ USB]] |
||
125 | |||
126 | [[ArduinoLampone]] |