diff options
author | SudhakarKuma | 2021-05-06 17:12:09 +0530 |
---|---|---|
committer | SudhakarKuma | 2021-05-06 17:12:09 +0530 |
commit | 20e83887f5e52994d45ba20fe2ed7054b4c1666b (patch) | |
tree | ad513a71ce381d4a974c961f897d952625d27f13 | |
parent | e11e5e3e54c33afa1ea55fdec37744f953400a63 (diff) | |
download | FLOSS-Arduino-Book-20e83887f5e52994d45ba20fe2ed7054b4c1666b.tar.gz FLOSS-Arduino-Book-20e83887f5e52994d45ba20fe2ed7054b4c1666b.tar.bz2 FLOSS-Arduino-Book-20e83887f5e52994d45ba20fe2ed7054b4c1666b.zip |
Add servo motor images
-rw-r--r-- | bibliography.bib | 10 | ||||
-rw-r--r-- | floss-arduino.OpenModelicad | 24 | ||||
-rw-r--r-- | floss-arduino.ard | 16 | ||||
-rw-r--r-- | floss-arduino.aux | 1054 | ||||
-rw-r--r-- | floss-arduino.bbl | 5 | ||||
-rw-r--r-- | floss-arduino.blg | 42 | ||||
-rw-r--r-- | floss-arduino.cod | 26 | ||||
-rw-r--r-- | floss-arduino.fdb_latexmk | 63 | ||||
-rw-r--r-- | floss-arduino.fls | 36 | ||||
-rw-r--r-- | floss-arduino.idx | 10 | ||||
-rw-r--r-- | floss-arduino.ind | 10 | ||||
-rw-r--r-- | floss-arduino.juliad | 24 | ||||
-rw-r--r-- | floss-arduino.lof | 53 | ||||
-rw-r--r-- | floss-arduino.log | 304 | ||||
-rw-r--r-- | floss-arduino.lot | 30 | ||||
-rw-r--r-- | floss-arduino.pdf | bin | 44929885 -> 49695199 bytes | |||
-rw-r--r-- | floss-arduino.pyd | 24 | ||||
-rw-r--r-- | floss-arduino.thm | 106 | ||||
-rw-r--r-- | floss-arduino.toc | 109 | ||||
-rw-r--r-- | indent.log | 25 | ||||
-rw-r--r-- | user-code/servo/arduino/servo-loop/servo-loop.ino | 2 | ||||
-rw-r--r-- | user-code/servo/figures/servo-bb.png | bin | 0 -> 225975 bytes | |||
-rw-r--r-- | user-code/servo/figures/servo-pot-bb.png | bin | 0 -> 236985 bytes | |||
-rw-r--r-- | user-code/servo/figures/servo-uno-shield.jpg | bin | 0 -> 4433005 bytes | |||
-rw-r--r-- | user-code/servo/servo.tex | 948 |
25 files changed, 1595 insertions, 1326 deletions
diff --git a/bibliography.bib b/bibliography.bib index 8adec9b..a061587 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -229,5 +229,15 @@ note = {Seen on 5 May 2021}, OPTannote = {} } +@Misc{servo-lib, +OPTkey = {}, +author = {}, +title = {Servo}, +howpublished = {https://www.arduino.cc/reference/en/libraries/servo/}, +OPTmonth = {}, +year = {}, +note = {Seen on 6 May 2021}, +OPTannote = {} +} diff --git a/floss-arduino.OpenModelicad b/floss-arduino.OpenModelicad index b8a8c48..e9d9cc5 100644 --- a/floss-arduino.OpenModelicad +++ b/floss-arduino.OpenModelicad @@ -16,15 +16,15 @@ \contentsline {section}{\numberline {8.{1}}Read and display the thermistor values}{169}% \contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{170}% \addvspace {10pt} -\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{192}% -\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{193}% -\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{193}% -\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{194}% -\addvspace {10pt} -\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{222}% -\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{223}% -\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{223}% -\addvspace {10pt} -\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{242}% -\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{242}% -\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{243}% +\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{195}% +\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{196}% +\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{197}% +\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{197}% +\addvspace {10pt} +\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{224}% +\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{225}% +\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{225}% +\addvspace {10pt} +\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{244}% +\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{244}% +\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{245}% diff --git a/floss-arduino.ard b/floss-arduino.ard index b2e6690..bf694d6 100644 --- a/floss-arduino.ard +++ b/floss-arduino.ard @@ -16,13 +16,13 @@ \contentsline {section}{\numberline {8.{1}}Read and display the thermistor values}{154}% \contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{154}% \addvspace {10pt} -\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{175}% -\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{176}% -\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in increments}{176}% -\contentsline {section}{\numberline {9.{4}}Rotating the servomotor through the potentiometer}{176}% +\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{178}% +\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{178}% +\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in increments}{179}% +\contentsline {section}{\numberline {9.{4}}Rotating the servomotor through the potentiometer}{179}% \addvspace {10pt} -\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{202}% -\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{202}% -\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{203}% +\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{204}% +\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{204}% +\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{205}% \addvspace {10pt} -\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{237}% +\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{239}% diff --git a/floss-arduino.aux b/floss-arduino.aux index bbd3b2e..652b865 100644 --- a/floss-arduino.aux +++ b/floss-arduino.aux @@ -1039,554 +1039,571 @@ \@writefile{OpenModelicad}{\contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{170}\protected@file@percent } \newlabel{OpenModelica:therm-buzzer}{{8.{2}}{170}} \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/thermistor/OpenModelica/therm\textendash buzzer.mo}{170}\protected@file@percent } +\citation{arduino-pwm} \@writefile{toc}{\contentsline {chapter}{\numberline {9}Interfacing a Servomotor}{173}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{sec:servo}{{9}{173}} \@writefile{toc}{\contentsline {section}{\numberline {9.1}Preliminaries}{173}\protected@file@percent } +\newlabel{sec:servo-pril}{{9.1}{173}} +\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Connecting servomotor to the shield attached on Arduino Uno\relax }}{174}\protected@file@percent } +\newlabel{fig:servo-shield}{{9.1}{174}} \@writefile{lot}{\contentsline {table}{\numberline {9.1}{\ignorespaces Connecting a typical servomotor to Arduino Uno\ board\relax }}{174}\protected@file@percent } \newlabel{tab:servo-connect}{{9.1}{174}} -\@writefile{toc}{\contentsline {section}{\numberline {9.2}Controlling the Servometer through the Arduino IDE}{174}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Controlling the Servometer}{174}\protected@file@percent } -\newlabel{sec:servo-ard}{{9.2.1}{174}} -\@writefile{thm}{\contentsline {egmass}{{Exercise}{9.{1}}{}}{175}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.2}Arduino Code}{175}\protected@file@percent } -\newlabel{sec:servo-arduino-code}{{9.2.2}{175}} -\@writefile{ard}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{175}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{175}\protected@file@percent } -\newlabel{95@xvr}{{}{175}} -\newlabel{95@vr}{{}{175}} -\newlabel{ard:servo-init}{{9.{1}}{175}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{175}\protected@file@percent } -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{176}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{176}\protected@file@percent } -\newlabel{96@xvr}{{}{176}} -\newlabel{96@vr}{{}{176}} -\newlabel{ard:servo-reverse}{{9.{2}}{176}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash reverse/servo\textendash reverse.ino}{176}\protected@file@percent } -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{3}}{}}{176}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in increments}{176}\protected@file@percent } -\newlabel{97@xvr}{{}{176}} -\newlabel{97@vr}{{}{176}} -\newlabel{ard:servo-loop}{{9.{3}}{176}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash loop/servo\textendash loop.ino}{176}\protected@file@percent } -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{4}}{}}{176}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor through the potentiometer}{176}\protected@file@percent } -\newlabel{98@xvr}{{}{176}} -\newlabel{98@vr}{{}{176}} -\newlabel{ard:servo-pot}{{9.{4}}{176}} +\@writefile{toc}{\contentsline {section}{\numberline {9.2}Connecting a servomotor with Arduino Uno\ using a breadboard}{174}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {9.2}{\ignorespaces Interfacing a servomotor with Arduino Uno\ using a breadboard\relax }}{175}\protected@file@percent } +\newlabel{fig:servo-bread}{{9.2}{175}} +\@writefile{toc}{\contentsline {section}{\numberline {9.3}Controlling the Servomotor through the Arduino IDE}{175}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.1}Controlling the Servomotor}{175}\protected@file@percent } +\newlabel{sec:servo-ard}{{9.3.1}{175}} +\citation{servo-lib} +\@writefile{lof}{\contentsline {figure}{\numberline {9.3}{\ignorespaces Interfacing a servomotor and potentiometer with Arduino Uno\ using a breadboard\relax }}{176}\protected@file@percent } +\newlabel{fig:servo-pot-bread}{{9.3}{176}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{176}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{176}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{176}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{177}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash reverse/servo\textendash reverse.ino}{177}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash pot/servo\textendash pot.ino}{177}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {9.3}Controlling the Servomotor through Scilab}{177}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.1}Controlling the Servomotor}{177}\protected@file@percent } -\newlabel{sec:servo-sci}{{9.3.1}{177}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{177}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{178}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{178}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.2}Scilab Code}{178}\protected@file@percent } -\newlabel{sec:servo-scilab-code}{{9.3.2}{178}} +\@writefile{thm}{\contentsline {egmass}{{Exercise}{9.{1}}{}}{178}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.2}Arduino Code}{178}\protected@file@percent } +\newlabel{sec:servo-arduino-code}{{9.3.2}{178}} +\@writefile{ard}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{178}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{178}\protected@file@percent } +\newlabel{95@xvr}{{}{178}} +\newlabel{95@vr}{{}{178}} +\newlabel{ard:servo-init}{{9.{1}}{178}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{178}\protected@file@percent } +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{178}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{178}\protected@file@percent } +\newlabel{96@xvr}{{}{178}} +\newlabel{96@vr}{{}{178}} +\newlabel{ard:servo-reverse}{{9.{2}}{178}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash reverse/servo\textendash reverse.ino}{179}\protected@file@percent } +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{3}}{}}{179}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in increments}{179}\protected@file@percent } +\newlabel{97@xvr}{{}{179}} +\newlabel{97@vr}{{}{179}} +\newlabel{ard:servo-loop}{{9.{3}}{179}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash loop/servo\textendash loop.ino}{179}\protected@file@percent } +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{4}}{}}{179}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor through the potentiometer}{179}\protected@file@percent } +\newlabel{98@xvr}{{}{179}} +\newlabel{98@vr}{{}{179}} +\newlabel{ard:servo-pot}{{9.{4}}{179}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo\textendash pot/servo\textendash pot.ino}{179}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {9.4}Controlling the Servomotor through Scilab}{180}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.4.1}Controlling the Servomotor}{180}\protected@file@percent } +\newlabel{sec:servo-sci}{{9.4.1}{180}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{180}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{180}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash reverse.sce}{181}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{181}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.4.2}Scilab Code}{181}\protected@file@percent } +\newlabel{sec:servo-scilab-code}{{9.4.2}{181}} \@writefile{cod}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{178}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{178}\protected@file@percent } -\newlabel{99@xvr}{{}{178}} -\newlabel{99@vr}{{}{178}} -\newlabel{sci:servo-init}{{9.{1}}{178}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{178}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{178}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{178}\protected@file@percent } -\newlabel{100@xvr}{{}{178}} -\newlabel{100@vr}{{}{178}} -\newlabel{sci:servo-reverse}{{9.{2}}{178}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash reverse.sce}{179}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{3}}{}}{179}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{179}\protected@file@percent } -\newlabel{101@xvr}{{}{179}} -\newlabel{101@vr}{{}{179}} -\newlabel{sci:servo-loop}{{9.{3}}{179}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash loop.sce}{179}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{4}}{}}{179}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{179}\protected@file@percent } -\newlabel{102@xvr}{{}{179}} -\newlabel{102@vr}{{}{179}} -\newlabel{sci:servo-pot}{{9.{4}}{179}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{179}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {9.4}Controling the Servomotor through Xcos}{179}\protected@file@percent } -\newlabel{sec:servo-xcos}{{9.4}{179}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Rotating the servomotor by a fixed angle}}{180}\protected@file@percent } -\newlabel{104@xvr}{{}{180}} -\newlabel{104@vr}{{}{180}} -\newlabel{fig:servo-init}{{9.1}{180}} -\@writefile{lot}{\contentsline {table}{\numberline {9.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{180}\protected@file@percent } -\newlabel{tab:servo-init}{{9.2}{180}} -\newlabel{105@xvr}{{}{180}} -\newlabel{105@vr}{{}{180}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.2}{\ignorespaces Rotating the servomotor forward and then reverse}}{181}\protected@file@percent } -\newlabel{107@xvr}{{}{181}} -\newlabel{107@vr}{{}{181}} -\newlabel{fig:servo-reverse}{{9.2}{181}} -\@writefile{lot}{\contentsline {table}{\numberline {9.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{182}\protected@file@percent } -\newlabel{tab:servo-reverse}{{9.3}{182}} -\newlabel{108@xvr}{{}{182}} -\newlabel{108@vr}{{}{182}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.3}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{182}\protected@file@percent } -\newlabel{110@xvr}{{}{182}} -\newlabel{110@vr}{{}{182}} -\newlabel{fig:servo-loop}{{9.3}{182}} -\@writefile{lot}{\contentsline {table}{\numberline {9.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{183}\protected@file@percent } -\newlabel{tab:servo-loop}{{9.4}{183}} -\newlabel{111@xvr}{{}{183}} -\newlabel{111@vr}{{}{183}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.4}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{183}\protected@file@percent } -\newlabel{113@xvr}{{}{183}} -\newlabel{113@vr}{{}{183}} -\newlabel{fig:servo-pot}{{9.4}{183}} -\@writefile{lot}{\contentsline {table}{\numberline {9.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{184}\protected@file@percent } -\newlabel{tab:servo-pot}{{9.5}{184}} -\newlabel{114@xvr}{{}{184}} -\newlabel{114@vr}{{}{184}} -\@writefile{toc}{\contentsline {section}{\numberline {9.5}Controlling the Servomotor through Python}{184}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.5.1}Controlling the Servomotor}{184}\protected@file@percent } -\newlabel{sec:servo-py}{{9.5.1}{184}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash init.py}{184}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash pot.py}{185}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash pot.py}{185}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.5.2}Python Code}{185}\protected@file@percent } -\newlabel{sec:servo-python-code}{{9.5.2}{185}} -\@writefile{pyd}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{1}}{}}{185}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{185}\protected@file@percent } -\newlabel{115@xvr}{{}{185}} -\newlabel{115@vr}{{}{185}} -\newlabel{py:servo-init}{{9.{1}}{185}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash init.py}{185}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{2}}{}}{186}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{186}\protected@file@percent } -\newlabel{116@xvr}{{}{186}} -\newlabel{116@vr}{{}{186}} -\newlabel{py:servo-reverse}{{9.{2}}{186}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash reverse.py}{186}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{3}}{}}{187}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{187}\protected@file@percent } -\newlabel{117@xvr}{{}{187}} -\newlabel{117@vr}{{}{187}} -\newlabel{sci:servo-loop}{{9.{3}}{187}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash loop.py}{187}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{4}}{}}{188}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{188}\protected@file@percent } -\newlabel{118@xvr}{{}{188}} -\newlabel{118@vr}{{}{188}} -\newlabel{py:servo-pot}{{9.{4}}{188}} +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{181}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{181}\protected@file@percent } +\newlabel{99@xvr}{{}{182}} +\newlabel{99@vr}{{}{182}} +\newlabel{sci:servo-init}{{9.{1}}{182}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{182}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{182}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{182}\protected@file@percent } +\newlabel{100@xvr}{{}{182}} +\newlabel{100@vr}{{}{182}} +\newlabel{sci:servo-reverse}{{9.{2}}{182}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash reverse.sce}{182}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{3}}{}}{182}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{182}\protected@file@percent } +\newlabel{101@xvr}{{}{182}} +\newlabel{101@vr}{{}{182}} +\newlabel{sci:servo-loop}{{9.{3}}{182}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash loop.sce}{182}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{4}}{}}{182}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{182}\protected@file@percent } +\newlabel{102@xvr}{{}{182}} +\newlabel{102@vr}{{}{182}} +\newlabel{sci:servo-pot}{{9.{4}}{182}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{182}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {9.4}{\ignorespaces Rotating the servomotor by a fixed angle}}{183}\protected@file@percent } +\newlabel{104@xvr}{{}{183}} +\newlabel{104@vr}{{}{183}} +\newlabel{fig:servo-init}{{9.4}{183}} +\@writefile{toc}{\contentsline {section}{\numberline {9.5}Controling the Servomotor through Xcos}{183}\protected@file@percent } +\newlabel{sec:servo-xcos}{{9.5}{183}} +\@writefile{lot}{\contentsline {table}{\numberline {9.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{184}\protected@file@percent } +\newlabel{tab:servo-init}{{9.2}{184}} +\newlabel{105@xvr}{{}{184}} +\newlabel{105@vr}{{}{184}} +\@writefile{lof}{\contentsline {figure}{\numberline {9.5}{\ignorespaces Rotating the servomotor forward and then reverse}}{184}\protected@file@percent } +\newlabel{107@xvr}{{}{184}} +\newlabel{107@vr}{{}{184}} +\newlabel{fig:servo-reverse}{{9.5}{184}} +\@writefile{lot}{\contentsline {table}{\numberline {9.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{185}\protected@file@percent } +\newlabel{tab:servo-reverse}{{9.3}{185}} +\newlabel{108@xvr}{{}{185}} +\newlabel{108@vr}{{}{185}} +\@writefile{lof}{\contentsline {figure}{\numberline {9.6}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{185}\protected@file@percent } +\newlabel{110@xvr}{{}{185}} +\newlabel{110@vr}{{}{185}} +\newlabel{fig:servo-loop}{{9.6}{185}} +\@writefile{lot}{\contentsline {table}{\numberline {9.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{186}\protected@file@percent } +\newlabel{tab:servo-loop}{{9.4}{186}} +\newlabel{111@xvr}{{}{186}} +\newlabel{111@vr}{{}{186}} +\@writefile{toc}{\contentsline {section}{\numberline {9.6}Controlling the Servomotor through Python}{186}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.6.1}Controlling the Servomotor}{186}\protected@file@percent } +\newlabel{sec:servo-py}{{9.6.1}{186}} +\@writefile{lof}{\contentsline {figure}{\numberline {9.7}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{187}\protected@file@percent } +\newlabel{113@xvr}{{}{187}} +\newlabel{113@vr}{{}{187}} +\newlabel{fig:servo-pot}{{9.7}{187}} +\@writefile{lot}{\contentsline {table}{\numberline {9.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{187}\protected@file@percent } +\newlabel{tab:servo-pot}{{9.5}{187}} +\newlabel{114@xvr}{{}{187}} +\newlabel{114@vr}{{}{187}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash init.py}{188}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash pot.py}{188}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash pot.py}{188}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {9.6}Controlling the Servomotor through Julia}{189}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.6.1}Controlling the Servomotor}{189}\protected@file@percent } -\newlabel{sec:servo-julia}{{9.6.1}{189}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{189}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{189}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{189}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.6.2}Julia Code}{190}\protected@file@percent } -\newlabel{sec:servo-julia-code}{{9.6.2}{190}} +\@writefile{toc}{\contentsline {subsection}{\numberline {9.6.2}Python Code}{188}\protected@file@percent } +\newlabel{sec:servo-python-code}{{9.6.2}{188}} +\@writefile{pyd}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{1}}{}}{188}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{188}\protected@file@percent } +\newlabel{115@xvr}{{}{188}} +\newlabel{115@vr}{{}{188}} +\newlabel{py:servo-init}{{9.{1}}{188}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash init.py}{188}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{2}}{}}{189}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{189}\protected@file@percent } +\newlabel{116@xvr}{{}{189}} +\newlabel{116@vr}{{}{189}} +\newlabel{py:servo-reverse}{{9.{2}}{189}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash reverse.py}{189}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{3}}{}}{190}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{190}\protected@file@percent } +\newlabel{117@xvr}{{}{190}} +\newlabel{117@vr}{{}{190}} +\newlabel{sci:servo-loop}{{9.{3}}{190}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash loop.py}{190}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{4}}{}}{191}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{191}\protected@file@percent } +\newlabel{118@xvr}{{}{191}} +\newlabel{118@vr}{{}{191}} +\newlabel{py:servo-pot}{{9.{4}}{191}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo\textendash pot.py}{191}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {9.7}Controlling the Servomotor through Julia}{192}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.7.1}Controlling the Servomotor}{192}\protected@file@percent } +\newlabel{sec:servo-julia}{{9.7.1}{192}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{192}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{193}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{193}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.7.2}Julia Code}{193}\protected@file@percent } +\newlabel{sec:servo-julia-code}{{9.7.2}{193}} \@writefile{juliad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{190}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{190}\protected@file@percent } -\newlabel{119@xvr}{{}{190}} -\newlabel{119@vr}{{}{190}} -\newlabel{julia:servo-init}{{9.{1}}{190}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{190}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{190}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{190}\protected@file@percent } -\newlabel{120@xvr}{{}{190}} -\newlabel{120@vr}{{}{190}} -\newlabel{julia:servo-reverse}{{9.{2}}{190}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash reverse.jl}{190}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{3}}{}}{190}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{190}\protected@file@percent } -\newlabel{121@xvr}{{}{190}} -\newlabel{121@vr}{{}{190}} -\newlabel{julia:servo-loop}{{9.{3}}{190}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash loop.jl}{190}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{4}}{}}{191}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{191}\protected@file@percent } -\newlabel{122@xvr}{{}{191}} -\newlabel{122@vr}{{}{191}} -\newlabel{julia:servo-pot}{{9.{4}}{191}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{191}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {9.7}Controlling the Servomotor through OpenModelica}{191}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.7.1}Controlling the Servomotor}{191}\protected@file@percent } -\newlabel{sec:servo-OpenModelica}{{9.7.1}{191}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{191}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{192}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{192}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {9.7.2}OpenModelica Code}{192}\protected@file@percent } -\newlabel{sec:servo-OpenModelica-code}{{9.7.2}{192}} +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{193}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{193}\protected@file@percent } +\newlabel{119@xvr}{{}{193}} +\newlabel{119@vr}{{}{193}} +\newlabel{julia:servo-init}{{9.{1}}{193}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{193}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{193}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{193}\protected@file@percent } +\newlabel{120@xvr}{{}{193}} +\newlabel{120@vr}{{}{193}} +\newlabel{julia:servo-reverse}{{9.{2}}{193}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash reverse.jl}{193}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{3}}{}}{194}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{194}\protected@file@percent } +\newlabel{121@xvr}{{}{194}} +\newlabel{121@vr}{{}{194}} +\newlabel{julia:servo-loop}{{9.{3}}{194}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash loop.jl}{194}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{4}}{}}{194}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{194}\protected@file@percent } +\newlabel{122@xvr}{{}{194}} +\newlabel{122@vr}{{}{194}} +\newlabel{julia:servo-pot}{{9.{4}}{194}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{194}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {9.8}Controlling the Servomotor through OpenModelica}{194}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.8.1}Controlling the Servomotor}{194}\protected@file@percent } +\newlabel{sec:servo-OpenModelica}{{9.8.1}{194}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{195}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{195}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{195}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.8.2}OpenModelica Code}{195}\protected@file@percent } +\newlabel{sec:servo-OpenModelica-code}{{9.8.2}{195}} \@writefile{OpenModelicad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{192}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{192}\protected@file@percent } -\newlabel{123@xvr}{{}{192}} -\newlabel{123@vr}{{}{192}} -\newlabel{OpenModelica:servo-init}{{9.{1}}{192}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{192}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{193}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{193}\protected@file@percent } -\newlabel{124@xvr}{{}{193}} -\newlabel{124@vr}{{}{193}} -\newlabel{OpenModelica:servo-reverse}{{9.{2}}{193}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash reverse.mo}{193}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{3}}{}}{193}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{193}\protected@file@percent } -\newlabel{125@xvr}{{}{193}} -\newlabel{125@vr}{{}{193}} -\newlabel{OpenModelica:servo-loop}{{9.{3}}{193}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash loop.mo}{193}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{4}}{}}{194}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{194}\protected@file@percent } -\newlabel{126@xvr}{{}{194}} -\newlabel{126@vr}{{}{194}} -\newlabel{OpenModelica:servo-pot}{{9.{4}}{194}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{194}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{195}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{195}\protected@file@percent } +\newlabel{123@xvr}{{}{195}} +\newlabel{123@vr}{{}{195}} +\newlabel{OpenModelica:servo-init}{{9.{1}}{195}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{195}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{196}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{196}\protected@file@percent } +\newlabel{124@xvr}{{}{196}} +\newlabel{124@vr}{{}{196}} +\newlabel{OpenModelica:servo-reverse}{{9.{2}}{196}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash reverse.mo}{196}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{3}}{}}{197}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{197}\protected@file@percent } +\newlabel{125@xvr}{{}{197}} +\newlabel{125@vr}{{}{197}} +\newlabel{OpenModelica:servo-loop}{{9.{3}}{197}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textendash loop.mo}{197}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{4}}{}}{197}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{197}\protected@file@percent } +\newlabel{126@xvr}{{}{197}} +\newlabel{126@vr}{{}{197}} +\newlabel{OpenModelica:servo-pot}{{9.{4}}{197}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{197}\protected@file@percent } \citation{arduino-pwm} -\@writefile{toc}{\contentsline {chapter}{\numberline {10}Controlling a DC motor}{197}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {10}Controlling a DC motor}{199}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{dcmotor}{{10}{197}} -\@writefile{toc}{\contentsline {section}{\numberline {10.1}Preliminaries}{197}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces L293D motor driver board\relax }}{198}\protected@file@percent } -\newlabel{fig:motordriverboard}{{10.1}{198}} -\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces PWM pins on an Arduino Uno\ board\relax }}{199}\protected@file@percent } -\newlabel{fig:uno-pwm}{{10.2}{199}} -\@writefile{lof}{\contentsline {figure}{\numberline {10.3}{\ignorespaces A schematic of DC motor connections\relax }}{199}\protected@file@percent } -\newlabel{fig:dcm-schematic}{{10.3}{199}} -\@writefile{lof}{\contentsline {figure}{\numberline {10.4}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{200}\protected@file@percent } -\newlabel{fig:dcmotorconn}{{10.4}{200}} -\@writefile{toc}{\contentsline {section}{\numberline {10.2}Controlling the DC motor from Arduino}{200}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.1}Controlling the DC motor}{200}\protected@file@percent } -\newlabel{sec:dcm-ard}{{10.2.1}{200}} -\@writefile{toc}{\contentsline {paragraph}{Note:}{200}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{200}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{201}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{201}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{201}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{201}\protected@file@percent } -\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{1}}{}}{201}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.2}Arduino Code}{202}\protected@file@percent } -\newlabel{sec:dcmotor-arduino-code}{{10.2.2}{202}} -\@writefile{ard}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{202}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{202}\protected@file@percent } -\newlabel{127@xvr}{{}{202}} -\newlabel{127@vr}{{}{202}} -\newlabel{ard:dcmotor-clock}{{10.{1}}{202}} +\newlabel{dcmotor}{{10}{199}} +\@writefile{toc}{\contentsline {section}{\numberline {10.1}Preliminaries}{199}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces L293D motor driver board\relax }}{200}\protected@file@percent } +\newlabel{fig:motordriverboard}{{10.1}{200}} +\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces PWM pins on an Arduino Uno\ board\relax }}{201}\protected@file@percent } +\newlabel{fig:uno-pwm}{{10.2}{201}} +\@writefile{lof}{\contentsline {figure}{\numberline {10.3}{\ignorespaces A schematic of DC motor connections\relax }}{201}\protected@file@percent } +\newlabel{fig:dcm-schematic}{{10.3}{201}} +\@writefile{lof}{\contentsline {figure}{\numberline {10.4}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{202}\protected@file@percent } +\newlabel{fig:dcmotorconn}{{10.4}{202}} +\@writefile{toc}{\contentsline {section}{\numberline {10.2}Controlling the DC motor from Arduino}{202}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.1}Controlling the DC motor}{202}\protected@file@percent } +\newlabel{sec:dcm-ard}{{10.2.1}{202}} +\@writefile{toc}{\contentsline {paragraph}{Note:}{202}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{202}\protected@file@percent } -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{202}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{202}\protected@file@percent } -\newlabel{128@xvr}{{}{202}} -\newlabel{128@vr}{{}{202}} -\newlabel{ard:dcmotor-both}{{10.{2}}{202}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{202}\protected@file@percent } -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{203}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{203}\protected@file@percent } -\newlabel{129@xvr}{{}{203}} -\newlabel{129@vr}{{}{203}} -\newlabel{ard:dcmotor-loop}{{10.{3}}{203}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash loop/dcmotor\textendash loop.ino}{203}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10.3}Controlling the DC motor from Scilab}{203}\protected@file@percent } -\newlabel{sec:dcm-sci}{{10.3}{203}} -\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.1}Controlling the DC motor}{203}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Note:}{203}\protected@file@percent } -\@writefile{lot}{\contentsline {table}{\numberline {10.1}{\ignorespaces Values in the Scilab\ command for different H-Bridge circuits\relax }}{204}\protected@file@percent } -\newlabel{table:convention}{{10.1}{204}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{204}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{205}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{205}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{205}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{203}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{203}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{203}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{203}\protected@file@percent } +\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{1}}{}}{203}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.2}Arduino Code}{204}\protected@file@percent } +\newlabel{sec:dcmotor-arduino-code}{{10.2.2}{204}} +\@writefile{ard}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{204}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{204}\protected@file@percent } +\newlabel{127@xvr}{{}{204}} +\newlabel{127@vr}{{}{204}} +\newlabel{ard:dcmotor-clock}{{10.{1}}{204}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{204}\protected@file@percent } +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{204}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{204}\protected@file@percent } +\newlabel{128@xvr}{{}{204}} +\newlabel{128@vr}{{}{204}} +\newlabel{ard:dcmotor-both}{{10.{2}}{204}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{204}\protected@file@percent } +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{205}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{205}\protected@file@percent } +\newlabel{129@xvr}{{}{205}} +\newlabel{129@vr}{{}{205}} +\newlabel{ard:dcmotor-loop}{{10.{3}}{205}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash loop/dcmotor\textendash loop.ino}{205}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10.3}Controlling the DC motor from Scilab}{205}\protected@file@percent } +\newlabel{sec:dcm-sci}{{10.3}{205}} +\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.1}Controlling the DC motor}{205}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{Note:}{205}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{205}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{205}\protected@file@percent } -\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{2}}{}}{206}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.2}Scilab Code}{206}\protected@file@percent } -\newlabel{sec:dcmotor-scilab-code}{{10.3.2}{206}} -\@writefile{cod}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{206}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{206}\protected@file@percent } -\newlabel{130@xvr}{{}{206}} -\newlabel{130@vr}{{}{206}} -\newlabel{sci:dcmotor-clock}{{10.{1}}{206}} +\@writefile{lot}{\contentsline {table}{\numberline {10.1}{\ignorespaces Values in the Scilab\ command for different H-Bridge circuits\relax }}{206}\protected@file@percent } +\newlabel{table:convention}{{10.1}{206}} \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{206}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{206}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{206}\protected@file@percent } -\newlabel{131@xvr}{{}{206}} -\newlabel{131@vr}{{}{206}} -\newlabel{sci:dcmotor-both}{{10.{2}}{206}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{206}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{207}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{207}\protected@file@percent } -\newlabel{132@xvr}{{}{207}} -\newlabel{132@vr}{{}{207}} -\newlabel{sci:dcmotor-loop}{{10.{3}}{207}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash loop.sce}{207}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10.4}Controlling the DC Motor from Xcos}{207}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {10.5}{\ignorespaces Control of DC motor for a specified time from Xcos}}{208}\protected@file@percent } -\newlabel{134@xvr}{{}{208}} -\newlabel{134@vr}{{}{208}} -\newlabel{fig:dcmotor-clock}{{10.5}{208}} -\@writefile{lot}{\contentsline {table}{\numberline {10.2}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{208}\protected@file@percent } -\newlabel{tab:dcmotor-clock}{{10.2}{208}} -\newlabel{135@xvr}{{}{208}} -\newlabel{135@vr}{{}{208}} -\@writefile{lof}{\contentsline {figure}{\numberline {10.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{209}\protected@file@percent } -\newlabel{137@xvr}{{}{209}} -\newlabel{137@vr}{{}{209}} -\newlabel{fig:dcmotor-both}{{10.6}{209}} -\@writefile{lot}{\contentsline {table}{\numberline {10.3}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{209}\protected@file@percent } -\newlabel{tab:dcmotor-both}{{10.3}{209}} -\newlabel{138@xvr}{{}{209}} -\newlabel{138@vr}{{}{209}} -\@writefile{lof}{\contentsline {figure}{\numberline {10.7}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{210}\protected@file@percent } -\newlabel{140@xvr}{{}{210}} -\newlabel{140@vr}{{}{210}} -\newlabel{fig:dcmotor-loop}{{10.7}{210}} -\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{3}}{}}{210}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10.5}Controlling the DC Motor from Python}{210}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.5.1}Controlling the DC Motor}{210}\protected@file@percent } -\@writefile{lot}{\contentsline {table}{\numberline {10.4}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{211}\protected@file@percent } -\newlabel{tab:dcmotor-loop}{{10.4}{211}} -\newlabel{141@xvr}{{}{211}} -\newlabel{141@vr}{{}{211}} -\@writefile{toc}{\contentsline {paragraph}{Note:}{211}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{212}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{212}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{212}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{212}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Note:}{212}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{213}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{213}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.5.2}Python Code}{213}\protected@file@percent } -\newlabel{sec:dcmotor-python-code}{{10.5.2}{213}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{207}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{207}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{207}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Note:}{207}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{207}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{207}\protected@file@percent } +\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{2}}{}}{208}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.2}Scilab Code}{208}\protected@file@percent } +\newlabel{sec:dcmotor-scilab-code}{{10.3.2}{208}} +\@writefile{cod}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{208}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{208}\protected@file@percent } +\newlabel{130@xvr}{{}{208}} +\newlabel{130@vr}{{}{208}} +\newlabel{sci:dcmotor-clock}{{10.{1}}{208}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{208}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{208}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{208}\protected@file@percent } +\newlabel{131@xvr}{{}{208}} +\newlabel{131@vr}{{}{208}} +\newlabel{sci:dcmotor-both}{{10.{2}}{208}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{208}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{209}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{209}\protected@file@percent } +\newlabel{132@xvr}{{}{209}} +\newlabel{132@vr}{{}{209}} +\newlabel{sci:dcmotor-loop}{{10.{3}}{209}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash loop.sce}{209}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10.4}Controlling the DC Motor from Xcos}{209}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {10.5}{\ignorespaces Control of DC motor for a specified time from Xcos}}{210}\protected@file@percent } +\newlabel{134@xvr}{{}{210}} +\newlabel{134@vr}{{}{210}} +\newlabel{fig:dcmotor-clock}{{10.5}{210}} +\@writefile{lot}{\contentsline {table}{\numberline {10.2}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{210}\protected@file@percent } +\newlabel{tab:dcmotor-clock}{{10.2}{210}} +\newlabel{135@xvr}{{}{210}} +\newlabel{135@vr}{{}{210}} +\@writefile{lof}{\contentsline {figure}{\numberline {10.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{211}\protected@file@percent } +\newlabel{137@xvr}{{}{211}} +\newlabel{137@vr}{{}{211}} +\newlabel{fig:dcmotor-both}{{10.6}{211}} +\@writefile{lot}{\contentsline {table}{\numberline {10.3}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{211}\protected@file@percent } +\newlabel{tab:dcmotor-both}{{10.3}{211}} +\newlabel{138@xvr}{{}{211}} +\newlabel{138@vr}{{}{211}} +\@writefile{lof}{\contentsline {figure}{\numberline {10.7}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{212}\protected@file@percent } +\newlabel{140@xvr}{{}{212}} +\newlabel{140@vr}{{}{212}} +\newlabel{fig:dcmotor-loop}{{10.7}{212}} +\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{3}}{}}{212}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10.5}Controlling the DC Motor from Python}{212}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.5.1}Controlling the DC Motor}{212}\protected@file@percent } +\@writefile{lot}{\contentsline {table}{\numberline {10.4}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{213}\protected@file@percent } +\newlabel{tab:dcmotor-loop}{{10.4}{213}} +\newlabel{141@xvr}{{}{213}} +\newlabel{141@vr}{{}{213}} +\@writefile{toc}{\contentsline {paragraph}{Note:}{213}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{214}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{214}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{214}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{214}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Note:}{214}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{215}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{215}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.5.2}Python Code}{215}\protected@file@percent } +\newlabel{sec:dcmotor-python-code}{{10.5.2}{215}} \@writefile{pyd}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{1}}{}}{213}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{213}\protected@file@percent } -\newlabel{142@xvr}{{}{213}} -\newlabel{142@vr}{{}{213}} -\newlabel{py:dcmotor-clock}{{10.{1}}{213}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{213}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{2}}{}}{214}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{214}\protected@file@percent } -\newlabel{143@xvr}{{}{214}} -\newlabel{143@vr}{{}{214}} -\newlabel{py:dcmotor-both}{{10.{2}}{214}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{214}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{3}}{}}{215}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{215}\protected@file@percent } -\newlabel{144@xvr}{{}{215}} -\newlabel{144@vr}{{}{215}} -\newlabel{py:dcmotor-loop}{{10.{3}}{215}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash loop.py}{215}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10.6}Controlling the DC Motor from Julia}{216}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.6.1}Controlling the DC Motor}{216}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Note:}{216}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{217}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{217}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{217}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{217}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{1}}{}}{215}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{215}\protected@file@percent } +\newlabel{142@xvr}{{}{215}} +\newlabel{142@vr}{{}{215}} +\newlabel{py:dcmotor-clock}{{10.{1}}{215}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{215}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{2}}{}}{216}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{216}\protected@file@percent } +\newlabel{143@xvr}{{}{216}} +\newlabel{143@vr}{{}{216}} +\newlabel{py:dcmotor-both}{{10.{2}}{216}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{216}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{3}}{}}{217}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{217}\protected@file@percent } +\newlabel{144@xvr}{{}{217}} +\newlabel{144@vr}{{}{217}} +\newlabel{py:dcmotor-loop}{{10.{3}}{217}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor\textendash loop.py}{217}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10.6}Controlling the DC Motor from Julia}{218}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.6.1}Controlling the DC Motor}{218}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{Note:}{218}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{218}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{218}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.6.2}Julia Code}{218}\protected@file@percent } -\newlabel{sec:dcmotor-julia-code}{{10.6.2}{218}} -\@writefile{juliad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{218}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{218}\protected@file@percent } -\newlabel{145@xvr}{{}{218}} -\newlabel{145@vr}{{}{218}} -\newlabel{julia:dcmotor-clock}{{10.{1}}{218}} \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{219}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{219}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{219}\protected@file@percent } -\newlabel{146@xvr}{{}{219}} -\newlabel{146@vr}{{}{219}} -\newlabel{julia:dcmotor-both}{{10.{2}}{219}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{219}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{219}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{219}\protected@file@percent } -\newlabel{147@xvr}{{}{219}} -\newlabel{147@vr}{{}{219}} -\newlabel{julia:dcmotor-loop}{{10.{3}}{219}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash loop.jl}{219}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10.7}Controlling the DC Motor from OpenModelica}{220}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.7.1}Controlling the DC Motor}{220}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{219}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{219}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{219}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{Note:}{220}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{220}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{221}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{221}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{221}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Note:}{221}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{222}\protected@file@percent } -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{222}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {10.7.2}OpenModelica Code}{222}\protected@file@percent } -\newlabel{sec:dcmotor-OpenModelica-code}{{10.7.2}{222}} -\@writefile{OpenModelicad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{222}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{222}\protected@file@percent } -\newlabel{OpenModelica:dcmotor-clock}{{10.{1}}{222}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{220}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{220}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.6.2}Julia Code}{220}\protected@file@percent } +\newlabel{sec:dcmotor-julia-code}{{10.6.2}{220}} +\@writefile{juliad}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{220}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{220}\protected@file@percent } +\newlabel{145@xvr}{{}{220}} +\newlabel{145@vr}{{}{220}} +\newlabel{julia:dcmotor-clock}{{10.{1}}{220}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{221}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{221}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{221}\protected@file@percent } +\newlabel{146@xvr}{{}{221}} +\newlabel{146@vr}{{}{221}} +\newlabel{julia:dcmotor-both}{{10.{2}}{221}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{221}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{221}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{221}\protected@file@percent } +\newlabel{147@xvr}{{}{221}} +\newlabel{147@vr}{{}{221}} +\newlabel{julia:dcmotor-loop}{{10.{3}}{221}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash loop.jl}{221}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10.7}Controlling the DC Motor from OpenModelica}{222}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.7.1}Controlling the DC Motor}{222}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Note:}{222}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{222}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{223}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{223}\protected@file@percent } -\newlabel{OpenModelica:dcmotor-both}{{10.{2}}{223}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{223}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{223}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{223}\protected@file@percent } -\newlabel{OpenModelica:dcmotor-loop}{{10.{3}}{223}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash loop.mo}{223}\protected@file@percent } -\@writefile{toc}{\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{225}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{223}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{223}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{223}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Note:}{223}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{224}\protected@file@percent } +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{224}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.7.2}OpenModelica Code}{224}\protected@file@percent } +\newlabel{sec:dcmotor-OpenModelica-code}{{10.7.2}{224}} +\@writefile{OpenModelicad}{\addvspace {10pt}} +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{224}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{224}\protected@file@percent } +\newlabel{OpenModelica:dcmotor-clock}{{10.{1}}{224}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{224}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{225}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{225}\protected@file@percent } +\newlabel{OpenModelica:dcmotor-both}{{10.{2}}{225}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{225}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{225}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{225}\protected@file@percent } +\newlabel{OpenModelica:dcmotor-loop}{{10.{3}}{225}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash loop.mo}{225}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{227}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{modbus}{{11}{225}} -\@writefile{toc}{\contentsline {section}{\numberline {11.1}Preliminaries}{225}\protected@file@percent } -\newlabel{fig:mod-block}{{\caption@xref {fig:mod-block}{ on input line 72}}{226}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{226}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{226}\protected@file@percent } -\newlabel{fig:mod-master-slave}{{11.2}{226}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{227}\protected@file@percent } -\newlabel{fig:rs-485}{{11.3}{227}} -\@writefile{lot}{\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{228}\protected@file@percent } -\newlabel{tab:request-packet}{{11.1}{228}} -\@writefile{lot}{\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{228}\protected@file@percent } -\newlabel{tab:response-packet}{{11.2}{228}} -\@writefile{lot}{\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{229}\protected@file@percent } -\newlabel{tab:ieee-decimal}{{11.3}{229}} -\@writefile{lot}{\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{229}\protected@file@percent } -\newlabel{tab:single-precision}{{11.4}{229}} -\@writefile{toc}{\contentsline {section}{\numberline {11.2}Objective}{230}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{230}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{231}\protected@file@percent } -\newlabel{fig:full-set-up}{{11.4}{231}} -\@writefile{toc}{\contentsline {section}{\numberline {11.4}Software}{231}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{232}\protected@file@percent } -\newlabel{fig:block-diagram}{{11.5}{232}} -\@writefile{toc}{\contentsline {section}{\numberline {11.5}Output}{232}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{233}\protected@file@percent } -\newlabel{fig:modbus-firmware}{{11.6}{233}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{234}\protected@file@percent } -\newlabel{fig:flow-chart}{{11.7}{234}} -\@writefile{toc}{\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{234}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{235}\protected@file@percent } -\newlabel{fig:current-console}{{11.8}{235}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{235}\protected@file@percent } -\newlabel{fig:current-meter}{{11.9}{235}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{236}\protected@file@percent } -\newlabel{fig:voltage-console}{{11.10}{236}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{236}\protected@file@percent } -\newlabel{fig:voltage-meter}{{11.11}{236}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{237}\protected@file@percent } -\newlabel{fig:power-console}{{11.12}{237}} -\@writefile{lof}{\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{237}\protected@file@percent } -\newlabel{fig:power-meter}{{11.13}{237}} -\@writefile{toc}{\contentsline {section}{\numberline {11.7}Code}{237}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.1}Arduino Code}{237}\protected@file@percent } -\newlabel{sec:firmware-modbus}{{11.7.1}{237}} +\newlabel{modbus}{{11}{227}} +\@writefile{toc}{\contentsline {section}{\numberline {11.1}Preliminaries}{227}\protected@file@percent } +\newlabel{fig:mod-block}{{\caption@xref {fig:mod-block}{ on input line 72}}{228}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{228}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{228}\protected@file@percent } +\newlabel{fig:mod-master-slave}{{11.2}{228}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{229}\protected@file@percent } +\newlabel{fig:rs-485}{{11.3}{229}} +\@writefile{lot}{\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{230}\protected@file@percent } +\newlabel{tab:request-packet}{{11.1}{230}} +\@writefile{lot}{\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{230}\protected@file@percent } +\newlabel{tab:response-packet}{{11.2}{230}} +\@writefile{lot}{\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{231}\protected@file@percent } +\newlabel{tab:ieee-decimal}{{11.3}{231}} +\@writefile{lot}{\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{231}\protected@file@percent } +\newlabel{tab:single-precision}{{11.4}{231}} +\@writefile{toc}{\contentsline {section}{\numberline {11.2}Objective}{232}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{232}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{233}\protected@file@percent } +\newlabel{fig:full-set-up}{{11.4}{233}} +\@writefile{toc}{\contentsline {section}{\numberline {11.4}Software}{233}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{234}\protected@file@percent } +\newlabel{fig:block-diagram}{{11.5}{234}} +\@writefile{toc}{\contentsline {section}{\numberline {11.5}Output}{234}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{235}\protected@file@percent } +\newlabel{fig:modbus-firmware}{{11.6}{235}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{236}\protected@file@percent } +\newlabel{fig:flow-chart}{{11.7}{236}} +\@writefile{toc}{\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{236}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{237}\protected@file@percent } +\newlabel{fig:current-console}{{11.8}{237}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{237}\protected@file@percent } +\newlabel{fig:current-meter}{{11.9}{237}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{238}\protected@file@percent } +\newlabel{fig:voltage-console}{{11.10}{238}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{238}\protected@file@percent } +\newlabel{fig:voltage-meter}{{11.11}{238}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{239}\protected@file@percent } +\newlabel{fig:power-console}{{11.12}{239}} +\@writefile{lof}{\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{239}\protected@file@percent } +\newlabel{fig:power-meter}{{11.13}{239}} +\@writefile{toc}{\contentsline {section}{\numberline {11.7}Code}{239}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.1}Arduino Code}{239}\protected@file@percent } +\newlabel{sec:firmware-modbus}{{11.7.1}{239}} \@writefile{ard}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{237}\protected@file@percent } -\@writefile{ard}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{237}\protected@file@percent } -\newlabel{150@xvr}{{}{237}} -\newlabel{150@vr}{{}{237}} -\newlabel{ard:firmware-modbus}{{11.{1}}{237}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/arduino/send\textunderscore packet.ino}{237}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{238}\protected@file@percent } -\newlabel{149@xvr}{{}{238}} -\newlabel{149@vr}{{}{238}} -\newlabel{fig:mod-read}{{11.14}{238}} -\@writefile{lot}{\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{238}\protected@file@percent } -\newlabel{tab:mod-xcos-read}{{11.5}{238}} -\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.2}Scilab Code}{239}\protected@file@percent } -\newlabel{sec:modbus-scilab-code}{{11.7.2}{239}} +\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{239}\protected@file@percent } +\@writefile{ard}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{239}\protected@file@percent } +\newlabel{150@xvr}{{}{239}} +\newlabel{150@vr}{{}{239}} +\newlabel{ard:firmware-modbus}{{11.{1}}{239}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/arduino/send\textunderscore packet.ino}{239}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{240}\protected@file@percent } +\newlabel{149@xvr}{{}{240}} +\newlabel{149@vr}{{}{240}} +\newlabel{fig:mod-read}{{11.14}{240}} +\@writefile{lot}{\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{240}\protected@file@percent } +\newlabel{tab:mod-xcos-read}{{11.5}{240}} +\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.2}Scilab Code}{241}\protected@file@percent } +\newlabel{sec:modbus-scilab-code}{{11.7.2}{241}} \@writefile{cod}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{239}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{239}\protected@file@percent } -\newlabel{151@xvr}{{}{239}} -\newlabel{151@vr}{{}{239}} -\newlabel{sci:current-modbus}{{11.{1}}{239}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore val.sce}{239}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{239}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{239}\protected@file@percent } -\newlabel{152@xvr}{{}{239}} -\newlabel{152@vr}{{}{239}} -\newlabel{sci:current-modbus}{{11.{2}}{239}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore current.sci}{239}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{239}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{239}\protected@file@percent } -\newlabel{153@xvr}{{}{239}} -\newlabel{153@vr}{{}{239}} -\newlabel{sci:voltage-modbus}{{11.{3}}{239}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore voltage.sci}{239}\protected@file@percent } -\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{240}\protected@file@percent } -\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{240}\protected@file@percent } -\newlabel{154@xvr}{{}{240}} -\newlabel{154@vr}{{}{240}} -\newlabel{sci:modbus-power}{{11.{4}}{240}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore active\textunderscore power.sci}{240}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.3}Python Code}{240}\protected@file@percent } -\newlabel{sec:modbus-python-code}{{11.7.3}{240}} +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{241}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{241}\protected@file@percent } +\newlabel{151@xvr}{{}{241}} +\newlabel{151@vr}{{}{241}} +\newlabel{sci:current-modbus}{{11.{1}}{241}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore val.sce}{241}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{241}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{241}\protected@file@percent } +\newlabel{152@xvr}{{}{241}} +\newlabel{152@vr}{{}{241}} +\newlabel{sci:current-modbus}{{11.{2}}{241}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore current.sci}{241}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{241}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{241}\protected@file@percent } +\newlabel{153@xvr}{{}{241}} +\newlabel{153@vr}{{}{241}} +\newlabel{sci:voltage-modbus}{{11.{3}}{241}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore voltage.sci}{241}\protected@file@percent } +\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{242}\protected@file@percent } +\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{242}\protected@file@percent } +\newlabel{154@xvr}{{}{242}} +\newlabel{154@vr}{{}{242}} +\newlabel{sci:modbus-power}{{11.{4}}{242}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read\textunderscore active\textunderscore power.sci}{242}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.3}Python Code}{242}\protected@file@percent } +\newlabel{sec:modbus-python-code}{{11.7.3}{242}} \@writefile{pyd}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{1}}{}}{240}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{240}\protected@file@percent } -\newlabel{155@xvr}{{}{240}} -\newlabel{155@vr}{{}{240}} -\newlabel{py:current-modbus}{{11.{1}}{240}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore current.py}{240}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{2}}{}}{240}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{240}\protected@file@percent } -\newlabel{156@xvr}{{}{240}} -\newlabel{156@vr}{{}{240}} -\newlabel{py:voltage-modbus}{{11.{2}}{240}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore voltage.py}{240}\protected@file@percent } -\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{3}}{}}{241}\protected@file@percent } -\@writefile{pyd}{\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{241}\protected@file@percent } -\newlabel{157@xvr}{{}{241}} -\newlabel{157@vr}{{}{241}} -\newlabel{py:modbus-power}{{11.{3}}{241}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore active\textunderscore power.py}{241}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.4}Julia Code}{241}\protected@file@percent } -\newlabel{sec:modbus-julia-code}{{11.7.4}{241}} +\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{1}}{}}{242}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{242}\protected@file@percent } +\newlabel{155@xvr}{{}{242}} +\newlabel{155@vr}{{}{242}} +\newlabel{py:current-modbus}{{11.{1}}{242}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore current.py}{242}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{2}}{}}{242}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{242}\protected@file@percent } +\newlabel{156@xvr}{{}{242}} +\newlabel{156@vr}{{}{242}} +\newlabel{py:voltage-modbus}{{11.{2}}{242}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore voltage.py}{242}\protected@file@percent } +\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{3}}{}}{243}\protected@file@percent } +\@writefile{pyd}{\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{243}\protected@file@percent } +\newlabel{157@xvr}{{}{243}} +\newlabel{157@vr}{{}{243}} +\newlabel{py:modbus-power}{{11.{3}}{243}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read\textunderscore active\textunderscore power.py}{243}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.4}Julia Code}{243}\protected@file@percent } +\newlabel{sec:modbus-julia-code}{{11.7.4}{243}} \@writefile{juliad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{241}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{241}\protected@file@percent } -\newlabel{158@xvr}{{}{241}} -\newlabel{158@vr}{{}{241}} -\newlabel{julia:current-modbus}{{11.{1}}{241}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readCurrent.jl}{241}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{241}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{241}\protected@file@percent } -\newlabel{159@xvr}{{}{241}} -\newlabel{159@vr}{{}{241}} -\newlabel{julia:voltage-modbus}{{11.{2}}{241}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readVoltage.jl}{241}\protected@file@percent } -\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{242}\protected@file@percent } -\@writefile{juliad}{\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Active Power Output}{242}\protected@file@percent } -\newlabel{160@xvr}{{}{242}} -\newlabel{160@vr}{{}{242}} -\newlabel{julia:modbus-power}{{11.{3}}{242}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readPower.jl}{242}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.5}OpenModelica Code}{242}\protected@file@percent } -\newlabel{sec:modbus-OpenModelica-code}{{11.7.5}{242}} +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{243}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{243}\protected@file@percent } +\newlabel{158@xvr}{{}{243}} +\newlabel{158@vr}{{}{243}} +\newlabel{julia:current-modbus}{{11.{1}}{243}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readCurrent.jl}{243}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{243}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{243}\protected@file@percent } +\newlabel{159@xvr}{{}{243}} +\newlabel{159@vr}{{}{243}} +\newlabel{julia:voltage-modbus}{{11.{2}}{243}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readVoltage.jl}{243}\protected@file@percent } +\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{244}\protected@file@percent } +\@writefile{juliad}{\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Active Power Output}{244}\protected@file@percent } +\newlabel{160@xvr}{{}{244}} +\newlabel{160@vr}{{}{244}} +\newlabel{julia:modbus-power}{{11.{3}}{244}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readPower.jl}{244}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.7.5}OpenModelica Code}{244}\protected@file@percent } +\newlabel{sec:modbus-OpenModelica-code}{{11.7.5}{244}} \@writefile{OpenModelicad}{\addvspace {10pt}} -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{242}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{242}\protected@file@percent } -\newlabel{161@xvr}{{}{242}} -\newlabel{161@vr}{{}{242}} -\newlabel{OpenModelica:current-modbus}{{11.{1}}{242}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo}{242}\protected@file@percent } -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{242}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{242}\protected@file@percent } -\newlabel{162@xvr}{{}{242}} -\newlabel{162@vr}{{}{242}} -\newlabel{OpenModelica:voltage-modbus}{{11.{2}}{242}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo}{242}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{244}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{244}\protected@file@percent } +\newlabel{161@xvr}{{}{244}} +\newlabel{161@vr}{{}{244}} +\newlabel{OpenModelica:current-modbus}{{11.{1}}{244}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo}{244}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{244}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{244}\protected@file@percent } +\newlabel{162@xvr}{{}{244}} +\newlabel{162@vr}{{}{244}} +\newlabel{OpenModelica:voltage-modbus}{{11.{2}}{244}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo}{244}\protected@file@percent } \bibdata{bibliography.bib} -\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{243}\protected@file@percent } -\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{243}\protected@file@percent } -\newlabel{163@xvr}{{}{243}} -\newlabel{163@vr}{{}{243}} -\newlabel{OpenModelica:modbus-power}{{11.{3}}{243}} -\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readPower.mo}{243}\protected@file@percent } +\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{245}\protected@file@percent } +\@writefile{OpenModelicad}{\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{245}\protected@file@percent } +\newlabel{163@xvr}{{}{245}} +\newlabel{163@vr}{{}{245}} +\newlabel{OpenModelica:modbus-power}{{11.{3}}{245}} +\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readPower.mo}{245}\protected@file@percent } \bibcite{CNES-Scilab}{1} \bibcite{scilab-arduino}{2} \bibcite{oshw-ref}{3} @@ -1601,7 +1618,7 @@ \bibcite{scilab-ref}{12} \bibcite{scilab-interop}{13} \bibcite{xcos-ref}{14} -\@writefile{toc}{\contentsline {chapter}{\numberline {References}}{245}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {References}}{247}\protected@file@percent } \bibcite{python-ref}{15} \bibcite{pySerial}{16} \bibcite{julia-ref}{17} @@ -1609,3 +1626,4 @@ \bibcite{om-ref}{19} \bibcite{therm-wiki}{20} \bibcite{arduino-pwm}{21} +\bibcite{servo-lib}{22} diff --git a/floss-arduino.bbl b/floss-arduino.bbl index 3203ef0..93fe139 100644 --- a/floss-arduino.bbl +++ b/floss-arduino.bbl @@ -111,4 +111,9 @@ Secrets of arduino pwm. \newblock https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM. \newblock Seen on 5 May 2021. +\bibitem{servo-lib} +Servo. +\newblock https://www.arduino.cc/reference/en/libraries/servo/. +\newblock Seen on 6 May 2021. + \end{thebibliography} diff --git a/floss-arduino.blg b/floss-arduino.blg index 7922b73..c09e50f 100644 --- a/floss-arduino.blg +++ b/floss-arduino.blg @@ -3,44 +3,44 @@ Capacity: max_strings=200000, hash_size=200000, hash_prime=170003 The top-level auxiliary file: floss-arduino.aux The style file: unsrt.bst Database file #1: bibliography.bib -You've used 21 entries, +You've used 22 entries, 1791 wiz_defined-function locations, - 519 strings with 5316 characters, -and the built_in function-call counts, 2386 in all, are: -= -- 216 -> -- 30 + 523 strings with 5400 characters, +and the built_in function-call counts, 2495 in all, are: += -- 226 +> -- 31 < -- 0 -+ -- 24 ++ -- 25 - -- 3 * -- 2 -:= -- 272 -add.period$ -- 66 -call.type$ -- 21 -change.case$ -- 21 +:= -- 283 +add.period$ -- 69 +call.type$ -- 22 +change.case$ -- 22 chr.to.int$ -- 0 -cite$ -- 21 -duplicate$ -- 105 -empty$ -- 379 +cite$ -- 22 +duplicate$ -- 110 +empty$ -- 397 format.name$ -- 3 -if$ -- 619 +if$ -- 648 int.to.chr$ -- 0 -int.to.str$ -- 21 +int.to.str$ -- 22 missing$ -- 0 -newline$ -- 111 +newline$ -- 116 num.names$ -- 3 -pop$ -- 165 +pop$ -- 173 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 59 +skip$ -- 62 stack$ -- 0 substring$ -- 0 -swap$ -- 21 +swap$ -- 22 text.length$ -- 0 text.prefix$ -- 0 top$ -- 0 type$ -- 0 warning$ -- 0 while$ -- 3 -width$ -- 23 -write$ -- 197 +width$ -- 24 +write$ -- 206 diff --git a/floss-arduino.cod b/floss-arduino.cod index 82da4b0..77a9cb6 100644 --- a/floss-arduino.cod +++ b/floss-arduino.cod @@ -19,16 +19,16 @@ \contentsline {section}{\numberline {8.{1}}Read and display the thermistor values}{157}% \contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{158}% \addvspace {10pt} -\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{178}% -\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{178}% -\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{179}% -\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{179}% -\addvspace {10pt} -\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{206}% -\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{206}% -\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{207}% -\addvspace {10pt} -\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{239}% -\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{239}% -\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{239}% -\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{240}% +\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{181}% +\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{182}% +\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{182}% +\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{182}% +\addvspace {10pt} +\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{208}% +\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{208}% +\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{209}% +\addvspace {10pt} +\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{241}% +\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{241}% +\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{241}% +\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{242}% diff --git a/floss-arduino.fdb_latexmk b/floss-arduino.fdb_latexmk index 7286995..a8b36e0 100644 --- a/floss-arduino.fdb_latexmk +++ b/floss-arduino.fdb_latexmk @@ -1,19 +1,19 @@ # Fdb version 3 -["bibtex floss-arduino"] 1620287260 "floss-arduino.aux" "floss-arduino.bbl" "floss-arduino" 1620287272 +["bibtex floss-arduino"] 1620301192 "floss-arduino.aux" "floss-arduino.bbl" "floss-arduino" 1620301277 "/usr/share/texlive/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 "" - "bibliography.bib" 1620178718 4558 9df9b0b27759d4cfc637a7b5fff89181 "" - "floss-arduino.aux" 1620287270 142237 63350a91a798c036aa5a1d0bcdf4f38e "pdflatex" + "bibliography.bib" 1620297358 4761 0402e8ce734c33f2ba70b0c39108c686 "" + "floss-arduino.aux" 1620301276 144458 e4d67f4ec2a645ccf669c60aa034a8f0 "pdflatex" (generated) "floss-arduino.bbl" "floss-arduino.blg" -["makeindex floss-arduino.idx"] 1620287150 "floss-arduino.idx" "floss-arduino.ind" "floss-arduino" 1620287272 - "floss-arduino.idx" 1620287270 187 3ea6c935c61035ccb5c169fb34e1da05 "pdflatex" +["makeindex floss-arduino.idx"] 1620300879 "floss-arduino.idx" "floss-arduino.ind" "floss-arduino" 1620301277 + "floss-arduino.idx" 1620301276 187 45de1e3eb4fe024d18ba3866c9dcecae "pdflatex" (generated) "floss-arduino.ind" "floss-arduino.ilg" -["pdflatex"] 1620287260 "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.tex" "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.pdf" "floss-arduino" 1620287272 +["pdflatex"] 1620301268 "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.tex" "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.pdf" "floss-arduino" 1620301277 "/etc/texmf/web2c/texmf.cnf" 1602253014 475 c0e671620eb5563b2130f56340a5fde8 "" - "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.aux" 1620287270 142237 63350a91a798c036aa5a1d0bcdf4f38e "" + "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.aux" 1620301276 144458 e4d67f4ec2a645ccf669c60aa034a8f0 "" "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.tex" 1620092361 4558 98aa7ac618326a3037ae9c9d0000888c "" "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" @@ -138,18 +138,18 @@ "/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1604540077 4770781 1ed1abab22da9c3e2cc82e4db562318b "" "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1604540101 8258883 e8330f8aa4fe7c6cdcf08bf0b72237fd "" - "floss-arduino.OpenModelicad" 1620287270 2294 40e2e23c39a022be21dea10d27626604 "pdflatex" - "floss-arduino.ard" 1620287270 2072 6fcdcb0b69babc6392e16f0208a58632 "pdflatex" - "floss-arduino.aux" 1620287270 142237 63350a91a798c036aa5a1d0bcdf4f38e "pdflatex" - "floss-arduino.bbl" 1620287260 2925 895f098dadb71828a3cfe277ebaff5f6 "bibtex floss-arduino" - "floss-arduino.cod" 1620287270 2496 22ab789079bdf6acae4b3630dfd27ad6 "pdflatex" - "floss-arduino.ind" 1620287151 228 9a9af8565fd0a0b7fd9f2f6d781fe4c6 "makeindex floss-arduino.idx" - "floss-arduino.juliad" 1620287270 2328 277569d91626c96de9945b6fe3d5379e "pdflatex" - "floss-arduino.lof" 1620287270 13406 2ef0cbf2674eb7b63cfaa7e439bd1043 "pdflatex" - "floss-arduino.lot" 1620287270 3596 f36d068cb1378a0e9d7cbc9fdc57a6f9 "pdflatex" - "floss-arduino.pyd" 1620287270 2323 ee68eadedfb59a7c5a12563da02548bb "pdflatex" + "floss-arduino.OpenModelicad" 1620301276 2294 64e0278d913e4d610ae24755d69fa3c3 "pdflatex" + "floss-arduino.ard" 1620301276 2072 03f608d38307188c3f023692c7820830 "pdflatex" + "floss-arduino.aux" 1620301276 144458 e4d67f4ec2a645ccf669c60aa034a8f0 "pdflatex" + "floss-arduino.bbl" 1620301193 3047 ba4e591b17c796db08fc30ce671afa1c "bibtex floss-arduino" + "floss-arduino.cod" 1620301276 2496 d6537547d7474e45ba26872342fbd881 "pdflatex" + "floss-arduino.ind" 1620300880 228 8b31eec6460f783bd4a93e92993f1e94 "makeindex floss-arduino.idx" + "floss-arduino.juliad" 1620301276 2328 87fa2538ba1eceb15a704f02a849cb09 "pdflatex" + "floss-arduino.lof" 1620301276 13818 d867701d6a22f7539a98a03160612185 "pdflatex" + "floss-arduino.lot" 1620301276 3596 e909cb8063f082913ae4c3ba05612f10 "pdflatex" + "floss-arduino.pyd" 1620301276 2323 074d01ed787b05332fd1b4e6ac0c08ea "pdflatex" "floss-arduino.tex" 1620092361 4558 98aa7ac618326a3037ae9c9d0000888c "" - "floss-arduino.toc" 1620287270 15922 e757821565ea1e9edc2a9d4593ce0f03 "pdflatex" + "floss-arduino.toc" 1620301276 16031 14ae2af7fa5569226d73bf4bdde98ecd "pdflatex" "suppl/acr.tex" 1615963613 1926 fd6481c4666ee0d60331b7d4cc24b645 "" "suppl/intro.tex" 1615963613 3437 b09628cf9e20fe17fa65b37a5997653c "" "suppl/styles.tex" 1615963613 8143 aa3280f0b59c8631fe8ec44895c9e871 "" @@ -308,13 +308,16 @@ "user-code/servo/OpenModelica/servo-reverse.mo" 1620088994 1034 b3c4bde1f4512e22f819c76b8d7e61ce "" "user-code/servo/OpenModelica/servo_pot.mo" 1620088994 1327 915faa53a8fc96ffb949f8881d33d97d "" "user-code/servo/arduino/servo-init/servo-init.ino" 1620088994 295 65f0ac74c87b7c1934dc586d83ab0efe "" - "user-code/servo/arduino/servo-loop/servo-loop.ino" 1620088994 402 a065235f36fc9d679d5f5bb358419f50 "" + "user-code/servo/arduino/servo-loop/servo-loop.ino" 1620298217 402 c218fcd4caeb348d81352b676dc5c541 "" "user-code/servo/arduino/servo-pot/servo-pot.ino" 1620088994 671 145aea71e1ac2ef50822eb25d83108d6 "" "user-code/servo/arduino/servo-reverse/servo-reverse.ino" 1620088994 331 5305061778c867a1ac20fee4fa50e995 "" + "user-code/servo/figures/servo-bb.png" 1620292542 225975 568cf3b00806f2ae8562b2af9fe5a249 "" "user-code/servo/figures/servo-init.png" 1615963614 26415 598a8cb33dbe09dbd1edc7b8735f4816 "" "user-code/servo/figures/servo-loop.png" 1615963614 32952 67f7dd0d2bb32be2b1c48f217b17c189 "" + "user-code/servo/figures/servo-pot-bb.png" 1620292534 236985 d6100121102ec6696c76eb30db17b3c0 "" "user-code/servo/figures/servo-pot.png" 1615963614 33204 436709fd3e5dbedb22b8af8b2d2ca4ba "" "user-code/servo/figures/servo-reverse.png" 1615963614 25147 1703152c1e98c6000e54589b6bd467a7 "" + "user-code/servo/figures/servo-uno-shield.jpg" 1620292964 4433005 1ca49ed870fd1a7d92392a6aa2c053f6 "" "user-code/servo/julia/servo-init.jl" 1620088994 174 2f1751adbcd50ad10fb1fc63b126c50d "" "user-code/servo/julia/servo-loop.jl" 1620088994 244 02733944ad3e8beb0aece530a7ff2325 "" "user-code/servo/julia/servo-pot.jl" 1620088994 325 6b14ad4d9b9f190780bb5ba37b9794ae "" @@ -327,7 +330,7 @@ "user-code/servo/scilab/servo-loop.sce" 1620088994 525 6a4902117c83c5390c1877a95a5e363e "" "user-code/servo/scilab/servo-pot.sce" 1620088994 530 2d82664fdd3a16c6588b2a4dc4e66a22 "" "user-code/servo/scilab/servo-reverse.sce" 1620088994 532 11110ec91f2ddb2261afbbec00198d94 "" - "user-code/servo/servo.tex" 1620172500 31612 4a0557ac3bbe427718bf4ab406dd3b88 "" + "user-code/servo/servo.tex" 1620301267 43112 263d726027e93e9220aa84461a06d26d "" "user-code/sw-env/figures/OMEdit-UI.png" 1618566985 1412111 17b388a3069a3685b7d14c6fb67ee8eb "" "user-code/sw-env/figures/OMEdit-libraries.png" 1617394693 154031 fd27a1537f6271ab01c53fd1d2c9d214 "" "user-code/sw-env/figures/arduino-palette.png" 1615963614 10751 8229db142816e63c5b5761df7ebf0e33 "" @@ -390,18 +393,18 @@ "user-code/thermistor/scilab/therm-read.sce" 1619998644 399 3d4d94a3003c16014a51200a9b472b66 "" "user-code/thermistor/thermistor.tex" 1620094206 41317 2326a2c871f17f79a710f7c64b8a31e5 "" (generated) - "floss-arduino.lot" + "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.pdf" + "floss-arduino.cod" + "floss-arduino.log" + "floss-arduino.pdf" + "floss-arduino.OpenModelicad" "floss-arduino.idx" - "floss-arduino.juliad" - "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.log" + "floss-arduino.toc" "floss-arduino.pyd" + "floss-arduino.ard" "floss-arduino.aux" + "floss-arduino.lot" + "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.log" "floss-arduino.lof" "floss-arduino.thm" - "floss-arduino.log" - "floss-arduino.ard" - "/home/fossee/Desktop/floss-scilab-arduino/floss-arduino.pdf" - "floss-arduino.pdf" - "floss-arduino.toc" - "floss-arduino.OpenModelicad" - "floss-arduino.cod" + "floss-arduino.juliad" diff --git a/floss-arduino.fls b/floss-arduino.fls index b8065d5..dd253d7 100644 --- a/floss-arduino.fls +++ b/floss-arduino.fls @@ -909,6 +909,33 @@ INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/thermistor/OpenModelic INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/thermistor/OpenModelica/therm-buzzer.mo INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/servo.tex INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/servo.tex +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-uno-shield.jpg +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-uno-shield.jpg +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-uno-shield.jpg +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-pot-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-pot-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-pot-bb.png +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino @@ -924,9 +951,12 @@ INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-po INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce -INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce -INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce -INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-reverse.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-reverse.sce +INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-reverse.sce INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce INPUT /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce diff --git a/floss-arduino.idx b/floss-arduino.idx index 52c71a2..e21990b 100644 --- a/floss-arduino.idx +++ b/floss-arduino.idx @@ -1,5 +1,5 @@ -\indexentry{H-Bridge circuit DC motor}{197} -\indexentry{H-Bridge}{197} -\indexentry{L293D,L298}{197} -\indexentry{PCB breakout board}{197} -\indexentry{pulse width modulation, PWM}{197} +\indexentry{H-Bridge circuit DC motor}{199} +\indexentry{H-Bridge}{199} +\indexentry{L293D,L298}{199} +\indexentry{PCB breakout board}{199} +\indexentry{pulse width modulation, PWM}{199} diff --git a/floss-arduino.ind b/floss-arduino.ind index 1904fb3..aa8fed4 100644 --- a/floss-arduino.ind +++ b/floss-arduino.ind @@ -1,15 +1,15 @@ \begin{theindex} - \item H-Bridge, 197 - \item H-Bridge circuit DC motor, 197 + \item H-Bridge, 199 + \item H-Bridge circuit DC motor, 199 \indexspace - \item L293D,L298, 197 + \item L293D,L298, 199 \indexspace - \item PCB breakout board, 197 - \item pulse width modulation, PWM, 197 + \item PCB breakout board, 199 + \item pulse width modulation, PWM, 199 \end{theindex} diff --git a/floss-arduino.juliad b/floss-arduino.juliad index fccaf6e..8278e42 100644 --- a/floss-arduino.juliad +++ b/floss-arduino.juliad @@ -16,15 +16,15 @@ \contentsline {section}{\numberline {8.{1}}Read and display the thermistor values}{167}% \contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{167}% \addvspace {10pt} -\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{190}% -\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{190}% -\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{190}% -\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{191}% -\addvspace {10pt} -\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{218}% -\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{219}% -\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{219}% -\addvspace {10pt} -\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{241}% -\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{241}% -\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Active Power Output}{242}% +\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{193}% +\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{193}% +\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{194}% +\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{194}% +\addvspace {10pt} +\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{220}% +\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{221}% +\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{221}% +\addvspace {10pt} +\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{243}% +\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{243}% +\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Active Power Output}{244}% diff --git a/floss-arduino.lof b/floss-arduino.lof index 0be5526..9db5fad 100644 --- a/floss-arduino.lof +++ b/floss-arduino.lof @@ -103,30 +103,33 @@ \contentsline {figure}{\numberline {8.7}{\ignorespaces Xcos diagram to read the value of thermistor, which is used to turn the buzzer on}}{160}% \contentsline {figure}{\numberline {8.8}{\ignorespaces Plot window in Xcos to read thermistor values and the state of LED\relax }}{162}% \addvspace {10\p@ } -\contentsline {figure}{\numberline {9.1}{\ignorespaces Rotating the servomotor by a fixed angle}}{180}% -\contentsline {figure}{\numberline {9.2}{\ignorespaces Rotating the servomotor forward and then reverse}}{181}% -\contentsline {figure}{\numberline {9.3}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{182}% -\contentsline {figure}{\numberline {9.4}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{183}% +\contentsline {figure}{\numberline {9.1}{\ignorespaces Connecting servomotor to the shield attached on Arduino Uno\relax }}{174}% +\contentsline {figure}{\numberline {9.2}{\ignorespaces Interfacing a servomotor with Arduino Uno\ using a breadboard\relax }}{175}% +\contentsline {figure}{\numberline {9.3}{\ignorespaces Interfacing a servomotor and potentiometer with Arduino Uno\ using a breadboard\relax }}{176}% +\contentsline {figure}{\numberline {9.4}{\ignorespaces Rotating the servomotor by a fixed angle}}{183}% +\contentsline {figure}{\numberline {9.5}{\ignorespaces Rotating the servomotor forward and then reverse}}{184}% +\contentsline {figure}{\numberline {9.6}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{185}% +\contentsline {figure}{\numberline {9.7}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{187}% \addvspace {10\p@ } -\contentsline {figure}{\numberline {10.1}{\ignorespaces L293D motor driver board\relax }}{198}% -\contentsline {figure}{\numberline {10.2}{\ignorespaces PWM pins on an Arduino Uno\ board\relax }}{199}% -\contentsline {figure}{\numberline {10.3}{\ignorespaces A schematic of DC motor connections\relax }}{199}% -\contentsline {figure}{\numberline {10.4}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{200}% -\contentsline {figure}{\numberline {10.5}{\ignorespaces Control of DC motor for a specified time from Xcos}}{208}% -\contentsline {figure}{\numberline {10.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{209}% -\contentsline {figure}{\numberline {10.7}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{210}% +\contentsline {figure}{\numberline {10.1}{\ignorespaces L293D motor driver board\relax }}{200}% +\contentsline {figure}{\numberline {10.2}{\ignorespaces PWM pins on an Arduino Uno\ board\relax }}{201}% +\contentsline {figure}{\numberline {10.3}{\ignorespaces A schematic of DC motor connections\relax }}{201}% +\contentsline {figure}{\numberline {10.4}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{202}% +\contentsline {figure}{\numberline {10.5}{\ignorespaces Control of DC motor for a specified time from Xcos}}{210}% +\contentsline {figure}{\numberline {10.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{211}% +\contentsline {figure}{\numberline {10.7}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{212}% \addvspace {10\p@ } -\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{226}% -\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{226}% -\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{227}% -\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{231}% -\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{232}% -\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{233}% -\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{234}% -\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{235}% -\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{235}% -\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{236}% -\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{236}% -\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{237}% -\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{237}% -\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{238}% +\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{228}% +\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{228}% +\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{229}% +\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{233}% +\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{234}% +\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{235}% +\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{236}% +\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{237}% +\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{237}% +\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{238}% +\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{238}% +\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{239}% +\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{239}% +\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{240}% diff --git a/floss-arduino.log b/floss-arduino.log index 15f46ea..26022c7 100644 --- a/floss-arduino.log +++ b/floss-arduino.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.11.5) 6 MAY 2021 13:19 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.11.5) 6 MAY 2021 17:11 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -523,7 +523,7 @@ Overfull \hbox (74.6947pt too wide) detected at line 9 {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] -Overfull \hbox (42.2769pt too wide) detected at line 220 +Overfull \hbox (42.2769pt too wide) detected at line 221 \T1/cmr/bx/n/10.95 References [] @@ -2115,152 +2115,180 @@ erm-buzzer.mo [170])) (./user-code/servo/servo.tex [171] [172 ] Chapter 9. +[173] +</home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-uno-sh +ield.jpg, id=825, 1110.0672pt x 508.7808pt> +File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-u +no-shield.jpg Graphic file (type jpg) +<use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-un +o-shield.jpg> +Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se +rvo/figures/servo-uno-shield.jpg used on input line 82. +(pdftex.def) Requested size: 258.36281pt x 118.41452pt. + [174 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- +uno-shield.jpg>] +</home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-bb.png +, id=829, 446.468pt x 316.382pt> +File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-b +b.png Graphic file (type png) +<use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-bb +.png> +Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se +rvo/figures/servo-bb.png used on input line 119. +(pdftex.def) Requested size: 357.73405pt x 253.51628pt. +</home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-pot-bb +.png, id=830, 446.468pt x 286.671pt> +File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-p +ot-bb.png Graphic file (type png) +<use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-po +t-bb.png> +Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se +rvo/figures/servo-pot-bb.png used on input line 133. +(pdftex.def) Requested size: 357.73405pt x 229.70891pt. -Overfull \hbox (0.85788pt too wide) in paragraph at lines 79--79 -[]\T1/cmr/bx/n/14.4 Controlling the Ser-vome-ter through the Ar-duino IDE - [] - - -Underfull \vbox (badness 1975) has occurred while \output is active [] - - [173] -Overfull \hbox (18.05354pt too wide) in paragraph at lines 90--98 -[]\T1/cmr/m/n/10.95 In the first ex-per-i-ment, we will move the ser-vo-mo-tor -by $\OT1/cmr/m/n/10.95 30[]$ \T1/cmr/m/n/10.95 us-ing Ar-duino Code 9.1[]. +Overfull \hbox (2.29306pt too wide) in paragraph at lines 138--138 +[]\T1/cmr/bx/n/14.4 Controlling the Ser-vo-mo-tor through the Ar-duino IDE [] -[174] +[175 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-b +b.png>] +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/s +ervo-init.ino) +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/s +ervo-init.ino) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/s -ervo-init.ino) [175] +ervo-init.ino) +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/s +ervo-init.ino [176 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/f +igures/servo-pot-bb.png>]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-revers e/servo-reverse.ino) +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-pot/se +rvo-pot.ino) [177] +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-init/s +ervo-init.ino) +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-revers +e/servo-reverse.ino [178]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-loop/s ervo-loop.ino) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/arduino/servo-pot/se -rvo-pot.ino [176]) +rvo-pot.ino [179]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sc -e) [177] -(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce -) +e) +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sc +e) [180] +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-reverse +.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce -) +) [181] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-init.sc e) -Overfull \hbox (2.47322pt too wide) in paragraph at lines 260--264 +Overfull \hbox (2.47322pt too wide) in paragraph at lines 404--408 []\T1/cmr/m/n/10.95 Rotating the ser-vo-mo-tor to a spec-i-fied de-gree and re- vers-ing. Avail- [] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-reverse -.sce [178]) +.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-loop.sc e) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/scilab/servo-pot.sce -) +[182]) </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-init.p -ng, id=842, 265.74281pt x 309.40594pt> +ng, id=860, 265.74281pt x 309.40594pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-i nit.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-in it.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se -rvo/figures/servo-init.png used on input line 299. +rvo/figures/servo-init.png used on input line 443. (pdftex.def) Requested size: 178.86702pt x 208.2593pt. - [179] + [183 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- +init.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-revers -e.png, id=846, 244.66406pt x 281.55188pt> +e.png, id=864, 244.66406pt x 281.55188pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-r everse.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-re verse.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se -rvo/figures/servo-reverse.png used on input line 334. +rvo/figures/servo-reverse.png used on input line 478. (pdftex.def) Requested size: 178.86702pt x 205.84047pt. - -Underfull \vbox (badness 3199) has occurred while \output is active [] - - [180 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- -init.png>] + [184 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- +reverse.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-loop.p -ng, id=850, 281.55188pt x 347.04657pt> +ng, id=868, 281.55188pt x 347.04657pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-l oop.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-lo op.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se -rvo/figures/servo-loop.png used on input line 372. +rvo/figures/servo-loop.png used on input line 516. (pdftex.def) Requested size: 178.86702pt x 220.47803pt. + [185 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- +loop.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-pot.pn -g, id=851, 286.06876pt x 292.09125pt> +g, id=872, 286.06876pt x 292.09125pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-p ot.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-po t.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/se -rvo/figures/servo-pot.png used on input line 415. +rvo/figures/servo-pot.png used on input line 559. (pdftex.def) Requested size: 178.86702pt x 182.63234pt. -[181 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-r -everse.png>] -Overfull \hbox (17.60953pt too wide) in paragraph at lines 435--446 +Overfull \hbox (17.60953pt too wide) in paragraph at lines 579--590 [][] [] -[182 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo-l -oop.png>] -LaTeX Warning: Reference `sec:py-start' on page 183 undefined on input line 459 +LaTeX Warning: Reference `sec:py-start' on page 186 undefined on input line 603 . - -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [183 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/servo- -pot.png>] +[186] [187 </home/fossee/Desktop/floss-scilab-arduino/user-code/servo/figures/s +ervo-pot.png>] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-init.py -) [184] +) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-pot.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-pot.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-init.py -[185]) +[188]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-reverse -.py [186]) +.py [189]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-loop.py -[187]) +[190]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/python/servo-pot.py -[188]) +[191]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-init.jl) +[192] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-pot.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-pot.jl) -[189] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-init.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-reverse. jl) -(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-loop.jl) -[190] +(/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-loop.jl +[193]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/julia/servo-pot.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo-i -nit.mo) [191] +nit.mo) [194] (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo_p ot.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo_p ot.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo-i -nit.mo [192]) +nit.mo [195]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo-r -everse.mo) +everse.mo [196]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo-l -oop.mo [193]) +oop.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/servo/OpenModelica/servo_p -ot.mo [194])) (./user-code/dcmotor/dcmotor.tex [195] [196 - -] +ot.mo [197])) (./user-code/dcmotor/dcmotor.tex [198] Chapter 10. </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmotor_bo -ard.png, id=903, 247.92625pt x 232.87pt> +ard.png, id=914, 247.92625pt x 232.87pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmot or_board.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmoto @@ -2268,9 +2296,11 @@ r_board.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/dcmotor_board.png used on input line 68. (pdftex.def) Requested size: 258.36281pt x 242.69075pt. -[197] +[199 + +] </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/uno-pwm.jp -g, id=907, 1653.5376pt x 1239.1896pt> +g, id=919, 1653.5376pt x 1239.1896pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/uno-p wm.jpg Graphic file (type jpg) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/uno-pw @@ -2278,10 +2308,10 @@ m.jpg> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/uno-pwm.jpg used on input line 94. (pdftex.def) Requested size: 258.36281pt x 193.60399pt. - [198 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmo + [200 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmo tor_board.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/schematic. -png, id=912, 415.5525pt x 467.7475pt> +png, id=924, 415.5525pt x 467.7475pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/schem atic.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/schema @@ -2290,7 +2320,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/schematic.png used on input line 117. (pdftex.def) Requested size: 178.86702pt x 201.33447pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dc_motor_d -escription.jpg, id=913, 2469.97781pt x 1973.12157pt> +escription.jpg, id=925, 2469.97781pt x 1973.12157pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dc_mo tor_description.jpg Graphic file (type jpg) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dc_mot @@ -2298,11 +2328,11 @@ or_description.jpg> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/dc_motor_description.jpg used on input line 123. (pdftex.def) Requested size: 258.36281pt x 206.38603pt. - [199 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/uno- + [201 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/uno- pwm.jpg> </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/s chematic.png>] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-cl -ock/dcmotor-clock.ino) [200 </home/fossee/Desktop/floss-scilab-arduino/user-cod +ock/dcmotor-clock.ino) [202 </home/fossee/Desktop/floss-scilab-arduino/user-cod e/dcmotor/figures/dc_motor_description.jpg>] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-cl ock/dcmotor-clock.ino) @@ -2311,17 +2341,17 @@ ock/dcmotor-clock.ino) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-bo th/dcmotor-both.ino) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-bo -th/dcmotor-both.ino) [201] +th/dcmotor-both.ino) [203] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-cl ock/dcmotor-clock.ino) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-bo -th/dcmotor-both.ino [202]) +th/dcmotor-both.ino [204]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/arduino/dcmotor-lo -op/dcmotor-loop.ino) [203] +op/dcmotor-loop.ino) [205] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-clo ck.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-clo -ck.sce) [204] +ck.sce) [206] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-clo ck.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-clo @@ -2329,15 +2359,15 @@ ck.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-bot h.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-bot -h.sce) [205] +h.sce) [207] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-clo ck.sce) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-bot -h.sce) [206] +h.sce) [208] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/scilab/dcmotor-loo p.sce) </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmotor-cl -ock.png, id=942, 807.015pt x 738.76pt> +ock.png, id=953, 807.015pt x 738.76pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmot or-clock.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmoto @@ -2346,7 +2376,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/dcmotor-clock.png used on input line 531. (pdftex.def) Requested size: 178.86702pt x 163.73386pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmotor-bo -th.png, id=943, 784.9325pt x 716.6775pt> +th.png, id=954, 784.9325pt x 716.6775pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmot or-both.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmoto @@ -2354,10 +2384,10 @@ r-both.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/dcmotor-both.png used on input line 585. (pdftex.def) Requested size: 178.86702pt x 163.3123pt. - [207] [208 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figure + [209] [210 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figure s/dcmotor-clock.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmotor-lo -op.png, id=951, 775.89874pt x 756.8275pt> +op.png, id=962, 775.89874pt x 756.8275pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmot or-loop.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmoto @@ -2365,9 +2395,9 @@ r-loop.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/dc motor/figures/dcmotor-loop.png used on input line 629. (pdftex.def) Requested size: 178.86702pt x 174.47084pt. - [209 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmo -tor-both.png>] [210 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmoto -r/figures/dcmotor-loop.png>] [211] + [211 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/figures/dcmo +tor-both.png>] [212 </home/fossee/Desktop/floss-scilab-arduino/user-code/dcmoto +r/figures/dcmotor-loop.png>] [213] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-clo ck.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-clo @@ -2375,17 +2405,17 @@ ck.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-clo ck.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-clo -ck.py) [212] +ck.py) [214] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-bot h.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-bot h.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-clo -ck.py [213]) +ck.py [215]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-bot -h.py [214]) +h.py [216]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/python/dcmotor-loo -p.py [215]) [216] +p.py [217]) [218] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-cloc k.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-cloc @@ -2393,19 +2423,19 @@ k.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-cloc k.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-cloc -k.jl) [217] +k.jl) [219] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-both .jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-both .jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-cloc -k.jl [218]) +k.jl [220]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-both .jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/julia/dcmotor-loop -.jl) [219] +.jl) [221] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot -or-clock.mo) [220] +or-clock.mo) [222] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot or-clock.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot @@ -2413,21 +2443,21 @@ or-clock.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot or-clock.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot -or-both.mo) [221] +or-both.mo) [223] (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot or-both.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot -or-clock.mo [222]) +or-clock.mo [224]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot or-both.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/dcmotor/OpenModelica/dcmot -or-loop.mo [223])) (./user-code/modbus/modbus.tex [224] +or-loop.mo [225])) (./user-code/modbus/modbus.tex [226] Chapter 11. -[225 +[227 ] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig1.png, i -d=1009, 672.5125pt x 224.84pt> +d=1020, 672.5125pt x 224.84pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig1.p ng Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig1.pn @@ -2436,7 +2466,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/fig1.png used on input line 71. (pdftex.def) Requested size: 357.73405pt x 119.60033pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig2.png, i -d=1010, 360.34625pt x 375.4025pt> +d=1021, 360.34625pt x 375.4025pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig2.p ng Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig2.pn @@ -2445,7 +2475,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/fig2.png used on input line 79. (pdftex.def) Requested size: 178.86702pt x 186.33748pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig3.png, i -d=1011, 481.04718pt x 214.55156pt> +d=1022, 481.04718pt x 214.55156pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig3.p ng Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig3.pn @@ -2453,12 +2483,12 @@ g> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/fig3.png used on input line 106. (pdftex.def) Requested size: 357.73405pt x 159.55464pt. - [226 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig1. + [228 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/fig1. png (PNG copy)> </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/fig -ures/fig2.png (PNG copy)>] [227 </home/fossee/Desktop/floss-scilab-arduino/user --code/modbus/figures/fig3.png (PNG copy)>] [228] [229] +ures/fig2.png (PNG copy)>] [229 </home/fossee/Desktop/floss-scilab-arduino/user +-code/modbus/figures/fig3.png (PNG copy)>] [230] [231] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/Full-Set-Up -.png, id=1026, 722.7pt x 542.025pt> +.png, id=1037, 722.7pt x 542.025pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/Full-S et-Up.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/Full-Se @@ -2466,9 +2496,9 @@ t-Up.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/Full-Set-Up.png used on input line 300. (pdftex.def) Requested size: 258.36281pt x 193.77246pt. - [230] + [232] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/block-diagr -am.PNG, id=1030, 398.23781pt x 255.95625pt> +am.PNG, id=1041, 398.23781pt x 255.95625pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/block- diagram.PNG Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/block-d @@ -2477,7 +2507,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/block-diagram.PNG used on input line 329. (pdftex.def) Requested size: 258.36281pt x 166.06104pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/arduino_cod -e_flowchart.png, id=1031, 327.2225pt x 480.79625pt> +e_flowchart.png, id=1042, 327.2225pt x 480.79625pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/arduin o_code_flowchart.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/arduino @@ -2485,10 +2515,10 @@ _code_flowchart.png> Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/arduino_code_flowchart.png used on input line 348. (pdftex.def) Requested size: 258.36281pt x 379.61945pt. - [231 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/Full- + [233 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/Full- Set-Up.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/flowchart.p -ng, id=1036, 482.55281pt x 362.10281pt> +ng, id=1047, 482.55281pt x 362.10281pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/flowch art.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/flowcha @@ -2497,7 +2527,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/flowchart.png used on input line 376. (pdftex.def) Requested size: 357.73405pt x 268.44914pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/current-out -put.png, id=1037, 1028.34187pt x 578.16pt> +put.png, id=1048, 1028.34187pt x 578.16pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/curren t-output.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/current @@ -2506,7 +2536,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/current-output.png used on input line 393. (pdftex.def) Requested size: 397.48499pt x 223.4789pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/current-out -put-setup.jpg, id=1038, 2509.375pt x 1411.2725pt> +put-setup.jpg, id=1049, 2509.375pt x 1411.2725pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/curren t-output-setup.jpg Graphic file (type jpg) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/current @@ -2515,7 +2545,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/current-output-setup.jpg used on input line 400. (pdftex.def) Requested size: 258.36281pt x 145.29163pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltage-out -put.png, id=1039, 1028.34187pt x 578.16pt> +put.png, id=1050, 1028.34187pt x 578.16pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltag e-output.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltage @@ -2524,7 +2554,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/voltage-output.png used on input line 412. (pdftex.def) Requested size: 397.48499pt x 223.4789pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltage-out -put-setup.jpg, id=1040, 2509.375pt x 1411.2725pt> +put-setup.jpg, id=1051, 2509.375pt x 1411.2725pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltag e-output-setup.jpg Graphic file (type jpg) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/voltage @@ -2533,7 +2563,7 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/voltage-output-setup.jpg used on input line 419. (pdftex.def) Requested size: 258.36281pt x 145.29163pt. </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active-powe -r-output.png, id=1041, 1028.34187pt x 578.16pt> +r-output.png, id=1052, 1028.34187pt x 578.16pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active -power-output.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active- @@ -2542,10 +2572,10 @@ Package pdftex.def Info: /home/fossee/Desktop/floss-scilab-arduino/user-code/mo dbus/figures/active-power-output.png used on input line 429. (pdftex.def) Requested size: 397.48499pt x 223.4789pt. -[232 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/block- +[234 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/block- diagram.PNG>] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active-powe -r-output-setup.jpg, id=1046, 2509.375pt x 1411.2725pt> +r-output-setup.jpg, id=1057, 2509.375pt x 1411.2725pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active -power-output-setup.jpg Graphic file (type jpg) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/active- @@ -2556,10 +2586,10 @@ dbus/figures/active-power-output-setup.jpg used on input line 436. Underfull \vbox (badness 10000) has occurred while \output is active [] - [233 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/ardui + [235 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/ardui no_code_flowchart.png>] </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/read_value_ -xcos.png, id=1051, 635.37375pt x 455.7025pt> +xcos.png, id=1063, 635.37375pt x 455.7025pt> File: /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/read_v alue_xcos.png Graphic file (type png) <use /home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/read_va @@ -2578,46 +2608,46 @@ Overfull \hbox (16.70493pt too wide) in paragraph at lines 479--491 [][] [] -[234 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/flowch -art.png (PNG copy)>] [235 </home/fossee/Desktop/floss-scilab-arduino/user-code/ +[236 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/flowch +art.png (PNG copy)>] [237 </home/fossee/Desktop/floss-scilab-arduino/user-code/ modbus/figures/current-output.png (PNG copy)> </home/fossee/Desktop/floss-scila b-arduino/user-code/modbus/figures/current-output-setup.jpg>] Underfull \vbox (badness 10000) has occurred while \output is active [] - [236 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/volta + [238 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/volta ge-output.png (PNG copy)> </home/fossee/Desktop/floss-scilab-arduino/user-code/ modbus/figures/voltage-output-setup.jpg>] (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/arduino/send_packet -.ino [237 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/a +.ino [239 </home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/figures/a ctive-power-output.png (PNG copy)> </home/fossee/Desktop/floss-scilab-arduino/u -ser-code/modbus/figures/active-power-output-setup.jpg>] [238 </home/fossee/Desk +ser-code/modbus/figures/active-power-output-setup.jpg>] [240 </home/fossee/Desk top/floss-scilab-arduino/user-code/modbus/figures/read_value_xcos.png>]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read_val.sce ) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read_current .sci) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read_voltage -.sci [239]) +.sci [241]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/scilab/read_active_ power.sci) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read_current .py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read_voltage -.py [240]) +.py [242]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/python/read_active_ power.py) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readCurrent.j l) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readVoltage.j -l [241]) +l [243]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/julia/readPower.jl) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readCu rrent.mo) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readVo -ltage.mo [242]) +ltage.mo [244]) (/home/fossee/Desktop/floss-scilab-arduino/user-code/modbus/OpenModelica/readPo -wer.mo)) (./floss-arduino.bbl [243] [244 +wer.mo)) (./floss-arduino.bbl [245] [246 ] Underfull \hbox (badness 10000) in paragraph at lines 4--9 @@ -2648,7 +2678,7 @@ Overfull \hbox (15.39987pt too wide) in paragraph at lines 49--53 /Skittles_M%26M%27s [] -[245] +[247] Underfull \hbox (badness 1577) in paragraph at lines 95--98 []\T1/cmr/m/n/10.95 Juliaio/serialports.jl: Se-ri-al-port io streams in ju-lia backed by py-se-rial. @@ -2664,7 +2694,7 @@ l/SecretsOfArduinoPWM. \tf@thm=\write13 \openout13 = `floss-arduino.thm'. - [246] (./floss-arduino.aux) + [248] (./floss-arduino.aux) LaTeX Warning: There were undefined references. @@ -2673,10 +2703,10 @@ LaTeX Warning: There were multiply-defined labels. ) Here is how much of TeX's memory you used: - 9892 strings out of 481239 - 224607 string characters out of 5920377 - 733688 words of memory out of 5000000 - 24286 multiletter control sequences out of 15000+600000 + 9929 strings out of 481239 + 227291 string characters out of 5920377 + 754688 words of memory out of 5000000 + 24306 multiletter control sequences out of 15000+600000 554670 words of font info for 69 fonts, out of 8000000 for 9000 1143 hyphenation exceptions out of 8191 50i,11n,53p,363b,1777s stack positions out of 5000i,500n,10000p,200000b,80000s @@ -2703,10 +2733,10 @@ sr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf/fonts /type1/public/cm-super/sfrm1095.pfb></usr/share/texmf/fonts/type1/public/cm-sup er/sfsi1095.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfss1095.pfb></us r/share/texmf/fonts/type1/public/cm-super/sfti1095.pfb> -Output written on floss-arduino.pdf (270 pages, 44929885 bytes). +Output written on floss-arduino.pdf (272 pages, 49695199 bytes). PDF statistics: - 1189 PDF objects out of 1200 (max. 8388607) - 694 compressed objects within 7 object streams + 1201 PDF objects out of 1440 (max. 8388607) + 699 compressed objects within 7 object streams 0 named destinations out of 1000 (max. 500000) - 586 words of extra memory for PDF output out of 10000 (max. 10000000) + 601 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/floss-arduino.lot b/floss-arduino.lot index ebdeecf..13910c6 100644 --- a/floss-arduino.lot +++ b/floss-arduino.lot @@ -22,18 +22,18 @@ \contentsline {table}{\numberline {8.2}{\ignorespaces Xcos parameters to read thermistor and switch the buzzer\relax }}{161}% \addvspace {10\p@ } \contentsline {table}{\numberline {9.1}{\ignorespaces Connecting a typical servomotor to Arduino Uno\ board\relax }}{174}% -\contentsline {table}{\numberline {9.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{180}% -\contentsline {table}{\numberline {9.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{182}% -\contentsline {table}{\numberline {9.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{183}% -\contentsline {table}{\numberline {9.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{184}% -\addvspace {10\p@ } -\contentsline {table}{\numberline {10.1}{\ignorespaces Values in the Scilab\ command for different H-Bridge circuits\relax }}{204}% -\contentsline {table}{\numberline {10.2}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{208}% -\contentsline {table}{\numberline {10.3}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{209}% -\contentsline {table}{\numberline {10.4}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{211}% -\addvspace {10\p@ } -\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{228}% -\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{228}% -\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{229}% -\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{229}% -\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{238}% +\contentsline {table}{\numberline {9.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{184}% +\contentsline {table}{\numberline {9.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{185}% +\contentsline {table}{\numberline {9.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{186}% +\contentsline {table}{\numberline {9.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{187}% +\addvspace {10\p@ } +\contentsline {table}{\numberline {10.1}{\ignorespaces Values in the Scilab\ command for different H-Bridge circuits\relax }}{206}% +\contentsline {table}{\numberline {10.2}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{210}% +\contentsline {table}{\numberline {10.3}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{211}% +\contentsline {table}{\numberline {10.4}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{213}% +\addvspace {10\p@ } +\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{230}% +\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{230}% +\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{231}% +\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{231}% +\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{240}% diff --git a/floss-arduino.pdf b/floss-arduino.pdf Binary files differindex b07b3d7..deb2d41 100644 --- a/floss-arduino.pdf +++ b/floss-arduino.pdf diff --git a/floss-arduino.pyd b/floss-arduino.pyd index cf43a8c..1dae8ec 100644 --- a/floss-arduino.pyd +++ b/floss-arduino.pyd @@ -17,15 +17,15 @@ \contentsline {section}{\numberline {8.{1}}Read and display the thermistor values}{164}% \contentsline {section}{\numberline {8.{2}}Turning the buzzer on using thermistor values}{164}% \addvspace {10pt} -\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{185}% -\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{186}% -\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{187}% -\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{188}% -\addvspace {10pt} -\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{213}% -\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{214}% -\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{215}% -\addvspace {10pt} -\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{240}% -\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{240}% -\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{241}% +\contentsline {section}{\numberline {9.{1}}Rotating the servomotor to a specified degree}{188}% +\contentsline {section}{\numberline {9.{2}}Rotating the servomotor to a specified degree and reversing}{189}% +\contentsline {section}{\numberline {9.{3}}Rotating the servomotor in steps of $20^\circ $}{190}% +\contentsline {section}{\numberline {9.{4}}Rotating the servomotor to a degree specified by the potentiometer}{191}% +\addvspace {10pt} +\contentsline {section}{\numberline {10.{1}}Rotating the DC motor}{215}% +\contentsline {section}{\numberline {10.{2}}Rotating the DC motor in both directions}{216}% +\contentsline {section}{\numberline {10.{3}}Rotating the DC motor in both directions in a loop}{217}% +\addvspace {10pt} +\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{242}% +\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{242}% +\contentsline {section}{\numberline {11.{3}}Code for Single Phase Active Power Output}{243}% diff --git a/floss-arduino.thm b/floss-arduino.thm index d2da64d..f8d5ea3 100644 --- a/floss-arduino.thm +++ b/floss-arduino.thm @@ -70,56 +70,56 @@ \contentsline {juliamass}{{Julia Code}{8.{2}}{}}{167}% \contentsline {OpenModelicamass}{{OpenModelica Code}{8.{1}}{}}{169}% \contentsline {OpenModelicamass}{{OpenModelica Code}{8.{2}}{}}{170}% -\contentsline {egmass}{{Exercise}{9.{1}}{}}{175}% -\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{175}% -\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{176}% -\contentsline {ardmass}{{Arduino Code}{9.{3}}{}}{176}% -\contentsline {ardmass}{{Arduino Code}{9.{4}}{}}{176}% -\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{178}% -\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{178}% -\contentsline {codemass}{{Scilab Code}{9.{3}}{}}{179}% -\contentsline {codemass}{{Scilab Code}{9.{4}}{}}{179}% -\contentsline {pymass}{{Python Code}{9.{1}}{}}{185}% -\contentsline {pymass}{{Python Code}{9.{2}}{}}{186}% -\contentsline {pymass}{{Python Code}{9.{3}}{}}{187}% -\contentsline {pymass}{{Python Code}{9.{4}}{}}{188}% -\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{190}% -\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{190}% -\contentsline {juliamass}{{Julia Code}{9.{3}}{}}{190}% -\contentsline {juliamass}{{Julia Code}{9.{4}}{}}{191}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{192}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{193}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{3}}{}}{193}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{4}}{}}{194}% -\contentsline {egmass}{{Exercise}{10.{1}}{}}{201}% -\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{202}% -\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{202}% -\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{203}% -\contentsline {egmass}{{Exercise}{10.{2}}{}}{206}% -\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{206}% -\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{206}% -\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{207}% -\contentsline {egmass}{{Exercise}{10.{3}}{}}{210}% -\contentsline {pymass}{{Python Code}{10.{1}}{}}{213}% -\contentsline {pymass}{{Python Code}{10.{2}}{}}{214}% -\contentsline {pymass}{{Python Code}{10.{3}}{}}{215}% -\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{218}% -\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{219}% -\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{219}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{222}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{223}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{223}% -\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{237}% -\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{239}% -\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{239}% -\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{239}% -\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{240}% -\contentsline {pymass}{{Python Code}{11.{1}}{}}{240}% -\contentsline {pymass}{{Python Code}{11.{2}}{}}{240}% -\contentsline {pymass}{{Python Code}{11.{3}}{}}{241}% -\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{241}% -\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{241}% -\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{242}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{242}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{242}% -\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{243}% +\contentsline {egmass}{{Exercise}{9.{1}}{}}{178}% +\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{178}% +\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{178}% +\contentsline {ardmass}{{Arduino Code}{9.{3}}{}}{179}% +\contentsline {ardmass}{{Arduino Code}{9.{4}}{}}{179}% +\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{181}% +\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{182}% +\contentsline {codemass}{{Scilab Code}{9.{3}}{}}{182}% +\contentsline {codemass}{{Scilab Code}{9.{4}}{}}{182}% +\contentsline {pymass}{{Python Code}{9.{1}}{}}{188}% +\contentsline {pymass}{{Python Code}{9.{2}}{}}{189}% +\contentsline {pymass}{{Python Code}{9.{3}}{}}{190}% +\contentsline {pymass}{{Python Code}{9.{4}}{}}{191}% +\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{193}% +\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{193}% +\contentsline {juliamass}{{Julia Code}{9.{3}}{}}{194}% +\contentsline {juliamass}{{Julia Code}{9.{4}}{}}{194}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{195}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{196}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{3}}{}}{197}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{4}}{}}{197}% +\contentsline {egmass}{{Exercise}{10.{1}}{}}{203}% +\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{204}% +\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{204}% +\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{205}% +\contentsline {egmass}{{Exercise}{10.{2}}{}}{208}% +\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{208}% +\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{208}% +\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{209}% +\contentsline {egmass}{{Exercise}{10.{3}}{}}{212}% +\contentsline {pymass}{{Python Code}{10.{1}}{}}{215}% +\contentsline {pymass}{{Python Code}{10.{2}}{}}{216}% +\contentsline {pymass}{{Python Code}{10.{3}}{}}{217}% +\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{220}% +\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{221}% +\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{221}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{224}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{225}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{225}% +\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{239}% +\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{241}% +\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{241}% +\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{241}% +\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{242}% +\contentsline {pymass}{{Python Code}{11.{1}}{}}{242}% +\contentsline {pymass}{{Python Code}{11.{2}}{}}{242}% +\contentsline {pymass}{{Python Code}{11.{3}}{}}{243}% +\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{243}% +\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{243}% +\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{244}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{244}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{244}% +\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{245}% diff --git a/floss-arduino.toc b/floss-arduino.toc index 9209b15..6022d4a 100644 --- a/floss-arduino.toc +++ b/floss-arduino.toc @@ -161,60 +161,61 @@ \contentsline {subsection}{\numberline {8.8.2}OpenModelica Code}{169}% \contentsline {chapter}{\numberline {9}Interfacing a Servomotor}{173}% \contentsline {section}{\numberline {9.1}Preliminaries}{173}% -\contentsline {section}{\numberline {9.2}Controlling the Servometer through the Arduino IDE}{174}% -\contentsline {subsection}{\numberline {9.2.1}Controlling the Servometer}{174}% -\contentsline {subsection}{\numberline {9.2.2}Arduino Code}{175}% -\contentsline {section}{\numberline {9.3}Controlling the Servomotor through Scilab}{177}% -\contentsline {subsection}{\numberline {9.3.1}Controlling the Servomotor}{177}% -\contentsline {subsection}{\numberline {9.3.2}Scilab Code}{178}% -\contentsline {section}{\numberline {9.4}Controling the Servomotor through Xcos}{179}% -\contentsline {section}{\numberline {9.5}Controlling the Servomotor through Python}{184}% -\contentsline {subsection}{\numberline {9.5.1}Controlling the Servomotor}{184}% -\contentsline {subsection}{\numberline {9.5.2}Python Code}{185}% -\contentsline {section}{\numberline {9.6}Controlling the Servomotor through Julia}{189}% -\contentsline {subsection}{\numberline {9.6.1}Controlling the Servomotor}{189}% -\contentsline {subsection}{\numberline {9.6.2}Julia Code}{190}% -\contentsline {section}{\numberline {9.7}Controlling the Servomotor through OpenModelica}{191}% -\contentsline {subsection}{\numberline {9.7.1}Controlling the Servomotor}{191}% -\contentsline {subsection}{\numberline {9.7.2}OpenModelica Code}{192}% -\contentsline {chapter}{\numberline {10}Controlling a DC motor}{197}% -\contentsline {section}{\numberline {10.1}Preliminaries}{197}% -\contentsline {section}{\numberline {10.2}Controlling the DC motor from Arduino}{200}% -\contentsline {subsection}{\numberline {10.2.1}Controlling the DC motor}{200}% -\contentsline {paragraph}{Note:}{200}% -\contentsline {subsection}{\numberline {10.2.2}Arduino Code}{202}% -\contentsline {section}{\numberline {10.3}Controlling the DC motor from Scilab}{203}% -\contentsline {subsection}{\numberline {10.3.1}Controlling the DC motor}{203}% -\contentsline {paragraph}{Note:}{203}% +\contentsline {section}{\numberline {9.2}Connecting a servomotor with Arduino Uno\ using a breadboard}{174}% +\contentsline {section}{\numberline {9.3}Controlling the Servomotor through the Arduino IDE}{175}% +\contentsline {subsection}{\numberline {9.3.1}Controlling the Servomotor}{175}% +\contentsline {subsection}{\numberline {9.3.2}Arduino Code}{178}% +\contentsline {section}{\numberline {9.4}Controlling the Servomotor through Scilab}{180}% +\contentsline {subsection}{\numberline {9.4.1}Controlling the Servomotor}{180}% +\contentsline {subsection}{\numberline {9.4.2}Scilab Code}{181}% +\contentsline {section}{\numberline {9.5}Controling the Servomotor through Xcos}{183}% +\contentsline {section}{\numberline {9.6}Controlling the Servomotor through Python}{186}% +\contentsline {subsection}{\numberline {9.6.1}Controlling the Servomotor}{186}% +\contentsline {subsection}{\numberline {9.6.2}Python Code}{188}% +\contentsline {section}{\numberline {9.7}Controlling the Servomotor through Julia}{192}% +\contentsline {subsection}{\numberline {9.7.1}Controlling the Servomotor}{192}% +\contentsline {subsection}{\numberline {9.7.2}Julia Code}{193}% +\contentsline {section}{\numberline {9.8}Controlling the Servomotor through OpenModelica}{194}% +\contentsline {subsection}{\numberline {9.8.1}Controlling the Servomotor}{194}% +\contentsline {subsection}{\numberline {9.8.2}OpenModelica Code}{195}% +\contentsline {chapter}{\numberline {10}Controlling a DC motor}{199}% +\contentsline {section}{\numberline {10.1}Preliminaries}{199}% +\contentsline {section}{\numberline {10.2}Controlling the DC motor from Arduino}{202}% +\contentsline {subsection}{\numberline {10.2.1}Controlling the DC motor}{202}% +\contentsline {paragraph}{Note:}{202}% +\contentsline {subsection}{\numberline {10.2.2}Arduino Code}{204}% +\contentsline {section}{\numberline {10.3}Controlling the DC motor from Scilab}{205}% +\contentsline {subsection}{\numberline {10.3.1}Controlling the DC motor}{205}% \contentsline {paragraph}{Note:}{205}% -\contentsline {subsection}{\numberline {10.3.2}Scilab Code}{206}% -\contentsline {section}{\numberline {10.4}Controlling the DC Motor from Xcos}{207}% -\contentsline {section}{\numberline {10.5}Controlling the DC Motor from Python}{210}% -\contentsline {subsection}{\numberline {10.5.1}Controlling the DC Motor}{210}% -\contentsline {paragraph}{Note:}{211}% -\contentsline {paragraph}{Note:}{212}% -\contentsline {subsection}{\numberline {10.5.2}Python Code}{213}% -\contentsline {section}{\numberline {10.6}Controlling the DC Motor from Julia}{216}% -\contentsline {subsection}{\numberline {10.6.1}Controlling the DC Motor}{216}% -\contentsline {paragraph}{Note:}{216}% +\contentsline {paragraph}{Note:}{207}% +\contentsline {subsection}{\numberline {10.3.2}Scilab Code}{208}% +\contentsline {section}{\numberline {10.4}Controlling the DC Motor from Xcos}{209}% +\contentsline {section}{\numberline {10.5}Controlling the DC Motor from Python}{212}% +\contentsline {subsection}{\numberline {10.5.1}Controlling the DC Motor}{212}% +\contentsline {paragraph}{Note:}{213}% +\contentsline {paragraph}{Note:}{214}% +\contentsline {subsection}{\numberline {10.5.2}Python Code}{215}% +\contentsline {section}{\numberline {10.6}Controlling the DC Motor from Julia}{218}% +\contentsline {subsection}{\numberline {10.6.1}Controlling the DC Motor}{218}% \contentsline {paragraph}{Note:}{218}% -\contentsline {subsection}{\numberline {10.6.2}Julia Code}{218}% -\contentsline {section}{\numberline {10.7}Controlling the DC Motor from OpenModelica}{220}% -\contentsline {subsection}{\numberline {10.7.1}Controlling the DC Motor}{220}% \contentsline {paragraph}{Note:}{220}% -\contentsline {paragraph}{Note:}{221}% -\contentsline {subsection}{\numberline {10.7.2}OpenModelica Code}{222}% -\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{225}% -\contentsline {section}{\numberline {11.1}Preliminaries}{225}% -\contentsline {section}{\numberline {11.2}Objective}{230}% -\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{230}% -\contentsline {section}{\numberline {11.4}Software}{231}% -\contentsline {section}{\numberline {11.5}Output}{232}% -\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{234}% -\contentsline {section}{\numberline {11.7}Code}{237}% -\contentsline {subsection}{\numberline {11.7.1}Arduino Code}{237}% -\contentsline {subsection}{\numberline {11.7.2}Scilab Code}{239}% -\contentsline {subsection}{\numberline {11.7.3}Python Code}{240}% -\contentsline {subsection}{\numberline {11.7.4}Julia Code}{241}% -\contentsline {subsection}{\numberline {11.7.5}OpenModelica Code}{242}% -\contentsline {chapter}{\numberline {References}}{245}% +\contentsline {subsection}{\numberline {10.6.2}Julia Code}{220}% +\contentsline {section}{\numberline {10.7}Controlling the DC Motor from OpenModelica}{222}% +\contentsline {subsection}{\numberline {10.7.1}Controlling the DC Motor}{222}% +\contentsline {paragraph}{Note:}{222}% +\contentsline {paragraph}{Note:}{223}% +\contentsline {subsection}{\numberline {10.7.2}OpenModelica Code}{224}% +\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{227}% +\contentsline {section}{\numberline {11.1}Preliminaries}{227}% +\contentsline {section}{\numberline {11.2}Objective}{232}% +\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{232}% +\contentsline {section}{\numberline {11.4}Software}{233}% +\contentsline {section}{\numberline {11.5}Output}{234}% +\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{236}% +\contentsline {section}{\numberline {11.7}Code}{239}% +\contentsline {subsection}{\numberline {11.7.1}Arduino Code}{239}% +\contentsline {subsection}{\numberline {11.7.2}Scilab Code}{241}% +\contentsline {subsection}{\numberline {11.7.3}Python Code}{242}% +\contentsline {subsection}{\numberline {11.7.4}Julia Code}{243}% +\contentsline {subsection}{\numberline {11.7.5}OpenModelica Code}{244}% +\contentsline {chapter}{\numberline {References}}{247}% diff --git a/indent.log b/indent.log new file mode 100644 index 0000000..6c87870 --- /dev/null +++ b/indent.log @@ -0,0 +1,25 @@ +INFO: latexindent version 3.7.1, 2019-09-07, a script to indent .tex files + latexindent lives here: /usr/share/texlive/texmf-dist/scripts/latexindent/ + Thu May 6 17:06:44 2021 + Filename: /home/fossee/Desktop/floss-scilab-arduino/user-code/servo/__latexindent_temp.tex +INFO: Processing switches: + -y|--yaml: YAML settings specified via command line + -c|--cruft: cruft directory +INFO: Directory for backup files and /home/fossee/Desktop/floss-scilab-arduino/indent.log: /home/fossee/Desktop/floss-scilab-arduino/ +INFO: YAML settings read: defaultSettings.yaml + Reading defaultSettings.yaml from /usr/share/texlive/texmf-dist/scripts/latexindent/defaultSettings.yaml +INFO: YAML settings read: indentconfig.yaml or .indentconfig.yaml + Home directory is /home/fossee (didn't find either indentconfig.yaml or .indentconfig.yaml) + To specify user settings you would put indentconfig.yaml here: /home/fossee/indentconfig.yaml + Alternatively, you can use the hidden file .indentconfig.yaml as: /home/fossee/.indentconfig.yaml +INFO: YAML settings read: -y switch + Updating masterSettings with defaultIndent: +INFO: Phase 1: searching for objects +INFO: Phase 2: finding surrounding indentation +INFO: Phase 3: indenting objects +INFO: Phase 4: final indentation check +INFO: Output routine: + Not outputting to file; see -w and -o switches for more options. + -------------- +INFO: Please direct all communication/issues to: + https://github.com/cmhughes/latexindent.pl diff --git a/user-code/servo/arduino/servo-loop/servo-loop.ino b/user-code/servo/arduino/servo-loop/servo-loop.ino index 4eba5d6..158e625 100644 --- a/user-code/servo/arduino/servo-loop/servo-loop.ino +++ b/user-code/servo/arduino/servo-loop/servo-loop.ino @@ -5,7 +5,7 @@ int i = 0; void setup() { for(i = 1; i < 10; i++) { Serial.begin(115200); - myservo.attach(5); // attach the servo object on to pin 9 + myservo.attach(5); // attach the servo object on to pin 5 myservo.write(angle*i); // tell servo to rotate by 20 degrees delay(1000); // waits for a sec } diff --git a/user-code/servo/figures/servo-bb.png b/user-code/servo/figures/servo-bb.png Binary files differnew file mode 100644 index 0000000..ad8d165 --- /dev/null +++ b/user-code/servo/figures/servo-bb.png diff --git a/user-code/servo/figures/servo-pot-bb.png b/user-code/servo/figures/servo-pot-bb.png Binary files differnew file mode 100644 index 0000000..5c70888 --- /dev/null +++ b/user-code/servo/figures/servo-pot-bb.png diff --git a/user-code/servo/figures/servo-uno-shield.jpg b/user-code/servo/figures/servo-uno-shield.jpg Binary files differnew file mode 100644 index 0000000..7ab3990 --- /dev/null +++ b/user-code/servo/figures/servo-uno-shield.jpg diff --git a/user-code/servo/servo.tex b/user-code/servo/servo.tex index 6a8d1a1..fc40d3c 100644 --- a/user-code/servo/servo.tex +++ b/user-code/servo/servo.tex @@ -4,33 +4,33 @@ \newcommand{\LocSERfig}{\Origin/user-code/servo/figures}
\newcommand{\LocSERscicode}{\Origin/user-code/servo/scilab}
\newcommand{\LocSERscibrief}[1]{{\tt \seqsplit{%
- Origin/user-code/servo/scilab/#1}},
-see \fnrefp{fn:file-loc}}
+ Origin/user-code/servo/scilab/#1}},
+ see \fnrefp{fn:file-loc}}
\newcommand{\LocSERardcode}{\Origin/user-code/servo/arduino}
\newcommand{\LocSERardbrief}[1]{{\tt \seqsplit{%
- Origin/user-code/servo/arduino/#1}},
-see \fnrefp{fn:file-loc}}
+ Origin/user-code/servo/arduino/#1}},
+ see \fnrefp{fn:file-loc}}
%%%%%%%%%%%%%%%python starts
\newcommand{\LocSERpycode}{\Origin/user-code/servo/python}
\newcommand{\LocSERpybrief}[1]{{\tt \seqsplit{%
- Origin/user-code/servo/python/#1}},
-see \fnrefp{fn:file-loc}}
+ Origin/user-code/servo/python/#1}},
+ see \fnrefp{fn:file-loc}}
%%%%%%%%%%%%%%%python ends
%%%%%%%%%%%%%%%julia starts
\newcommand{\LocSERjuliacode}{\Origin/user-code/servo/julia}
\newcommand{\LocSERjuliabrief}[1]{{\tt \seqsplit{%
- Origin/user-code/servo/julia/#1}},
-see \fnrefp{fn:file-loc}}
+ Origin/user-code/servo/julia/#1}},
+ see \fnrefp{fn:file-loc}}
%%%%%%%%%%%%%%%julia ends
%%%%%%%%%%%%%%% OpenModelica starts
\newcommand{\LocSEROpenModelicacode}{\Origin/user-code/servo/OpenModelica}
\newcommand{\LocSEROpenModelicabrief}[1]{{\tt \seqsplit{%
- Origin/user-code/servo/OpenModelica/#1}},
-see \fnrefp{fn:file-loc}}
+ Origin/user-code/servo/OpenModelica/#1}},
+ see \fnrefp{fn:file-loc}}
%%%%%%%%%%%%%%% OpenModelica ends
A servomotor is a very useful industrial control mechanism. Learning
@@ -38,10 +38,12 @@ to control it will be extremely useful for practitioners. In this chapter, we will explain how to control a servomotor using the
\arduino\ board. We will begin with preliminaries of servomotors and
explain how to connect a typical servomotor to the \arduino\ board and
-shield. We will then explain how to control it through Arduino IDE,
-Scilab and Xcos. We will give code for all the experiments.
+shield. We will then explain how to control it through the Arduino IDE,
+Scilab scripts, Scilab Xcos, Python, Julia, and OpenModelica.
+We will provide code for all the experiments.
\section{Preliminaries}
+\label{sec:servo-pril}
A servomotor is a rotary control mechanism. It can be commanded to
rotate to a specified angle. It can rotate in positive or negative
direction. Using servomotors, one can control
@@ -60,97 +62,175 @@ from one model to another. Low cost servomotors have a large least count, say, of the order of $10^\circ$.
A servomotor typically comes with three terminals for the
-following three signals: position signal (PWM), Vcc and ground.
-We now explain how to connect a typical servomotor to the \arduino\
-board, through \tabref{tab:servo-connect}.
+following three signals: position signal, Vcc and ground.
+Position signal means that this terminal should be connected to
+one of the PWM (Pulse Width Modulation) pins \cite{arduino-pwm} on \arduino.
+This book uses PWM pin 5 for this purpose.
+Rest two terminals (Vcc and ground) need to be connected to 5V and GND on \arduino.
+\tabref{tab:servo-connect} summarizes these connections.
+
+We now explain how to connect a typical servomotor to the shield attached
+on the \arduino\ board. On the shield, there is a three-pin header at one of the
+ends. The pins of this header have been marked as $1$, $2$, and $3$. These pins:
+$1$, $2$, and $3$ are internally connected to 5V, PWM pin 5, and GND on \arduino\, respectively.
+As discussed before, a typical servomotor has three terminals. Thus, the readers need to
+connect these three terminals with the three-pin header, as shown in \figref{fig:ard-ldr}
+before running the experiments given in this chapter.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSERfig/servo-uno-shield.jpg}
+ \caption{Connecting servomotor to the shield attached on \arduino}
+ \label{fig:servo-shield}
+\end{figure}
+
+
\begin{table}
-\centering
-\caption{Connecting a typical servomotor to \arduino\ board}
-\label{tab:servo-connect}
-\begin{tabular}{lc}\hline
-Servomotor terminal & Arduino board \\ \hline
-Position signal & 9 \\
-Ground (black/brown wire) & Ground \\
-Vcc (red or orange middle-wire) & 5V \\
-Signal (orange or yellow) & Pin 9 \\ \hline
-\end{tabular}
+ \centering
+ \caption{Connecting a typical servomotor to \arduino\ board}
+ \label{tab:servo-connect}
+ \begin{tabular}{lc}\hline
+ Servomotor terminal & Arduino board \\ \hline
+ Position signal (orange or yellow) & 5 \\
+ Vcc (red or orange) & 5V \\
+ Ground (black or brown) & GND \\
+ \hline
+ \end{tabular}
\end{table}
-\section{Controlling the Servometer through the Arduino IDE}
-\subsection{Controlling the Servometer}
+
+\section{Connecting a servomotor with \arduino\ using a breadboard}
+This section is useful for those who either don't have a shield or don't want to use the shield
+for performing the experiments given in this chapter.Â
+
+A breadboard is a device for holding the components of a circuit and connecting
+them together. We can build an electronic circuit on a breadboard without doing any
+soldering. To know more about the breadboard and other electronic components,
+one should watch the Spoken Tutorials on Arduino as published on
+ {\tt https://spoken-tutorial.org/}. Ideally, one should go through all the
+tutorials labeled as Basic. However, we strongly recommend the readers should
+watch the fifth and sixth tutorials, i.e., {\tt First Arduino Program} and
+ {\tt Arduino with Tricolor LED and Push button}.
+
+In case you have a servomotor and want to connect it with \arduino\ on a breadboard,
+please refer to \figref{fig:servo-bread}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSERfig/servo-bb.png}
+ \caption{Interfacing a servomotor with \arduino\ using a breadboard}
+ \label{fig:servo-bread}
+\end{figure}
+As shown in \figref{fig:servo-bread}, there is a servomotor with three
+terminals. These terminals are used for the same three signals, as that explained
+in \secref{sec:servo-pril}. The connections shown in \figref{fig:servo-pot-bread} can
+be used to control the position of the servomotor, depending on the
+values coming from a potentiometer. As shown in \figref{fig:servo-pot-bread},
+analog pin 2 on \arduino\ is connected to the middle leg of the
+potentiometer. Rest of the connections are same as that in \figref{fig:servo-bread}.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSERfig/servo-pot-bb.png}
+ \caption{Interfacing a servomotor and potentiometer with \arduino\ using a breadboard}
+ \label{fig:servo-pot-bread}
+\end{figure}
+
+\section{Controlling the Servomotor through the Arduino IDE}
+\subsection{Controlling the Servomotor}
\label{sec:servo-ard}
In this section, we will describe some experiments that will help
rotate the servomotor based on the command given from Arduino IDE. We
will also give the necessary code. We will present four experiments
in this section. The shield has to be attached to the \arduino\ board
-before doing these experiments. The reader should go through the
+before doing these experiments and the \arduino\ needs to be connected to the computer
+with a USB cable, as shown in \figref{arduino}. The reader should go through the
instructions given in \secref{sec:ard-start} before getting started.
-\begin{enumerate}
-%\setcounter{enumi}{-1}
-\item In the first experiment, we will move the servomotor by
- $30^\circ$ using \ardref{ard:servo-init}. Line 1 of this code
- includes a header file that initializes some of the parameters.
- Line 2 creates a {\tt Servo} object and calls it {\tt myservo}.
- Most Arduino boards allow the creation of 12 servo objects. Line 4
- commands myservo to be attached to pin 9. Line 5 asks the
- servomotor to rotate by $90^\circ$. Other commands are as in the
- previous chapters.
-
- Once this code is executed, the servomotor would move by
- $30^\circ$, as commanded. What happens if this code is executed
- once again? The motor will not move at all. What is the reason?
- Recall that what we assign to the motor are absolute positions, with
- respect to a fixed origin. As a result, there will be no change at
- all.
-
-\item In the second experiment, we move the motor by $90^\circ$ in the
- forward direction and $45^\circ$ in the reverse direction. This
- code is given in \ardref{ard:servo-reverse}. In Line 6, we provide
- a delay of one second. What is the reason? If the delay were not
- there, the motor will move only by the net angle of $90-45 = 45$
- degrees. The reader should verify this by commenting on the delay
- command.
-
-\item In the third experiment, we move the motor in increments of
- $20^\circ$. This is achieved by the for loop, as in
- \ardref{ard:servo-loop}. Both {\tt i}, the loop variable and {\tt
- angle}, the variable to store angle, are declared as {\tt int} in
- this code. The code helps the motor move in steps of $20^\circ$ all
- the way to $180^\circ$. Please see below a few exercise questions.
-
-\item Finally, in the last experiment, we read the potentiometer value
- from the shield and use it to drive the servomotor, see
- \ardref{ard:servo-pot}. The resistance of the potentiometer is
- represented in 10 bits. As a result, the resistance value could be
- any one of 1,024 values, from 0 to 1,023. This entire range is
- mapped to $180^\circ$. By rotating the potentiometer, one can make
- the motor move by different amounts.
-
- The potentiometer is connected to pin number 2. Through this pin,
- the resistance of the potentiometer, in the range of 0 to 1,023,
- depending on its position, is read. Thus, by rotating the
- potentiometer, we make different values appear on pin 2. This value
- is used to move the servo. For example, if the resistance is half
- of the total, the servomotor will go to $90^\circ$ and so on. The
- servomotor stops for half a second after every move. The loop is
- executed 5,000 times, with half a second delay for each iteration.
- During this period, the servomotor keeps moving as dictated by the
- resistance of the potentiometer.
+\begin{enumerate}
+ %\setcounter{enumi}{-1}
+ \item In the first experiment, we will move the servomotor by
+ $30^\circ$. \ardref{ard:servo-init} has the required code for this.
+ This code makes use of a library named {\tt Servo} \cite{servo-lib}.
+ Thus, we include its header file at the top of \ardref{ard:servo-init}:
+ \lstinputlisting[firstline=1,lastline=1]
+ {\LocSERardcode/servo-init/servo-init.ino}
+ Next, we create a {\tt Servo} object and call it {\tt myservo}, as shown below:
+ \lstinputlisting[firstline=2,lastline=2]
+ {\LocSERardcode/servo-init/servo-init.ino}
+ Most Arduino boards allow the creation of 12 servo objects. Next, we initialize the port for serial communication at
+ data rate of 115200 bits per second. Following to this, we mention the
+ pin to which the servo is attached, as shown below:
+ \lstinputlisting[firstline=5,lastline=5]
+ {\LocSERardcode/servo-init/servo-init.ino}
+ With this, we issue the command to rotate the servomotor by $30^\circ$ followed by a delay of
+ 1000 milliseconds:
+ \lstinputlisting[firstline=6,lastline=7]
+ {\LocSERardcode/servo-init/servo-init.ino}
+ At last, we detach the servomotor.
+
+ Once this code is executed, the servomotor would move by
+ $30^\circ$, as commanded. What happens if this code is executed
+ once again? The motor will not move at all. What is the reason?
+ Recall that what we assign to the motor are absolute positions, with
+ respect to a fixed origin. As a result, there will be no change at
+ all.
+
+ \item In the second experiment, we move the motor by $90^\circ$ in the
+ forward direction and $45^\circ$ in the reverse direction. This
+ code is given in \ardref{ard:servo-reverse}. In this code,
+ we have added a delay of 1000 milliseconds between the two instances of
+ rotating the servomotor:
+ \lstinputlisting[firstline=6,lastline=8]
+ {\LocSERardcode/servo-reverse/servo-reverse.ino}
+ What is the reason behind this delay? If the delay were not
+ there, the motor will move only by the net angle of $90-45 = 45$
+ degrees. The reader should verify this by commenting on the delay
+ command.
+
+ \item In the third experiment, we move the motor in increments of
+ $20^\circ$. This is achieved by the {\tt for} loop, as in
+ \ardref{ard:servo-loop}. Both {\tt i}, the loop variable and {\tt
+ angle}, the variable to store angle, are declared as {\tt int} in
+ this code. The code helps the motor move in steps of $20^\circ$ all
+ the way to $180^\circ$.
+
+ \item Finally, in the last experiment, we read the potentiometer value
+ from the shield and use it to drive the servomotor, see
+ \ardref{ard:servo-pot}. The resistance of the potentiometer is
+ represented in 10 bits. As a result, the resistance value could be
+ any one of 1,024 values, from 0 to 1,023. This entire range is
+ mapped to $180^\circ$, as shown below:
+ \lstinputlisting[firstline=11,lastline=11]
+ {\LocSERardcode/servo-pot/servo-pot.ino}
+ By rotating the potentiometer, one can make
+ the motor move by different amounts.
+
+ As mentioned in \chapref{potmeter}, the potentiometer on the shield is connected
+ to analog pin 2 on \arduino. Through this pin, the resistance of the potentiometer, in the range of 0 to 1,023,
+ depending on its position, is read. Thus, by rotating the
+ potentiometer, we make different values appear on pin 2. This value
+ is used to move the servo. For example, if the resistance is half
+ of the total, the servomotor will go to $90^\circ$ and so on. The
+ servomotor stops for 500 milliseconds after every move. The loop is
+ executed for 50 iterations. During this period, the servomotor keeps moving as dictated by the
+ resistance of the potentiometer. While running this experiment, the readers
+ must rotate the knob of the potentiometer and observe
+ the change in the position (or angle) of the servomotor.
+
\end{enumerate}
\begin{exercise}
-Let us carry out this exercise:
-\begin{enumerate}
-\item In \ardref{ard:servo-loop}, the loop parameter {\tt i} starts
- from 1. From what angle will the motor start? If one wants the
- motor to start from $0^\circ$, what should one do?
-\item How does one find the least count of the servomotor? If the
- variable {\tt angle} is chosen to be less than this least count in
- \ardref{ard:servo-loop}, what happens?
-\item What happens if 180 in Line 10 of \ardref{ard:servo-pot} is
- changed to 90? What does the change 180 to 90 mean?
-\end{enumerate}
+ Let us carry out this exercise:
+ \begin{enumerate}
+ \item In \ardref{ard:servo-loop}, the loop parameter {\tt i} starts
+ from 1. From what angle will the motor start? If one wants the
+ motor to start from $0^\circ$, what should one do?
+ \item How does one find the least count of the servomotor? If the
+ variable {\tt angle} is chosen to be less than this least count in
+ \ardref{ard:servo-loop}, what happens?
+ \item What happens if 180 in Line 10 of \ardref{ard:servo-pot} is
+ changed to 90? What does the change 180 to 90 mean?
+ \end{enumerate}
\end{exercise}
\subsection{Arduino Code}
@@ -168,7 +248,7 @@ Let us carry out this exercise: \begin{ardcode}
\acaption{Rotating the servomotor to a specified degree and
- reversing} {Rotating
+ reversing} {Rotating
the servomotor to a specified degree and reversing. Available at
\LocSERardbrief{servo-reverse/servo-reverse.ino}.}
\label{ard:servo-reverse}
@@ -194,52 +274,116 @@ Let us carry out this exercise: \section{Controlling the Servomotor through Scilab}
\subsection{Controlling the Servomotor}
\label{sec:servo-sci}
-In this section, we will carry out the servomotor control experiments
-using \scilab. We will follow the same order as in
-\secref{sec:servo-ard}. We assume that the shield is attached to the
-\arduino\ board while doing these experiments. They will work without
-the shield also, but in this case, our comments on colour LEDs
-lighting will not be applicable. The reader should go through the
-instructions given in \secref{sec:sci-start} before getting started.
+In this section, we discuss how to carry out the experiments of the
+previous section from Scilab. We will list the same four experiments,
+in the same order. The shield has to be attached to the \arduino\ board
+before doing these experiments and the \arduino\ needs to be connected to the computer
+with a USB cable, as shown in \figref{arduino}.
+The reader should go through the instructions given in
+\secref{sec:sci-start} before getting started.
+
+% In this section, we will carry out the servomotor control experiments
+% using \scilab. We will follow the same order as in
+% \secref{sec:servo-ard}. We assume that the shield is attached to the
+% \arduino\ board while doing these experiments. They will work without
+% the shield also, but in this case, our comments on colour LEDs
+% lighting will not be applicable. The reader should go through the
+% instructions given in \secref{sec:sci-start} before getting started.
\begin{enumerate}
-\item The first experiment makes the servomotor move by $30^\circ$,
- the code for which is given in \ardref{sci:servo-init}.
- It first opens com port 2 in \arduino\ card number 1 with baud rate
- of 115200. If the port opening is unsuccessful {\tt ok} will not be
- 0 and the program terminates, asking the user to correct the
- problem. Else If the port opening is successful, {\tt ok} will be 0
- and the program proceeds. In Line number 3 of the code, \ie\
- \lstinputlisting[firstline=3,lastline=3]{\LocSERscicode/servo-init.sce}
- we say that the servomotor is attached on board 1 (the first entry)
- to pin 1 (the second entry). In the \scilab\ toolbox, pin 1 and pin
- 9 are connected and as a result, we connect the wire physically to
- pin 9. Similarly, pins 2 and 10 are connected through the
- \scilab\ toolbox.
-
-\item In \sciref{sci:servo-reverse}, we make the servomotor rotate
- to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
- earlier, the angles are absolute with respect to a fixed reference
- point and not relative.
-
-\item In the next experiment, we rotate the servomotor in discrete
- steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
- an integer {\tt i}, which varies from 0 to 10. Once the maximum
- angle reaches $180^\circ$, it stops.
-
-\item Finally, in the last experiment, we position the servomotor
- through the potentiometer in the code \sciref{sci:servo-pot}. As we
- rotate the potentiometer, the servomotor's angle also changes. The
- potentiometer value is read through pin 2, in line number 5, as
- below:
- \lstinputlisting[firstline=5,lastline=5]{\LocSERscicode/servo-pot.sce}
- This value is mapped into a value between 0 and $180^\circ$ by
- multiplying with $180/1023$ in line 6:
- \lstinputlisting[firstline=6,lastline=6]{\LocSERscicode/servo-pot.sce}
- The {\tt floor} function gets the integer part of the number by
- truncation. This is the angle by which the potentiometer is to be
- moved. Truncation is a not a crucial calculation, however. In
- every iteration, the servomotor's position is calculated, and placed
- for half a second. This loop is iterated upon 5,000 times.
+ \item The first experiment makes the servomotor move by $30^\circ$. The code for this experiment is
+ given in \ardref{sci:servo-init}. As explained earlier in \secref{sec:light-sci},
+ we begin with serial port initialization.
+ % It first opens com port 2 in \arduino\ card number 1 with baud rate
+ % of 115200. If the port opening is unsuccessful {\tt ok} will not be
+ % 0 and the program terminates, asking the user to correct the
+ % problem. Else If the port opening is successful, {\tt ok} will be 0
+ % and the program proceeds.
+ Next, we attach the servomotor by issuing the command given below:
+ \lstinputlisting[firstline=3,lastline=3]{\LocSERscicode/servo-init.sce}
+ As shown above, the servomotor is attached on board 1 (the first entry)
+ to pin 1 (the second entry). In the Scilab-Arduino toolbox, pin 1 and pin
+ 5 are connected. As a result, we connect the wire physically to
+ pin 5, which is achieved by the shield as discussed in \secref{sec:servo-pril}.
+
+ With this, we issue the command to move the servomotor by $30^\circ$ followed by a delay of
+ 1000 milliseconds:
+ \lstinputlisting[firstline=4,lastline=5]
+ {\LocSERscicode/servo-init.sce}
+ At last, we detach the servomotor followed by closing the serial port.
+
+ Once this code is executed, the servomotor would move by
+ $30^\circ$, as commanded. What happens if this code is executed
+ once again? The motor will not move at all. What is the reason?
+ Recall that what we assign to the motor are absolute positions, with
+ respect to a fixed origin. As a result, there will be no change at
+ all.
+
+ \item In the second experiment, we move the servomotor by $90^\circ$ in the
+ forward direction and $45^\circ$ in the reverse direction. This
+ code is given in \sciref{sci:servo-reverse}. In this code,
+ we have added a delay of 1000 milliseconds between the two instances of
+ moving the servomotor:
+ \lstinputlisting[firstline=4,lastline=6]
+ {\LocSERscicode/servo-reverse.sce}
+ What is the reason behind this delay? If the delay were not
+ there, the motor will move only by the net angle of $90-45 = 45$
+ degrees. The reader should verify this by commenting on the delay
+ command.
+
+ % In \sciref{sci:servo-reverse}, we make the servomotor rotate
+ % to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ % earlier, the angles are absolute with respect to a fixed reference
+ % point and not relative.
+
+
+ \item In the third experiment, we move the motor in increments of
+ $20^\circ$. This is achieved by the {\tt for} loop, as in
+ \sciref{sci:servo-loop}. The code helps the motor move in steps of $20^\circ$ all
+ the way to $180^\circ$.
+
+ \item Finally, in the last experiment, we read the potentiometer value
+ from the shield and use it to drive the servomotor, see
+ \sciref{sci:servo-pot}. The resistance of the potentiometer is
+ represented in 10 bits. As a result, the resistance value could be
+ any one of 1,024 values, from 0 to 1,023. This entire range is
+ mapped to $180^\circ$, as shown below:
+ \lstinputlisting[firstline=6,lastline=6]
+ {\LocSERscicode/servo-pot.sce}
+ By rotating the potentiometer, one can make
+ the motor move by different amounts.
+
+ As mentioned in \chapref{potmeter}, the potentiometer on the shield is connected
+ to analog pin 2 on \arduino. Through this pin, the resistance of the potentiometer, in the range of 0 to 1,023,
+ depending on its position, is read. Thus, by rotating the
+ potentiometer, we make different values appear on pin 2. This value
+ is used to move the servo. For example, if the resistance is half
+ of the total, the servomotor will go to $90^\circ$ and so on. The
+ servomotor stops for 500 milliseconds after every move. The loop is
+ executed for 50 iterations. During this period, the servomotor keeps moving as dictated by the
+ resistance of the potentiometer. While running this experiment, the readers
+ must rotate the knob of the potentiometer and observe
+ the change in the position (or angle) of the servomotor.
+
+
+ % \item In the next experiment, we rotate the servomotor in discrete
+ % steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ % an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ % angle reaches $180^\circ$, it stops.
+
+ % \item Finally, in the last experiment, we position the servomotor
+ % through the potentiometer in the code \sciref{sci:servo-pot}. As we
+ % rotate the potentiometer, the servomotor's angle also changes. The
+ % potentiometer value is read through pin 2, in line number 5, as
+ % below:
+ % \lstinputlisting[firstline=5,lastline=5]{\LocSERscicode/servo-pot.sce}
+ % This value is mapped into a value between 0 and $180^\circ$ by
+ % multiplying with $180/1023$ in line 6:
+ % \lstinputlisting[firstline=6,lastline=6]{\LocSERscicode/servo-pot.sce}
+ % The {\tt floor} function gets the integer part of the number by
+ % truncation. This is the angle by which the potentiometer is to be
+ % moved. Truncation is a not a crucial calculation, however. In
+ % every iteration, the servomotor's position is calculated, and placed
+ % for half a second. This loop is iterated upon 5,000 times.
\end{enumerate}
\subsection{Scilab Code}
@@ -257,7 +401,7 @@ instructions given in \secref{sec:sci-start} before getting started. \begin{scicode}
\ccaption{Rotating the servomotor to a specified degree and
- reversing} {Rotating
+ reversing} {Rotating
the servomotor to a specified degree and reversing. Available at
\LocSERscibrief{servo-reverse.sce}.}
\label{sci:servo-reverse}
@@ -290,160 +434,160 @@ the parameters to set. The reader should go through the instructions given in \secref{sec:xcos-start} before getting started.
\begin{enumerate}
-\item First we will rotate the servomotor by $30^\circ$. When
- the file required for this experiment is invoked, one gets the GUI
- as in \figref{fig:servo-init}. In the caption of this figure, one can
- see where to locate the file.
- \begin{figure}
- \centering
- \includegraphics[width=\smfig]{\LocSERfig/servo-init.png}
- \caption[Rotating the servomotor by a fixed angle]{Rotating the
- servomotor by a fixed angle. This is what one sees when
- \LocLEDscibrief{servo-init.zcos}, is invoked.}
- \label{fig:servo-init}
- \end{figure}
-
- We will next explain how to set the parameters for this simulation.
- To set value on any block, one needs to right click and open the
- {\tt Block Parameters} or double click. The values for each block
- is tabulated in \tabref{tab:servo-init}. All other parameters are to
- be left unchanged.
- \begin{table}
- \centering
- \caption{Parameters to rotate the servomotor by $30^\circ$}
- \label{tab:servo-init}
- \begin{tabular}{llc} \hline
- Name of the block & Parameter name & Value \\ \hline
- ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
- & Serial com port number & 2\portcmd \\ \hline
- TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
- & Sampling period(s) & 0.1 \\ \hline
- SERVO\_WRITE\_SB & Servo number & 1 \\
- & Arduino card number & 1 \\ \hline
- CONST\_m & Constant value & 30 \\ \hline
- \end{tabular}
- \end{table}
-
-\item Next, we will rotate the servomotor by $90^\circ$ and bring it
- to $45^\circ$, all absolute values. When the file required for this
- experiment is invoked, one gets the GUI as in
- \figref{fig:servo-reverse}. In the caption of this figure, one can
- see where to locate the file.
- \begin{figure}
- \centering
- \includegraphics[width=\smfig]{\LocSERfig/servo-reverse.png}
- \caption[Rotating the servomotor forward and then
- reverse]{Rotating the servomotor forward and then reverse. This
- is what one sees when \LocLEDscibrief{servo-reverse.zcos},
- is invoked.}
- \label{fig:servo-reverse}
- \end{figure}
-
- We will next explain how to set the parameters for this simulation.
- To set value on any block, one needs to right click and open the
- {\tt Block Parameters} or double click. The values for each block
- is tabulated in \tabref{tab:servo-reverse}. All other parameters
- are to be left unchanged.
- \begin{table}
- \centering
- \caption{Parameters to rotate the servomotor forward and reverse}
- \label{tab:servo-reverse}
- \begin{tabular}{llc} \hline
- Name of the block & Parameter name & Value \\ \hline
- ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
- & Serial com port number & 2\portcmd \\ \hline
- TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
- & Sampling period(s) & 0.1 \\ \hline
- SERVO\_WRITE\_SB & Servo number & 1 \\
- & Arduino card number & 1 \\ \hline
- STEP\_FUNCTION & Step time & 1 \\
- & Initial value & 90 \\
- & Final value & 45 \\ \hline
- \end{tabular}
- \end{table}
-
-\item Next, we will rotate the servomotor in increments of
- $20^\circ$. When the file required for this
- experiment is invoked, one gets the GUI as in
- \figref{fig:servo-loop}. In the caption of this figure, one can
- see where to locate the file.
- \begin{figure}
- \centering
- \includegraphics[width=\smfig]{\LocSERfig/servo-loop.png}
- \caption[Rotating the servomotor in increments of $20^\circ$]
- {Rotating the servomotor in increments of $20^\circ$. This is what
- one sees when \LocLEDscibrief{servo-loop.zcos}, is invoked.}
- \label{fig:servo-loop}
- \end{figure}
-
- We will next explain how to set the parameters for this simulation.
- To set value on any block, one needs to right click and open the
- {\tt Block Parameters} or double click. The values for each block
- is tabulated in \tabref{tab:servo-loop}. {\tt Do on Overflow 0}
- means that we need to do nothing when there is an overflow.
- All other parameters
- are to be left unchanged.
- \begin{table}
- \centering
- \caption{Parameters to make the servomotor to sweep the entire
- range in increments}
- \label{tab:servo-loop}
- \begin{tabular}{llc} \hline
- Name of the block & Parameter name & Value \\ \hline
- ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
- & Serial com port number & 2\portcmd \\ \hline
- TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
- & Sampling period(s) & 0.1 \\ \hline
- SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
- CLOCK\_c & Period & 1 \\
- & Initialization time & 0.1 \\ \hline
- Counter & Minimum value & 0 \\
- & Maximum value & 10 \\
- & Rule & 1 \\ \hline
- GAINBLK & Gain & 20 \\
- & Do on overflow & 0 \\ \hline
- \end{tabular}
- \end{table}
-
-\item Finally, we will use Xcos to rotate the servomotor as per the
- input received from the potentiometer. When the file required for
- this experiment is invoked, one gets the GUI as in
- \figref{fig:servo-pot}. In the caption of this figure, one can see
- where to locate the file.
- \begin{figure}
- \centering
- \includegraphics[width=\smfig]{\LocSERfig/servo-pot.png}
- \caption[Rotating the servomotor as suggested by the
- potentiometer]{Rotating the servomotor as suggested by the
- potentiometer. This is what
- one sees when \LocLEDscibrief{servo-pot.zcos}, is invoked.}
- \label{fig:servo-pot}
- \end{figure}
-
- We will next explain how to set the parameters for this simulation.
- To set value on any block, one needs to right click and open the
- {\tt Block Parameters} or double click. The values for each block
- is tabulated in \tabref{tab:servo-pot}. All other parameters are to
- be left unchanged. The {\tt ANALOG\_READ\_SB} block reads the value
- of potentiometer and is converted into rotation angle (180/1023),
- computed by {\tt GAIN\_f}.
- \begin{table}
- \centering
- \caption{Parameters to rotate the servomotor based on the input
- from the potentiometer}
- \label{tab:servo-pot}
- \begin{tabular}{llc} \hline
- Name of the block & Parameter name & Value \\ \hline
- ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
- & Serial com port number & 2\portcmd \\ \hline
- TIME\_SAMPLE & The duration of acquisition(s) & 100 \\
- & Sampling period(s) & 0.1 \\ \hline
- SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
- ANALOG\_READ\_SB & Analog Pin & 2 \\
- & Arduino card number & 1 \\ \hline
- GAIN\_f & Gain & 180/1023 \\ \hline
- \end{tabular}
- \end{table}
+ \item First we will rotate the servomotor by $30^\circ$. When
+ the file required for this experiment is invoked, one gets the GUI
+ as in \figref{fig:servo-init}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-init.png}
+ \caption[Rotating the servomotor by a fixed angle]{Rotating the
+ servomotor by a fixed angle. This is what one sees when
+ \LocLEDscibrief{servo-init.zcos}, is invoked.}
+ \label{fig:servo-init}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-init}. All other parameters are to
+ be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor by $30^\circ$}
+ \label{tab:servo-init}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\
+ & Arduino card number & 1 \\ \hline
+ CONST\_m & Constant value & 30 \\ \hline
+ \end{tabular}
+ \end{table}
+
+ \item Next, we will rotate the servomotor by $90^\circ$ and bring it
+ to $45^\circ$, all absolute values. When the file required for this
+ experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-reverse}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-reverse.png}
+ \caption[Rotating the servomotor forward and then
+ reverse]{Rotating the servomotor forward and then reverse. This
+ is what one sees when \LocLEDscibrief{servo-reverse.zcos},
+ is invoked.}
+ \label{fig:servo-reverse}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-reverse}. All other parameters
+ are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor forward and reverse}
+ \label{tab:servo-reverse}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\
+ & Arduino card number & 1 \\ \hline
+ STEP\_FUNCTION & Step time & 1 \\
+ & Initial value & 90 \\
+ & Final value & 45 \\ \hline
+ \end{tabular}
+ \end{table}
+
+ \item Next, we will rotate the servomotor in increments of
+ $20^\circ$. When the file required for this
+ experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-loop}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-loop.png}
+ \caption[Rotating the servomotor in increments of $20^\circ$]
+ {Rotating the servomotor in increments of $20^\circ$. This is what
+ one sees when \LocLEDscibrief{servo-loop.zcos}, is invoked.}
+ \label{fig:servo-loop}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-loop}. {\tt Do on Overflow 0}
+ means that we need to do nothing when there is an overflow.
+ All other parameters
+ are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to make the servomotor to sweep the entire
+ range in increments}
+ \label{tab:servo-loop}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
+ CLOCK\_c & Period & 1 \\
+ & Initialization time & 0.1 \\ \hline
+ Counter & Minimum value & 0 \\
+ & Maximum value & 10 \\
+ & Rule & 1 \\ \hline
+ GAINBLK & Gain & 20 \\
+ & Do on overflow & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+ \item Finally, we will use Xcos to rotate the servomotor as per the
+ input received from the potentiometer. When the file required for
+ this experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-pot}. In the caption of this figure, one can see
+ where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-pot.png}
+ \caption[Rotating the servomotor as suggested by the
+ potentiometer]{Rotating the servomotor as suggested by the
+ potentiometer. This is what
+ one sees when \LocLEDscibrief{servo-pot.zcos}, is invoked.}
+ \label{fig:servo-pot}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-pot}. All other parameters are to
+ be left unchanged. The {\tt ANALOG\_READ\_SB} block reads the value
+ of potentiometer and is converted into rotation angle (180/1023),
+ computed by {\tt GAIN\_f}.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor based on the input
+ from the potentiometer}
+ \label{tab:servo-pot}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & The duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 2 \\
+ & Arduino card number & 1 \\ \hline
+ GAIN\_f & Gain & 180/1023 \\ \hline
+ \end{tabular}
+ \end{table}
\end{enumerate}
@@ -458,44 +602,44 @@ the shield also, but in this case, our comments on colour LEDs lighting will not be applicable. The reader should go through the
instructions given in \secref{sec:py-start} before getting started.
\begin{enumerate}
-\item The first experiment makes the servomotor move by $30^\circ$,
- the code for which is given in \ardref{py:servo-init}.
- It first opens com port 2 in \arduino\ card number 1 with baud rate
- of 115200. If the port opening is unsuccessful {\tt ok} will not be
- 0 and the program terminates, asking the user to correct the
- problem. Else If the port opening is successful, {\tt ok} will be 0
- and the program proceeds. In Line number 3 of the code, \ie\
- \lstinputlisting[firstline=3,lastline=3]{\LocSERpycode/servo-init.py}
- we say that the servomotor is attached on board 1 (the first entry)
- to pin 1 (the second entry). In the \scilab\ toolbox, pin 1 and pin
- 9 are connected and as a result, we connect the wire physically to
- pin 9. Similarly, pins 2 and 10 are connected through the
- \scilab\ toolbox.
-
-\item In \sciref{py:servo-reverse}, we make the servomotor rotate
- to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
- earlier, the angles are absolute with respect to a fixed reference
- point and not relative.
-
-\item In the next experiment, we rotate the servomotor in discrete
- steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
- an integer {\tt i}, which varies from 0 to 10. Once the maximum
- angle reaches $180^\circ$, it stops.
-
-\item Finally, in the last experiment, we position the servomotor
- through the potentiometer in the code \pyref{py:servo-pot}. As we
- rotate the potentiometer, the servomotor's angle also changes. The
- potentiometer value is read through pin 2, in line number 5, as
- below:
- \lstinputlisting[firstline=5,lastline=5]{\LocSERpycode/servo-pot.py}
- This value is mapped into a value between 0 and $180^\circ$ by
- multiplying with $180/1023$ in line 6:
- \lstinputlisting[firstline=6,lastline=6]{\LocSERpycode/servo-pot.py}
- The {\tt floor} function gets the integer part of the number by
- truncation. This is the angle by which the potentiometer is to be
- moved. Truncation is a not a crucial calculation, however. In
- every iteration, the servomotor's position is calculated, and placed
- for half a second. This loop is iterated upon 5,000 times.
+ \item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \ardref{py:servo-init}.
+ It first opens com port 2 in \arduino\ card number 1 with baud rate
+ of 115200. If the port opening is unsuccessful {\tt ok} will not be
+ 0 and the program terminates, asking the user to correct the
+ problem. Else If the port opening is successful, {\tt ok} will be 0
+ and the program proceeds. In Line number 3 of the code, \ie\
+ \lstinputlisting[firstline=3,lastline=3]{\LocSERpycode/servo-init.py}
+ we say that the servomotor is attached on board 1 (the first entry)
+ to pin 1 (the second entry). In the \scilab\ toolbox, pin 1 and pin
+ 9 are connected and as a result, we connect the wire physically to
+ pin 9. Similarly, pins 2 and 10 are connected through the
+ \scilab\ toolbox.
+
+ \item In \sciref{py:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+ \item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+ \item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \pyref{py:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 5, as
+ below:
+ \lstinputlisting[firstline=5,lastline=5]{\LocSERpycode/servo-pot.py}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 6:
+ \lstinputlisting[firstline=6,lastline=6]{\LocSERpycode/servo-pot.py}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 5,000 times.
\end{enumerate}
\subsection{Python Code}
@@ -513,7 +657,7 @@ instructions given in \secref{sec:py-start} before getting started. \begin{pycode}
\pcaption{Rotating the servomotor to a specified degree and
- reversing} {Rotating
+ reversing} {Rotating
the servomotor to a specified degree and reversing. Available at
\LocSERpybrief{servo-reverse.py}.}
\label{py:servo-reverse}
@@ -545,41 +689,41 @@ using julia. We will follow the same order as in described in python.
\begin{enumerate}
-\item The first experiment makes the servomotor move by $30^\circ$,
- the code for which is given in \ardref{julia:servo-init}.
- It first opens com port 2 in \arduino\ card number 1 with baud rate
- of 115200. In Line number 3 of the code, \ie\
- \lstinputlisting[firstline=5,lastline=5]{\LocSERjuliacode/servo-init.jl}
- we say that the servomotor is attached to pin 1 of the board.
- In the julia toolbox, pin 1 and pin
- 9 are connected and as a result, we connect the wire physically to
- pin 9. Similarly, pins 2 and 10 are connected through the
- julia toolbox.
-
-\item In \sciref{julia:servo-reverse}, we make the servomotor rotate
- to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
- earlier, the angles are absolute with respect to a fixed reference
- point and not relative.
-
-\item In the next experiment, we rotate the servomotor in discrete
- steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
- an integer {\tt i}, which varies from 0 to 10. Once the maximum
- angle reaches $180^\circ$, it stops.
-
-\item Finally, in the last experiment, we position the servomotor
- through the potentiometer in the code \juliaref{julia:servo-pot}. As we
- rotate the potentiometer, the servomotor's angle also changes. The
- potentiometer value is read through pin 2, in line number 7, as
- below:
- \lstinputlisting[firstline=7,lastline=7]{\LocSERjuliacode/servo-pot.jl}
- This value is mapped into a value between 0 and $180^\circ$ by
- multiplying with $180/1023$ in line 8:
- \lstinputlisting[firstline=8,lastline=8]{\LocSERjuliacode/servo-pot.jl}
- The {\tt floor} function gets the integer part of the number by
- truncation. This is the angle by which the potentiometer is to be
- moved. Truncation is a not a crucial calculation, however. In
- every iteration, the servomotor's position is calculated, and placed
- for half a second. This loop is iterated upon 500 times.
+ \item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \ardref{julia:servo-init}.
+ It first opens com port 2 in \arduino\ card number 1 with baud rate
+ of 115200. In Line number 3 of the code, \ie\
+ \lstinputlisting[firstline=5,lastline=5]{\LocSERjuliacode/servo-init.jl}
+ we say that the servomotor is attached to pin 1 of the board.
+ In the julia toolbox, pin 1 and pin
+ 9 are connected and as a result, we connect the wire physically to
+ pin 9. Similarly, pins 2 and 10 are connected through the
+ julia toolbox.
+
+ \item In \sciref{julia:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+ \item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+ \item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \juliaref{julia:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 7, as
+ below:
+ \lstinputlisting[firstline=7,lastline=7]{\LocSERjuliacode/servo-pot.jl}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 8:
+ \lstinputlisting[firstline=8,lastline=8]{\LocSERjuliacode/servo-pot.jl}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 500 times.
\end{enumerate}
\subsection{Julia Code}
@@ -597,7 +741,7 @@ described in python. \begin{juliacode}
\jcaption{Rotating the servomotor to a specified degree and
- reversing} {Rotating
+ reversing} {Rotating
the servomotor to a specified degree and reversing. Available at
\LocSERjuliabrief{servo-reverse.jl}.}
\label{julia:servo-reverse}
@@ -629,41 +773,41 @@ using OpenModelica. We will follow the same order as in described in python.
\begin{enumerate}
-\item The first experiment makes the servomotor move by $30^\circ$,
- the code for which is given in \OpenModelicaref{OpenModelica:servo-init}.
- It first opens com port 0 in \arduino\ card number 1 with baud rate
- of 115200. In Line number 09 of the code, \ie\
- \lstinputlisting[firstline=9,lastline=9]{\LocSEROpenModelicacode/servo-init.mo}
- we say that the servomotor is attached to pin 1 of the board.
- As previously explained, pin 1 and pin 9 are also connected in OpenModelica
- toolbox.
-
-\item In \OpenModelicaref{OpenModelica:servo-reverse}, we make the servomotor rotate
- to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
- earlier, the angles are absolute with respect to a fixed reference
- point and not relative.
-
-\item In the next experiment, we rotate the servomotor in discrete
- steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
- an integer {\tt i}, which varies from 0 to 10. Once the maximum
- angle reaches $180^\circ$, it stops.
-
-\item Finally, in the last experiment, we position the servomotor
- through the potentiometer in the code \OpenModelicaref{OpenModelica:servo-pot}. As we
- rotate the potentiometer, the servomotor's angle also changes. The
- potentiometer value is read through pin 2, in line number 7, as
- below:
- \lstinputlisting[firstline=18,lastline=18]{\LocSEROpenModelicacode/servo_pot.mo}
- This value is mapped into a value between 0 and $180^\circ$ by
- multiplying with $180/1023$ in line 8:
- \lstinputlisting[firstline=19,lastline=19]{\LocSEROpenModelicacode/servo_pot.mo}
- The {\tt floor} function gets the integer part of the number by
- truncation. This is the angle by which the potentiometer is to be
- moved. Truncation is a not a crucial calculation, however. In
- every iteration, the servomotor's position is calculated, and placed
- for half a second. This loop is iterated upon 500 times.
-
- \end{enumerate}
+ \item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \OpenModelicaref{OpenModelica:servo-init}.
+ It first opens com port 0 in \arduino\ card number 1 with baud rate
+ of 115200. In Line number 09 of the code, \ie\
+ \lstinputlisting[firstline=9,lastline=9]{\LocSEROpenModelicacode/servo-init.mo}
+ we say that the servomotor is attached to pin 1 of the board.
+ As previously explained, pin 1 and pin 9 are also connected in OpenModelica
+ toolbox.
+
+ \item In \OpenModelicaref{OpenModelica:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+ \item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+ \item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \OpenModelicaref{OpenModelica:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 7, as
+ below:
+ \lstinputlisting[firstline=18,lastline=18]{\LocSEROpenModelicacode/servo_pot.mo}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 8:
+ \lstinputlisting[firstline=19,lastline=19]{\LocSEROpenModelicacode/servo_pot.mo}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 500 times.
+
+\end{enumerate}
\subsection{OpenModelica Code}
\lstset{style=mystyle}
@@ -680,7 +824,7 @@ described in python. \begin{OpenModelicacode}
\mcaption{Rotating the servomotor to a specified degree and
- reversing} {Rotating
+ reversing} {Rotating
the servomotor to a specified degree and reversing. Available at
\LocSEROpenModelicabrief{servo-reverse.mo}.}
\label{OpenModelica:servo-reverse}
|