Project

General

Profile

Wiki » History » Version 88

Sylvain Bentz, 01/28/2016 02:28 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 86 Sylvain Bentz
h2. Tutoriels
43 1 Sylvain Bentz
44 88 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-Raspi et coder*  https://github.com/E-gab-ECM/Link_Raspberry-Arduino
45 86 Sylvain Bentz
http://mchobby.be/wiki/index.php?title=ArduPi-I2C
46
47 1 Sylvain Bentz
_Tuto de Julien Enselme ! : La communication série avec arduino (et Python)_
48
http://www.jujens.eu/posts/2014/May/05/Communication-serie/
49
50 35 Sylvain Bentz
_Raspberry Pi – Arduino – Lier les deux via le bus I2C_
51
http://www.pihomeserver.fr/2013/08/13/raspberry-pi-home-server-arduino-lier-les-deux-via-bus-i2c/
52 36 Sylvain Bentz
53 8 Tarek Benhnini
_Arduino Serial communication_
54 1 Sylvain Bentz
http://www.oxgadgets.com/2011/07/arduino-serial-communication.html
55 21 Sylvain Bentz
56 86 Sylvain Bentz
h2. Documentation
57 83 Sylvain Bentz
58 1 Sylvain Bentz
Arduino lit octet par octet, cf fonction read()
59
60 68 Sylvain Bentz
Arduino peut interpréter l'octet comme nombre (type int) ou string (type char)
61 1 Sylvain Bentz
62 86 Sylvain Bentz
_Connecteurs I2C de l'Arduino : où sont-ils ?_
63
Regarder la page de Wire Library (cf lien ci-dessous)
64
Regarder la page officielle de la carte (Uno pour l'exemple) : https://www.arduino.cc/en/Main/ArduinoBoardNano
65 1 Sylvain Bentz
66
_Wire Library (I2C)_
67
https://www.arduino.cc/en/Reference/Wire
68
69
_Wikipedia I2C_
70
[[wikipedia>I²C]]
71
72
73 86 Sylvain Bentz
74
h1. Communication Raspberry-Arduino ou Raspberry-Carte moteur MD25 avec bus Sériel
75
76 1 Sylvain Bentz
warning. Toujours faire attention au 3.3V de la Raspi, ajoutez des résistances si nécessaire
77
78
tip. pour résoudre le problème, cf http://blog.oscarliang.net/raspberry-pi-and-arduino-connected-serial-gpio/
79
80
81 86 Sylvain Bentz
h2. Raspberry Pi
82 34 Sylvain Bentz
83 86 Sylvain Bentz
h3. Bibliothèque python : pySerial https://pypi.python.org/pypi/pyserial
84
85
_Documentation de pySerial_ : http://pythonhosted.org/pyserial/
86
87 84 Sylvain Bentz
h3. Tutos
88 13 Sylvain Bentz
89 84 Sylvain Bentz
_Lecture/Ecriture sur le port série de la Raspi:_
90 65 Sylvain Bentz
http://www.instructables.com/id/Read-and-write-from-serial-port-with-Raspberry-Pi/
91 37 Sylvain Bentz
92 34 Sylvain Bentz
93 86 Sylvain Bentz
h2. Carte commande MD25 (utilisée pour l'asservissement des moteurs du grand robot)
94
95 75 Sylvain Bentz
_Documentation_:
96
http://www.robot-electronics.co.uk/htm/md25tech.htm
97 48 Sylvain Bentz
98 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.
99 78 Tarek Benhnini
100
101 86 Sylvain Bentz
h2. Arduino
102
103
h3. Bibliothèque officielle Arduino
104
105
notice. Elle s'appelle SoftwareSerial. A l'époque (2013) elle était appelée NewSoftSerial.
106
107
_Documentation_
108
http://arduiniana.org/libraries/NewSoftSerial/
109 78 Tarek Benhnini
https://www.arduino.cc/en/Reference/Serial
110 86 Sylvain Bentz
111
_A savoir_
112
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)
113
L'Arduino Mega a 3 autres ports sériels : Seriel3 (pins 14 et 15), Seriel2 (16,17) et Seriel3 (18,19).
114
La biblio Arduino (SoftwareSerial) permet d'utiliser d'autres pins.
115
116
_Tutos_
117
http://codeandlife.com/2012/07/29/arduino-and-raspberry-pi-serial-communication/
118
119
120
h1. Archives
121
122
[[Arduino - Raspberry Pi w/ USB]]
123
124
[[ArduinoLampone]]