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