-
Notifications
You must be signed in to change notification settings - Fork 2
/
floss-arduino.out
215 lines (215 loc) · 15.6 KB
/
floss-arduino.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
\BOOKMARK [0][-]{chapter*.2}{}{}% 1
\BOOKMARK [0][-]{chapter*.3}{}{}% 2
\BOOKMARK [0][-]{chapter*.4}{}{}% 3
\BOOKMARK [0][-]{chapter*.5}{}{}% 4
\BOOKMARK [0][-]{chapter*.6}{}{}% 5
\BOOKMARK [0][-]{chapter*.7}{}{}% 6
\BOOKMARK [0][-]{chapter*.8}{}{}% 7
\BOOKMARK [0][-]{chapter*.9}{}{}% 8
\BOOKMARK [0][-]{chapter*.10}{}{}% 9
\BOOKMARK [0][-]{chapter.1}{Introduction}{}% 10
\BOOKMARK [0][-]{chapter.2}{Hardware Environment}{}% 11
\BOOKMARK [1][-]{section.2.1}{Microcontroller}{chapter.2}% 12
\BOOKMARK [2][-]{subsection.2.1.1}{Organization of a Microcontroller}{section.2.1}% 13
\BOOKMARK [2][-]{subsection.2.1.2}{Microcontroller Peripherals}{section.2.1}% 14
\BOOKMARK [1][-]{section.2.2}{Open Source Hardware \(OSHW\)}{chapter.2}% 15
\BOOKMARK [1][-]{section.2.3}{Arduino}{chapter.2}% 16
\BOOKMARK [2][-]{subsection.2.3.1}{Brief History}{section.2.3}% 17
\BOOKMARK [2][-]{subsection.2.3.2}{Arduino Uno Board}{section.2.3}% 18
\BOOKMARK [2][-]{subsection.2.3.3}{Popular Arduino Projects}{section.2.3}% 19
\BOOKMARK [1][-]{section.2.4}{Shield}{chapter.2}% 20
\BOOKMARK [1][-]{section.2.5}{Experimental Test Bed}{chapter.2}% 21
\BOOKMARK [1][-]{section.2.6}{Doing the Experiments with a Breadboard}{chapter.2}% 22
\BOOKMARK [0][-]{chapter.3}{Communication between Software and Arduino}{}% 23
\BOOKMARK [1][-]{section.3.1}{Arduino IDE}{chapter.3}% 24
\BOOKMARK [2][-]{subsection.3.1.1}{Downloading and installing on Windows}{section.3.1}% 25
\BOOKMARK [2][-]{subsection.3.1.2}{Downloading and installing on GNU/Linux Ubuntu}{section.3.1}% 26
\BOOKMARK [2][-]{subsection.3.1.3}{Arduino Development Environment}{section.3.1}% 27
\BOOKMARK [2][-]{subsection.3.1.4}{Testing Arduino with a sample program}{section.3.1}% 28
\BOOKMARK [2][-]{subsection.3.1.5}{FLOSS Firmware}{section.3.1}% 29
\BOOKMARK [1][-]{section.3.2}{Scilab}{chapter.3}% 30
\BOOKMARK [2][-]{subsection.3.2.1}{Downloading and installing on Windows}{section.3.2}% 31
\BOOKMARK [2][-]{subsection.3.2.2}{Downloading and installing on GNU/Linux Ubuntu}{section.3.2}% 32
\BOOKMARK [2][-]{subsection.3.2.3}{Scilab-Arduino toolbox}{section.3.2}% 33
\BOOKMARK [2][-]{subsection.3.2.4}{Identifying Arduino communication port number}{section.3.2}% 34
\BOOKMARK [2][-]{subsection.3.2.5}{Testing Scilab-Arduino toolbox}{section.3.2}% 35
\BOOKMARK [2][-]{subsection.3.2.6}{Firmware}{section.3.2}% 36
\BOOKMARK [1][-]{section.3.3}{Xcos}{chapter.3}% 37
\BOOKMARK [2][-]{subsection.3.3.1}{Downloading, installing and testing}{section.3.3}% 38
\BOOKMARK [2][-]{subsection.3.3.2}{Use case}{section.3.3}% 39
\BOOKMARK [2][-]{subsection.3.3.3}{Xcos-Arduino}{section.3.3}% 40
\BOOKMARK [1][-]{section.3.4}{Python}{chapter.3}% 41
\BOOKMARK [2][-]{subsection.3.4.1}{Downloading and installing on Windows}{section.3.4}% 42
\BOOKMARK [2][-]{subsection.3.4.2}{Downloading and installing on GNU/Linux Ubuntu}{section.3.4}% 43
\BOOKMARK [2][-]{subsection.3.4.3}{Python-Arduino toolbox}{section.3.4}% 44
\BOOKMARK [2][-]{subsection.3.4.4}{Firmware}{section.3.4}% 45
\BOOKMARK [1][-]{section.3.5}{Julia}{chapter.3}% 46
\BOOKMARK [2][-]{subsection.3.5.1}{Downloading and installing on Windows}{section.3.5}% 47
\BOOKMARK [2][-]{subsection.3.5.2}{Downloading and installing GNU/Linux Ubuntu}{section.3.5}% 48
\BOOKMARK [2][-]{subsection.3.5.3}{Julia-Arduino toolbox}{section.3.5}% 49
\BOOKMARK [2][-]{subsection.3.5.4}{Firmware}{section.3.5}% 50
\BOOKMARK [1][-]{section.3.6}{OpenModelica}{chapter.3}% 51
\BOOKMARK [2][-]{subsection.3.6.1}{Downloading and installing on Windows}{section.3.6}% 52
\BOOKMARK [2][-]{subsection.3.6.2}{Downloading and installing on GNU/Linux Ubuntu}{section.3.6}% 53
\BOOKMARK [2][-]{subsection.3.6.3}{Simulating models in OpenModelica}{section.3.6}% 54
\BOOKMARK [2][-]{subsection.3.6.4}{OpenModelica-Arduino toolbox}{section.3.6}% 55
\BOOKMARK [2][-]{subsection.3.6.5}{Firmware}{section.3.6}% 56
\BOOKMARK [0][-]{chapter.4}{Interfacing a Light Emitting Diode}{}% 57
\BOOKMARK [1][-]{section.4.1}{Preliminaries}{chapter.4}% 58
\BOOKMARK [1][-]{section.4.2}{Connecting an RGB LED using breadboard}{chapter.4}% 59
\BOOKMARK [1][-]{section.4.3}{Lighting the LED from Arduino IDE}{chapter.4}% 60
\BOOKMARK [2][-]{subsection.4.3.1}{Lighting the LED}{section.4.3}% 61
\BOOKMARK [2][-]{subsection.4.3.2}{Arduino Code}{section.4.3}% 62
\BOOKMARK [1][-]{section.4.4}{Lighting the LED from Scilab}{chapter.4}% 63
\BOOKMARK [2][-]{subsection.4.4.1}{Lighting the LED}{section.4.4}% 64
\BOOKMARK [2][-]{subsection.4.4.2}{Scilab Code}{section.4.4}% 65
\BOOKMARK [1][-]{section.4.5}{Lighting the LED from Scilab Xcos}{chapter.4}% 66
\BOOKMARK [1][-]{section.4.6}{Lighting the LED from Python}{chapter.4}% 67
\BOOKMARK [2][-]{subsection.4.6.1}{Lighting the LED}{section.4.6}% 68
\BOOKMARK [2][-]{subsection.4.6.2}{Python Code}{section.4.6}% 69
\BOOKMARK [1][-]{section.4.7}{Lighting the LED from Julia}{chapter.4}% 70
\BOOKMARK [2][-]{subsection.4.7.1}{Lighting the LED}{section.4.7}% 71
\BOOKMARK [2][-]{subsection.4.7.2}{Julia Code}{section.4.7}% 72
\BOOKMARK [1][-]{section.4.8}{Lighting the LED from OpenModelica}{chapter.4}% 73
\BOOKMARK [2][-]{subsection.4.8.1}{Lighting the LED}{section.4.8}% 74
\BOOKMARK [2][-]{subsection.4.8.2}{OpenModelica Code}{section.4.8}% 75
\BOOKMARK [0][-]{chapter.5}{Interfacing a Pushbutton}{}% 76
\BOOKMARK [1][-]{section.5.1}{Preliminaries}{chapter.5}% 77
\BOOKMARK [1][-]{section.5.2}{Connecting a pushbutton using breadboard}{chapter.5}% 78
\BOOKMARK [1][-]{section.5.3}{Reading pushbutton status from Arduino IDE}{chapter.5}% 79
\BOOKMARK [2][-]{subsection.5.3.1}{Reading the pushbutton status}{section.5.3}% 80
\BOOKMARK [2][-]{subsection.5.3.2}{Arduino Code}{section.5.3}% 81
\BOOKMARK [1][-]{section.5.4}{Reading pushbutton Status from Scilab}{chapter.5}% 82
\BOOKMARK [2][-]{subsection.5.4.1}{Reading the pushbutton Status}{section.5.4}% 83
\BOOKMARK [2][-]{subsection.5.4.2}{Scilab Code}{section.5.4}% 84
\BOOKMARK [1][-]{section.5.5}{Accessing the pushbutton from Xcos}{chapter.5}% 85
\BOOKMARK [1][-]{section.5.6}{Reading pushbutton status from Python}{chapter.5}% 86
\BOOKMARK [2][-]{subsection.5.6.1}{Reading the pushbutton status}{section.5.6}% 87
\BOOKMARK [2][-]{subsection.5.6.2}{Python Code}{section.5.6}% 88
\BOOKMARK [1][-]{section.5.7}{Reading pushbutton status from Julia}{chapter.5}% 89
\BOOKMARK [2][-]{subsection.5.7.1}{Reading the pushbutton status}{section.5.7}% 90
\BOOKMARK [2][-]{subsection.5.7.2}{Julia Code}{section.5.7}% 91
\BOOKMARK [1][-]{section.5.8}{Reading pushbutton status from OpenModelica}{chapter.5}% 92
\BOOKMARK [2][-]{subsection.5.8.1}{Reading the pushbutton status}{section.5.8}% 93
\BOOKMARK [2][-]{subsection.5.8.2}{OpenModelica Code}{section.5.8}% 94
\BOOKMARK [0][-]{chapter.6}{Interfacing a Light Dependent Resistor}{}% 95
\BOOKMARK [1][-]{section.6.1}{Preliminaries}{chapter.6}% 96
\BOOKMARK [1][-]{section.6.2}{Connecting an LDR using breadboard}{chapter.6}% 97
\BOOKMARK [1][-]{section.6.3}{Interfacing LDR through Arduino IDE}{chapter.6}% 98
\BOOKMARK [2][-]{subsection.6.3.1}{Interfacing the LDR}{section.6.3}% 99
\BOOKMARK [2][-]{subsection.6.3.2}{Arduino Code}{section.6.3}% 100
\BOOKMARK [1][-]{section.6.4}{Interfacing the LDR through Scilab}{chapter.6}% 101
\BOOKMARK [2][-]{subsection.6.4.1}{Interfacing the LDR}{section.6.4}% 102
\BOOKMARK [2][-]{subsection.6.4.2}{Scilab Code}{section.6.4}% 103
\BOOKMARK [1][-]{section.6.5}{Interfacing the LDR through Xcos}{chapter.6}% 104
\BOOKMARK [1][-]{section.6.6}{Interfacing LDR through Python}{chapter.6}% 105
\BOOKMARK [2][-]{subsection.6.6.1}{Interfacing the LDR}{section.6.6}% 106
\BOOKMARK [2][-]{subsection.6.6.2}{Python Code}{section.6.6}% 107
\BOOKMARK [1][-]{section.6.7}{Interfacing LDR through Julia}{chapter.6}% 108
\BOOKMARK [2][-]{subsection.6.7.1}{Interfacing the LDR}{section.6.7}% 109
\BOOKMARK [2][-]{subsection.6.7.2}{Julia Code}{section.6.7}% 110
\BOOKMARK [1][-]{section.6.8}{Interfacing LDR through OpenModelica}{chapter.6}% 111
\BOOKMARK [2][-]{subsection.6.8.1}{Interfacing the LDR}{section.6.8}% 112
\BOOKMARK [2][-]{subsection.6.8.2}{OpenModelica Code}{section.6.8}% 113
\BOOKMARK [0][-]{chapter.7}{Interfacing a Potentiometer}{}% 114
\BOOKMARK [1][-]{section.7.1}{Preliminaries}{chapter.7}% 115
\BOOKMARK [1][-]{section.7.2}{Connecting a potentiometer using breadboard}{chapter.7}% 116
\BOOKMARK [1][-]{section.7.3}{Reading potentiometer from Arduino IDE}{chapter.7}% 117
\BOOKMARK [2][-]{subsection.7.3.1}{Reading the potentiometer}{section.7.3}% 118
\BOOKMARK [2][-]{subsection.7.3.2}{Arduino Code}{section.7.3}% 119
\BOOKMARK [1][-]{section.7.4}{Reading potentiometer from Scilab}{chapter.7}% 120
\BOOKMARK [2][-]{subsection.7.4.1}{Reading the potentiometer}{section.7.4}% 121
\BOOKMARK [2][-]{subsection.7.4.2}{Scilab Code}{section.7.4}% 122
\BOOKMARK [1][-]{section.7.5}{Reading potentiometer from Xcos}{chapter.7}% 123
\BOOKMARK [1][-]{section.7.6}{Reading potentiometer from Python}{chapter.7}% 124
\BOOKMARK [2][-]{subsection.7.6.1}{Reading the potentiometer}{section.7.6}% 125
\BOOKMARK [2][-]{subsection.7.6.2}{Python Code}{section.7.6}% 126
\BOOKMARK [1][-]{section.7.7}{Reading potentiometer from Julia}{chapter.7}% 127
\BOOKMARK [2][-]{subsection.7.7.1}{Reading the potentiometer}{section.7.7}% 128
\BOOKMARK [2][-]{subsection.7.7.2}{Julia Code}{section.7.7}% 129
\BOOKMARK [1][-]{section.7.8}{Reading potentiometer from OpenModelica}{chapter.7}% 130
\BOOKMARK [2][-]{subsection.7.8.1}{Reading the potentiometer}{section.7.8}% 131
\BOOKMARK [2][-]{subsection.7.8.2}{OpenModelica Code}{section.7.8}% 132
\BOOKMARK [0][-]{chapter.8}{Interfacing a Thermistor}{}% 133
\BOOKMARK [1][-]{section.8.1}{Preliminaries}{chapter.8}% 134
\BOOKMARK [1][-]{section.8.2}{Connecting a thermistor using breadboard}{chapter.8}% 135
\BOOKMARK [1][-]{section.8.3}{Interfacing thermistor from Arduino IDE}{chapter.8}% 136
\BOOKMARK [2][-]{subsection.8.3.1}{Interfacing the thermistor}{section.8.3}% 137
\BOOKMARK [2][-]{subsection.8.3.2}{Arduino Code}{section.8.3}% 138
\BOOKMARK [1][-]{section.8.4}{Interfacing thermistor from Scilab}{chapter.8}% 139
\BOOKMARK [2][-]{subsection.8.4.1}{Interfacing the thermistor}{section.8.4}% 140
\BOOKMARK [2][-]{subsection.8.4.2}{Scilab Code}{section.8.4}% 141
\BOOKMARK [1][-]{section.8.5}{Interfacing thermistor from Xcos}{chapter.8}% 142
\BOOKMARK [1][-]{section.8.6}{Interfacing thermistor from Python}{chapter.8}% 143
\BOOKMARK [2][-]{subsection.8.6.1}{Interfacing the thermistor}{section.8.6}% 144
\BOOKMARK [2][-]{subsection.8.6.2}{Python Code}{section.8.6}% 145
\BOOKMARK [1][-]{section.8.7}{Interfacing thermistor from Julia}{chapter.8}% 146
\BOOKMARK [2][-]{subsection.8.7.1}{Interfacing the thermistor}{section.8.7}% 147
\BOOKMARK [2][-]{subsection.8.7.2}{Julia Code}{section.8.7}% 148
\BOOKMARK [1][-]{section.8.8}{Interfacing thermistor from OpenModelica}{chapter.8}% 149
\BOOKMARK [2][-]{subsection.8.8.1}{Interfacing the thermistor}{section.8.8}% 150
\BOOKMARK [2][-]{subsection.8.8.2}{OpenModelica Code}{section.8.8}% 151
\BOOKMARK [0][-]{chapter.9}{Interfacing a Servomotor}{}% 152
\BOOKMARK [1][-]{section.9.1}{Preliminaries}{chapter.9}% 153
\BOOKMARK [1][-]{section.9.2}{Connecting a servomotor using breadboard}{chapter.9}% 154
\BOOKMARK [1][-]{section.9.3}{Controlling servomotor through Arduino IDE}{chapter.9}% 155
\BOOKMARK [2][-]{subsection.9.3.1}{Controlling the servomotor}{section.9.3}% 156
\BOOKMARK [2][-]{subsection.9.3.2}{Arduino Code}{section.9.3}% 157
\BOOKMARK [1][-]{section.9.4}{Controlling servomotor through Scilab}{chapter.9}% 158
\BOOKMARK [2][-]{subsection.9.4.1}{Controlling the servomotor}{section.9.4}% 159
\BOOKMARK [2][-]{subsection.9.4.2}{Scilab Code}{section.9.4}% 160
\BOOKMARK [1][-]{section.9.5}{Controling servomotor through Xcos}{chapter.9}% 161
\BOOKMARK [1][-]{section.9.6}{Controlling servomotor through Python}{chapter.9}% 162
\BOOKMARK [2][-]{subsection.9.6.1}{Controlling the servomotor}{section.9.6}% 163
\BOOKMARK [2][-]{subsection.9.6.2}{Python Code}{section.9.6}% 164
\BOOKMARK [1][-]{section.9.7}{Controlling servomotor through Julia}{chapter.9}% 165
\BOOKMARK [2][-]{subsection.9.7.1}{Controlling the servomotor}{section.9.7}% 166
\BOOKMARK [2][-]{subsection.9.7.2}{Julia Code}{section.9.7}% 167
\BOOKMARK [1][-]{section.9.8}{Controlling servomotor through OpenModelica}{chapter.9}% 168
\BOOKMARK [2][-]{subsection.9.8.1}{Controlling the servomotor}{section.9.8}% 169
\BOOKMARK [2][-]{subsection.9.8.2}{OpenModelica Code}{section.9.8}% 170
\BOOKMARK [0][-]{chapter.10}{Interfacing a DC Motor}{}% 171
\BOOKMARK [1][-]{section.10.1}{Preliminaries}{chapter.10}% 172
\BOOKMARK [1][-]{section.10.2}{Controlling DC motor from Arduino IDE}{chapter.10}% 173
\BOOKMARK [2][-]{subsection.10.2.1}{Controlling the DC motor}{section.10.2}% 174
\BOOKMARK [2][-]{subsection.10.2.2}{Arduino Code}{section.10.2}% 175
\BOOKMARK [1][-]{section.10.3}{Controlling DC motor from Scilab}{chapter.10}% 176
\BOOKMARK [2][-]{subsection.10.3.1}{Controlling the DC motor}{section.10.3}% 177
\BOOKMARK [2][-]{subsection.10.3.2}{Scilab Code}{section.10.3}% 178
\BOOKMARK [1][-]{section.10.4}{Controlling DC motor from Xcos}{chapter.10}% 179
\BOOKMARK [1][-]{section.10.5}{Controlling DC motor from Python}{chapter.10}% 180
\BOOKMARK [2][-]{subsection.10.5.1}{Controlling the DC motor}{section.10.5}% 181
\BOOKMARK [2][-]{subsection.10.5.2}{Python Code}{section.10.5}% 182
\BOOKMARK [1][-]{section.10.6}{Controlling DC motor from Julia}{chapter.10}% 183
\BOOKMARK [2][-]{subsection.10.6.1}{Controlling the DC motor}{section.10.6}% 184
\BOOKMARK [2][-]{subsection.10.6.2}{Julia Code}{section.10.6}% 185
\BOOKMARK [1][-]{section.10.7}{Controlling DC motor from OpenModelica}{chapter.10}% 186
\BOOKMARK [2][-]{subsection.10.7.1}{Controlling the DC motor}{section.10.7}% 187
\BOOKMARK [2][-]{subsection.10.7.2}{OpenModelica Code}{section.10.7}% 188
\BOOKMARK [0][-]{chapter.11}{Implementation of Modbus Protocol}{}% 189
\BOOKMARK [1][-]{section.11.1}{Preliminaries}{chapter.11}% 190
\BOOKMARK [2][-]{subsection.11.1.1}{Energy meter}{section.11.1}% 191
\BOOKMARK [2][-]{subsection.11.1.2}{Endianness}{section.11.1}% 192
\BOOKMARK [1][-]{section.11.2}{Setup for the experiment}{chapter.11}% 193
\BOOKMARK [1][-]{section.11.3}{Software required for this experiment}{chapter.11}% 194
\BOOKMARK [2][-]{subsection.11.3.1}{Arduino Firmware}{section.11.3}% 195
\BOOKMARK [1][-]{section.11.4}{Implementing Modbus protocol using Scilab}{chapter.11}% 196
\BOOKMARK [1][-]{section.11.5}{Reading electrical parameters from Scilab}{chapter.11}% 197
\BOOKMARK [2][-]{subsection.11.5.1}{Reading the electrical parameters}{section.11.5}% 198
\BOOKMARK [2][-]{subsection.11.5.2}{Scilab Code}{section.11.5}% 199
\BOOKMARK [2][-]{subsection.11.5.3}{Output in the Scilab Console}{section.11.5}% 200
\BOOKMARK [1][-]{section.11.6}{Reading electrical parameters from Xcos}{chapter.11}% 201
\BOOKMARK [1][-]{section.11.7}{Implementing Modbus protocol using Python}{chapter.11}% 202
\BOOKMARK [1][-]{section.11.8}{Reading electrical parameters from Python}{chapter.11}% 203
\BOOKMARK [2][-]{subsection.11.8.1}{Reading the electrical parameters}{section.11.8}% 204
\BOOKMARK [2][-]{subsection.11.8.2}{Python Code}{section.11.8}% 205
\BOOKMARK [1][-]{section.11.9}{Implementing Modbus protocol using Julia}{chapter.11}% 206
\BOOKMARK [1][-]{section.11.10}{Reading electrical parameters from Julia}{chapter.11}% 207
\BOOKMARK [2][-]{subsection.11.10.1}{Reading the electrical parameters}{section.11.10}% 208
\BOOKMARK [2][-]{subsection.11.10.2}{Julia Code}{section.11.10}% 209
\BOOKMARK [1][-]{section.11.11}{Implementing Modbus protocol using OpenModelica}{chapter.11}% 210
\BOOKMARK [1][-]{section.11.12}{Reading electrical parameters from OpenModelica}{chapter.11}% 211
\BOOKMARK [2][-]{subsection.11.12.1}{Reading the electrical parameters}{section.11.12}% 212
\BOOKMARK [2][-]{subsection.11.12.2}{OpenModelica Code}{section.11.12}% 213
\BOOKMARK [0][-]{appendix.A}{Procuring the Hardware}{}% 214
\BOOKMARK [0][-]{appendix*.186}{}{}% 215