\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {figure}{\numberline {2.1}{\ignorespaces Functional block diagram of a microcontroller\relax }}{4}{figure.caption.11}%
\contentsline {figure}{\numberline {2.2}{\ignorespaces ADC resolution\relax }}{6}{figure.caption.12}%
\contentsline {figure}{\numberline {2.3}{\ignorespaces The logo of Open Source Hardware\relax }}{7}{figure.caption.13}%
\contentsline {figure}{\numberline {2.4}{\ignorespaces Arduino Uno Board\relax }}{9}{figure.caption.14}%
\contentsline {figure}{\numberline {2.5}{\ignorespaces Arduino Mega Board\relax }}{10}{figure.caption.16}%
\contentsline {figure}{\numberline {2.6}{\ignorespaces LilyPad Arduino Board\relax }}{11}{figure.caption.17}%
\contentsline {figure}{\numberline {2.7}{\ignorespaces Arduino Phone\relax }}{11}{figure.caption.19}%
\contentsline {figure}{\numberline {2.8}{\ignorespaces 3D printer\relax }}{12}{figure.caption.22}%
\contentsline {figure}{\numberline {2.9}{\ignorespaces PCB image of the shield}}{13}{figure.caption.23}%
\contentsline {figure}{\numberline {2.10}{\ignorespaces Pictorial representation of the schematic of the shield\relax }}{14}{figure.caption.24}%
\contentsline {figure}{\numberline {2.11}{\ignorespaces PCB of the shield\relax }}{15}{figure.caption.25}%
\contentsline {figure}{\numberline {2.12}{\ignorespaces Picture of the shield with all components\relax }}{16}{figure.caption.28}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {3.1}{\ignorespaces Windows device manager\relax }}{21}{figure.caption.30}%
\contentsline {figure}{\numberline {3.2}{\ignorespaces Windows device manager\relax }}{22}{figure.caption.31}%
\contentsline {figure}{\numberline {3.3}{\ignorespaces Windows update driver option\relax }}{23}{figure.caption.32}%
\contentsline {figure}{\numberline {3.4}{\ignorespaces Linux terminal to launch Arduino IDE\relax }}{24}{figure.caption.33}%
\contentsline {figure}{\numberline {3.5}{\ignorespaces Arduino IDE\relax }}{24}{figure.caption.34}%
\contentsline {figure}{\numberline {3.6}{\ignorespaces Linux terminal to launch Scilab\relax }}{29}{figure.caption.35}%
\contentsline {figure}{\numberline {3.7}{\ignorespaces Browsing toolbox directory\relax }}{30}{figure.caption.36}%
\contentsline {figure}{\numberline {3.8}{\ignorespaces Output of builder.sce\relax }}{31}{figure.caption.37}%
\contentsline {figure}{\numberline {3.9}{\ignorespaces Output of loader.sce\relax }}{32}{figure.caption.38}%
\contentsline {figure}{\numberline {3.10}{\ignorespaces Device Manager in windows\relax }}{33}{figure.caption.39}%
\contentsline {figure}{\numberline {3.11}{\ignorespaces COM port properties window\relax }}{34}{figure.caption.40}%
\contentsline {figure}{\numberline {3.12}{\ignorespaces Port number on Linux terminal\relax }}{34}{figure.caption.41}%
\contentsline {figure}{\numberline {3.13}{\ignorespaces Scilab test code output\relax }}{36}{figure.caption.42}%
\contentsline {figure}{\numberline {3.14}{\ignorespaces Arduino toolbox functions used in this book\relax }}{36}{figure.caption.43}%
\contentsline {figure}{\numberline {3.15}{\ignorespaces Sine generator in palette browser\relax }}{38}{figure.caption.44}%
\contentsline {figure}{\numberline {3.16}{\ignorespaces CSCOPE block in xcos\relax }}{39}{figure.caption.45}%
\contentsline {figure}{\numberline {3.17}{\ignorespaces CLOCK\_c block in xcos\relax }}{39}{figure.caption.46}%
\contentsline {figure}{\numberline {3.18}{\ignorespaces Sine generator in Xcos\relax }}{40}{figure.caption.47}%
\contentsline {figure}{\numberline {3.19}{\ignorespaces Sine generator Xcos output\relax }}{40}{figure.caption.48}%
\contentsline {figure}{\numberline {3.20}{\ignorespaces CSCOPE configuration window\relax }}{41}{figure.caption.49}%
\contentsline {figure}{\numberline {3.21}{\ignorespaces Simulation setup window\relax }}{42}{figure.caption.50}%
\contentsline {figure}{\numberline {3.22}{\ignorespaces Palette browser showing Arduino blocks\relax }}{42}{figure.caption.51}%
\contentsline {figure}{\numberline {3.23}{\ignorespaces Xcos block help\relax }}{43}{figure.caption.52}%
\contentsline {figure}{\numberline {3.24}{\ignorespaces Installing Python 3 on Windows\relax }}{44}{figure.caption.53}%
\contentsline {figure}{\numberline {3.25}{\ignorespaces Launching the Command Prompt on Windows\relax }}{45}{figure.caption.54}%
\contentsline {figure}{\numberline {3.26}{\ignorespaces Command Prompt on Windows\relax }}{45}{figure.caption.55}%
\contentsline {figure}{\numberline {3.27}{\ignorespaces Julia's website to download 64-bit Windows/Linux binaries\relax }}{50}{figure.caption.56}%
\contentsline {figure}{\numberline {3.28}{\ignorespaces Installing Julia 1.6.0 on Windows\relax }}{50}{figure.caption.57}%
\contentsline {figure}{\numberline {3.29}{\ignorespaces Launching the Command Prompt on Windows\relax }}{51}{figure.caption.58}%
\contentsline {figure}{\numberline {3.30}{\ignorespaces Command Prompt on Windows\relax }}{51}{figure.caption.59}%
\contentsline {figure}{\numberline {3.31}{\ignorespaces Windows command prompt to launch Julia REPL\relax }}{52}{figure.caption.60}%
\contentsline {figure}{\numberline {3.32}{\ignorespaces Windows command prompt to enter Pkg REPL in Julia\relax }}{53}{figure.caption.61}%
\contentsline {figure}{\numberline {3.33}{\ignorespaces Linux terminal to launch Julia REPL\relax }}{55}{figure.caption.62}%
\contentsline {figure}{\numberline {3.34}{\ignorespaces Linux terminal to enter Pkg REPL in Julia\relax }}{56}{figure.caption.63}%
\contentsline {figure}{\numberline {3.35}{\ignorespaces Allowing Microsoft Defender to run the executable file\relax }}{59}{figure.caption.64}%
\contentsline {figure}{\numberline {3.36}{\ignorespaces Setup of Modelica Standard Library version\relax }}{60}{figure.caption.65}%
\contentsline {figure}{\numberline {3.37}{\ignorespaces User Interface of OMEdit\relax }}{62}{figure.caption.66}%
\contentsline {figure}{\numberline {3.38}{\ignorespaces Opening a model in OMEdit\relax }}{63}{figure.caption.67}%
\contentsline {figure}{\numberline {3.39}{\ignorespaces Opening a model in diagram view in OMEdit\relax }}{64}{figure.caption.68}%
\contentsline {figure}{\numberline {3.40}{\ignorespaces Different views of a model in OMEdit\relax }}{64}{figure.caption.69}%
\contentsline {figure}{\numberline {3.41}{\ignorespaces Opening a model in text view in OMEdit\relax }}{65}{figure.caption.70}%
\contentsline {figure}{\numberline {3.42}{\ignorespaces Simulating a model in OMEdit\relax }}{65}{figure.caption.71}%
\contentsline {figure}{\numberline {3.43}{\ignorespaces Output window of OMEdit\relax }}{66}{figure.caption.72}%
\contentsline {figure}{\numberline {3.44}{\ignorespaces Examples provided in the OpenModelica-Arduino toolbox\relax }}{68}{figure.caption.73}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {4.1}{\ignorespaces Light Emitting Diode\relax }}{69}{figure.caption.74}%
\contentsline {figure}{\numberline {4.2}{\ignorespaces Internal connection diagram for the RGB LED on the shield\relax }}{70}{figure.caption.75}%
\contentsline {figure}{\numberline {4.3}{\ignorespaces Connecting Arduino Uno\ and shield\relax }}{70}{figure.caption.76}%
\contentsline {figure}{\numberline {4.4}{\ignorespaces An RGB LED with Arduino Uno\ using a breadboard\relax }}{71}{figure.caption.77}%
\contentsline {figure}{\numberline {4.5}{\ignorespaces LED experiments directly on Arduino Uno\ board, without the shield\relax }}{74}{figure.caption.79}%
\contentsline {figure}{\numberline {4.6}{\ignorespaces Turning the blue LED on through Xcos}}{79}{figure.caption.81}%
\contentsline {figure}{\numberline {4.7}{\ignorespaces Turning the blue LED on through Xcos for two seconds}}{80}{figure.caption.83}%
\contentsline {figure}{\numberline {4.8}{\ignorespaces Turning the blue and red LEDs on through Xcos and turning them off one by one}}{81}{figure.caption.85}%
\contentsline {figure}{\numberline {4.9}{\ignorespaces Blinking the green LED every second through Xcos}}{82}{figure.caption.87}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {5.1}{\ignorespaces Internal connection diagram for the pushbutton on the shield\relax }}{98}{figure.caption.89}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces A pushbutton to read its status with Arduino Uno using a breadboard\relax }}{98}{figure.caption.90}%
\contentsline {figure}{\numberline {5.3}{\ignorespaces A pushbutton to control an LED with Arduino Uno using a breadboard\relax }}{99}{figure.caption.91}%
\contentsline {figure}{\numberline {5.4}{\ignorespaces GUI in Scilab to show the status of the pushbutton\relax }}{103}{figure.caption.92}%
\contentsline {figure}{\numberline {5.5}{\ignorespaces Printing the push button status on the display block}}{105}{figure.caption.93}%
\contentsline {figure}{\numberline {5.6}{\ignorespaces Turning the LED on or off, depending on the pushbutton}}{106}{figure.caption.95}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {6.1}{\ignorespaces Light Dependent Resistor\relax }}{118}{figure.caption.97}%
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of an LDR}}}{118}{subfigure.1.1}%
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Symbolic representation of an LDR}}}{118}{subfigure.1.2}%
\contentsline {figure}{\numberline {6.2}{\ignorespaces Internal connection diagram for the LDR on the shield\relax }}{118}{figure.caption.98}%
\contentsline {figure}{\numberline {6.3}{\ignorespaces An LDR to read its values with Arduino Uno\ using a breadboard\relax }}{119}{figure.caption.99}%
\contentsline {figure}{\numberline {6.4}{\ignorespaces An LDR to control an LED with Arduino Uno using a breadboard\relax }}{120}{figure.caption.100}%
\contentsline {figure}{\numberline {6.5}{\ignorespaces Xcos diagram to read LDR values}}{125}{figure.caption.101}%
\contentsline {figure}{\numberline {6.6}{\ignorespaces Plot window in Xcos to read LDR values\relax }}{125}{figure.caption.102}%
\contentsline {figure}{\numberline {6.7}{\ignorespaces Xcos diagram to read the value of the LDR, which is used to turn the blue LED on or off}}{127}{figure.caption.104}%
\contentsline {figure}{\numberline {6.8}{\ignorespaces Plot window in Xcos to read LDR values and the state of LED\relax }}{127}{figure.caption.105}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {7.1}{\ignorespaces Potentiometer's schematic on the shield\relax }}{138}{figure.caption.107}%
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of a potentiometer}}}{138}{subfigure.1.1}%
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Internal connection diagram for the potentiometer on the shield}}}{138}{subfigure.1.2}%
\contentsline {figure}{\numberline {7.2}{\ignorespaces A potentiometer to control an LED with Arduino Uno using a breadboard\relax }}{139}{figure.caption.108}%
\contentsline {figure}{\numberline {7.3}{\ignorespaces Turning LEDs on through Xcos depending on the potentiometer threshold}}{143}{figure.caption.109}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {8.1}{\ignorespaces Pictorial and symbolic representation of a thermistor\relax }}{152}{figure.caption.111}%
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of a thermistor\cite {therm-wiki}}}}{152}{subfigure.1.1}%
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Symbolic representation of a thermistor}}}{152}{subfigure.1.2}%
\contentsline {figure}{\numberline {8.2}{\ignorespaces Internal connection diagrams for thermistor and buzzer on the shield\relax }}{152}{figure.caption.112}%
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Thermistor connection diagram}}}{152}{subfigure.2.1}%
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Buzzer connection diagram}}}{152}{subfigure.2.2}%
\contentsline {figure}{\numberline {8.3}{\ignorespaces A thermistor to read its values with Arduino Uno using a breadboard\relax }}{153}{figure.caption.113}%
\contentsline {figure}{\numberline {8.4}{\ignorespaces A thermistor to control a buzzer with Arduino Uno using a breadboard\relax }}{154}{figure.caption.114}%
\contentsline {figure}{\numberline {8.5}{\ignorespaces Xcos diagram to read thermistor values}}{162}{figure.caption.117}%
\contentsline {figure}{\numberline {8.6}{\ignorespaces Plot window in Xcos to read thermistor values\relax }}{163}{figure.caption.119}%
\contentsline {figure}{\numberline {8.7}{\ignorespaces Xcos diagram to read the value of thermistor, which is used to turn the buzzer on}}{163}{figure.caption.120}%
\contentsline {figure}{\numberline {8.8}{\ignorespaces Plot window in Xcos to read thermistor values and the state of LED\relax }}{165}{figure.caption.122}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {9.1}{\ignorespaces Connecting servomotor to the shield attached on Arduino Uno\relax }}{176}{figure.caption.127}%
\contentsline {figure}{\numberline {9.2}{\ignorespaces A servomotor with Arduino Uno\ using a breadboard\relax }}{177}{figure.caption.129}%
\contentsline {figure}{\numberline {9.3}{\ignorespaces A servomotor and a potentiometer with Arduino Uno\ using a breadboard\relax }}{178}{figure.caption.130}%
\contentsline {figure}{\numberline {9.4}{\ignorespaces Rotating the servomotor by a fixed angle}}{186}{figure.caption.131}%
\contentsline {figure}{\numberline {9.5}{\ignorespaces Rotating the servomotor forward and then reverse}}{187}{figure.caption.133}%
\contentsline {figure}{\numberline {9.6}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{188}{figure.caption.135}%
\contentsline {figure}{\numberline {9.7}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{189}{figure.caption.137}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {10.1}{\ignorespaces L293D motor driver board\relax }}{206}{figure.caption.139}%
\contentsline {figure}{\numberline {10.2}{\ignorespaces PWM pins on an Arduino Uno\ board\relax }}{207}{figure.caption.141}%
\contentsline {figure}{\numberline {10.3}{\ignorespaces A schematic of DC motor connections\relax }}{208}{figure.caption.142}%
\contentsline {figure}{\numberline {10.4}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{208}{figure.caption.143}%
\contentsline {figure}{\numberline {10.5}{\ignorespaces Control of DC motor for a specified time from Xcos}}{216}{figure.caption.147}%
\contentsline {figure}{\numberline {10.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{217}{figure.caption.149}%
\contentsline {figure}{\numberline {10.7}{\ignorespaces Xcos control of the DC motor in both directions in a loop}}{218}{figure.caption.151}%
\addvspace {10\p@ }
\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{234}{figure.caption.159}%
\contentsline {figure}{\numberline {11.2}{\ignorespaces Cycle of query-response between master and slave\relax }}{234}{figure.caption.160}%
\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{235}{figure.caption.162}%
\contentsline {figure}{\numberline {11.4}{\ignorespaces Block diagram for reading the parameters in energy meter\relax }}{240}{figure.caption.169}%
\contentsline {figure}{\numberline {11.5}{\ignorespaces Experimental set up for reading energy meter\relax }}{241}{figure.caption.170}%
\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{242}{figure.caption.171}%
\contentsline {figure}{\numberline {11.7}{\ignorespaces Flowchart of the steps happening in the FLOSS code\relax }}{244}{figure.caption.172}%
\contentsline {figure}{\numberline {11.8}{\ignorespaces Single phase current output on Scilab Console\relax }}{247}{figure.caption.174}%
\contentsline {figure}{\numberline {11.9}{\ignorespaces Single phase current output in energy meter\relax }}{248}{figure.caption.175}%
\contentsline {figure}{\numberline {11.10}{\ignorespaces Single phase voltage output on Scilab Console\relax }}{248}{figure.caption.176}%
\contentsline {figure}{\numberline {11.11}{\ignorespaces Single phase voltage output in energy meter\relax }}{249}{figure.caption.177}%
\contentsline {figure}{\numberline {11.12}{\ignorespaces Single phase active power output on Scilab Console\relax }}{249}{figure.caption.178}%
\contentsline {figure}{\numberline {11.13}{\ignorespaces Single phase active power output in energy meter\relax }}{250}{figure.caption.179}%
\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read energy meter values}}{250}{figure.caption.180}%
\addvspace {10\p@ }
