<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2073270612133201407</id><updated>2012-02-21T13:13:38.734Z</updated><title type='text'>Arduino, Electronics and Programming</title><subtitle type='html'>study and research about Arduino and related programming!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://arduin0.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-5846651275097563553</id><published>2012-02-18T14:46:00.001Z</published><updated>2012-02-20T12:34:47.149Z</updated><title type='text'>[C++] Fast Trigonometric Functions</title><content type='html'>Why?&lt;br /&gt;&lt;br /&gt;To improve algorithm performance, one direct way is to shorten calculation time. The part that consumes the most computation power would be the trig functions.&lt;br /&gt;&lt;br /&gt;The built-in trig functions are generally very good in terms of accuracy. But we don't need that level of precision, so we can sacrifice accuracy to achieve faster speed.&lt;br /&gt;&lt;br /&gt;We only use SIN, COS, ACOS and ATAN in our algorithm, so this post will describe only these functions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;SIN and COS&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;One popular, easy and really fast way is to use look-up table.&lt;br /&gt;Firstly I generated a list of 256 input from 0 to 360, with equal intervals, and get a list of results for each input.&lt;br /&gt;&lt;br /&gt;and then use the list of results as our table, and input (in degree) as our index. so let's say we need to get SIN(30), we just need to look up the 30th value in the table.&lt;br /&gt;&lt;br /&gt;The reason that I use 1 degree instead of smaller interval, is that not only it saves spaces, but also I won't need that kind of precision anyway. we can obviously do smaller interval like 0.5, or 0.2. just do some index conversion before looking up.&lt;br /&gt;&lt;br /&gt;Actually, we don't need the full cycle of SIN, we just need the first quarter cycle, because the whole cycle can be replicated by the first quarter anyway, so we save a lot of memory! All we have to do is to add some if/else statements, and do some tricks on the index system.&lt;br /&gt;&lt;br /&gt;Since SIN and COS are very close brothers (or sisters), that COS is just a shifted version of SIN, and we can lookup its value from the same table. The difference is just on the indexing.&lt;br /&gt;&lt;br /&gt;Because we are only using integer degree input, and the result for it was computed from the built-in SIN function, so it's&amp;nbsp;guaranteed&amp;nbsp;to be correct!&lt;br /&gt;&lt;br /&gt;[Upload Source Code]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;ACOS&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ACOS is different, because input will be between -1 and 1, if we are going to use look-up table, we will need to do index conversion which will kill the performance. Also the table need to be huge because we can reduce table size like what we did in the SIN function. So might be better to use infinite series &lt;a href="http://en.wikipedia.org/wiki/Inverse_trigonometric_function"&gt;stated here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It should be noted that the more accurate, the higher power term needs to be computed. Power is a terrible performance killer, so I will only keep the first 4 terms.&lt;br /&gt;&lt;br /&gt;To verify the accuracy, we can compare the built-in method with the 'polynomial' method in Excel.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QjGr2J8-r18/Tz-4iCaJonI/AAAAAAAAAT4/9K_-nUxRUtc/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://2.bp.blogspot.com/-QjGr2J8-r18/Tz-4iCaJonI/AAAAAAAAAT4/9K_-nUxRUtc/s640/1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As we can see, the error rises exponentially after about 0.3. It is obvious what we have a larger error as we go near 1. Because we are only keeping the first few polynomial terms, as we go nearer to 1, the neglected terms will become significant, thus making the difference obvious.&lt;br /&gt;&lt;br /&gt;what we can do here, is to replace the polynomial method with look-up table, let say when input is larger than 0.8, when the error could have reached about 1%.&lt;br /&gt;&lt;br /&gt;New method is about 15 times faster! (measured in VC++)&lt;br /&gt;&lt;br /&gt;[Upload Source Code]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;ATAN&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I have been search for a way to do it. But none seems to be faster than C++ ATAN. So I will stick with it for now.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-5846651275097563553?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arduin0.blogspot.com/feeds/5846651275097563553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://arduin0.blogspot.com/2012/02/c-fast-trigonometric-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/5846651275097563553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/5846651275097563553'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/02/c-fast-trigonometric-functions.html' title='[C++] Fast Trigonometric Functions'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-QjGr2J8-r18/Tz-4iCaJonI/AAAAAAAAAT4/9K_-nUxRUtc/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-3133913037517194119</id><published>2012-01-21T23:04:00.000Z</published><updated>2012-02-19T13:40:17.728Z</updated><title type='text'>Hexapod Robot with 3 DOF legs (degree of freedom)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is an upgrade of the Hexapod Robot with 2DOF leg here:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://arduin0.blogspot.com/2012/01/hexapod-robot-with-2-dof-legs-degree-of.html"&gt;http://arduin0.blogspot.com/2012/01/hexapod-robot-with-2-dof-legs-degree-of.html&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So far we have:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;［31/Jan/2012]&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/ibsfN525eiE/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ibsfN525eiE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/ibsfN525eiE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; [13/Feb/2012]&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/m2V1K0d_Eoc/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m2V1K0d_Eoc?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/m2V1K0d_Eoc?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;I have ordered parts from Lynxmotion, but they don't have them in stock, so I will have to wait for another 1 or 2 months. Before that, I will build a smaller version hexapod robot to implement the algorithms.&lt;br /&gt;&lt;br /&gt;Most of the parts in this project would be inherited from the 2DOF version robot, except the base.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FP3h5D4ShWk/TxtEKuoZSUI/AAAAAAAAAQ0/y45scrL_0Kk/s1600/170120121368.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-FP3h5D4ShWk/TxtEKuoZSUI/AAAAAAAAAQ0/y45scrL_0Kk/s400/170120121368.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZWnhNuiHDDc/TxtENh6cJTI/AAAAAAAAARE/r1OR-tgDHEg/s1600/180120121370.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-ZWnhNuiHDDc/TxtENh6cJTI/AAAAAAAAARE/r1OR-tgDHEg/s320/180120121370.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hJwxtOn79jw/TxtEMYMhZXI/AAAAAAAAAQ8/Mgb0LaJRL98/s1600/180120121369.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-hJwxtOn79jw/TxtEMYMhZXI/AAAAAAAAAQ8/Mgb0LaJRL98/s320/180120121369.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OtQxrMVBBtw/TySZaReAWoI/AAAAAAAAARY/-EeDXFeOWGw/s1600/210120121373.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-OtQxrMVBBtw/TySZaReAWoI/AAAAAAAAARY/-EeDXFeOWGw/s320/210120121373.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I wanted to make a servo interface with the shield I bought off ebay, which would making it so easy to install the servos without making a mess. In theory i could use 48 servos on a Mega board, but I only soldered 20 servo ports, just to keep wires tidy and compact. I need only 18 servos for the legs and possibly 2 for the sensors anyway.&lt;br /&gt;&lt;br /&gt;I am leaving some space on the right hand side of the board to put a adjustable voltage regulator in, as I am planning to use 8xAA batteries, or 3 lipo 11V batteries in the future.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hsWEi1H60eA/TySZbiZBGnI/AAAAAAAAARg/zQ_fW-48wFU/s1600/220120121374.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-hsWEi1H60eA/TySZbiZBGnI/AAAAAAAAARg/zQ_fW-48wFU/s320/220120121374.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6EmDngHdrXc/TySZdR4y4KI/AAAAAAAAARo/FrYgDzlOyyI/s1600/220120121377.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-6EmDngHdrXc/TySZdR4y4KI/AAAAAAAAARo/FrYgDzlOyyI/s320/220120121377.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-2jFxRa3gIzE/TySZejkTQSI/AAAAAAAAARw/2eT76yLTSQU/s1600/220120121378.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-2jFxRa3gIzE/TySZejkTQSI/AAAAAAAAARw/2eT76yLTSQU/s320/220120121378.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-TgodhkRKcbY/TySZgQJp7cI/AAAAAAAAAR0/3miLm64HW70/s1600/220120121379.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-TgodhkRKcbY/TySZgQJp7cI/AAAAAAAAAR0/3miLm64HW70/s320/220120121379.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;===========================================&lt;br /&gt;Update&lt;br /&gt;============================================&lt;br /&gt;28/01/2012&lt;br /&gt;&lt;br /&gt;Redesigned and made another base, with smaller diameter and larger thickness. the Previous one was too thin that it actually bends a little when it's standing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZdYki3ERFY0/TyXFplnqh9I/AAAAAAAAASo/FTT4faj4ZFc/s1600/280120121386.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-ZdYki3ERFY0/TyXFplnqh9I/AAAAAAAAASo/FTT4faj4ZFc/s320/280120121386.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9w57BuDoYgY/TyXFrIvE0xI/AAAAAAAAASw/WDEaE1IB_0Y/s1600/280120121387.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-9w57BuDoYgY/TyXFrIvE0xI/AAAAAAAAASw/WDEaE1IB_0Y/s320/280120121387.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VlHxsTvNASM/TyXFsAEKixI/AAAAAAAAAS4/BtNGNACEzc8/s1600/280120121388.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-VlHxsTvNASM/TyXFsAEKixI/AAAAAAAAAS4/BtNGNACEzc8/s320/280120121388.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-eixlJ5vM9Ag/TyXFwlz92xI/AAAAAAAAATQ/QD3rekDSjBw/s1600/280120121391.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-eixlJ5vM9Ag/TyXFwlz92xI/AAAAAAAAATQ/QD3rekDSjBw/s320/280120121391.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;found that when casting float to int, numbers are floor rounded e.g 4.4 = 4, 4.8 also = 4. which would introduce round-off error. need to implement number casting function to resolve this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div align="left"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;FloatToInt(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;input){&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// this is an alternative to cast number directly, to avoid floor rounding&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp = (&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)input;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// floor-rounded input&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;dif = input - (&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)temp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(dif &amp;lt; 0.5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp+1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Also there is another problem with responding speed. I check the resulted in the C++ code against the simulation excel spreadsheet, found the error margin is quite big, because I was using int for all the calculations. I then change all of them into float. Although it works on the robot, but the responding time increased quite obviously, also the robot movement become unstable. I think it's because of the computational power of the Arduino just isn't good enough to do pure floating point IK cacluation. I will need to think of a way to balance between accuracy and computational load.&lt;br /&gt;&lt;br /&gt;I have also place 2 4xAA battery holders in parallel to supply more current, because i found it could draw up to 1.5A when the servos are loaded which causes voltage to drop and fail to supply enough current and lead to legs paralysis.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;29/01/2012&lt;br /&gt;&lt;br /&gt;Found a coupld of bugs in the algorithm, thanks to my Excel spread sheet simulation! Now the pitch and roll movements finally work properly, although the legs are still quite unstable. I still don't know why that is, maybe the dimension is still not correct, or maybe there are still bugs in the algorithms. &lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;09/02/2012&lt;br /&gt;&lt;br /&gt;I have now adapted rotation matrix in Body IK algorithm, instead of estimating coordinate changes, i will be using formula derive from rotation matrix to calculate these changes (detail could be found in my last post, IK implementation).&lt;br /&gt;&lt;br /&gt;I have also started to use micro seconds instead of degrees to write servos.&lt;br /&gt;&lt;br /&gt;I have also had a major modification on the legs. It's now doubled the length of the original.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UzILEl3nqso/TzfvJVGp8ZI/AAAAAAAAATw/O1Lpld0CG5s/s1600/120220121402.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-UzILEl3nqso/TzfvJVGp8ZI/AAAAAAAAATw/O1Lpld0CG5s/s400/120220121402.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Found a problem with pin22 and pin32 when using them as servo pins. These two pins interference with each other, ie, control one of them would control the other one too. Luckily I made 20 pins, so I can just easily move up all the pins by 1, ie, now using 23 - 41.&lt;br /&gt;&lt;br /&gt;We had a water tank overflow on the roof tonight, was a bit scary and we spent hours looking at the problem, so didn't do much testing on the new setup. will try tomorrow.&lt;br /&gt;&lt;br /&gt;The main problem with it at the moment remains to be leg-end position accuracy. I don't know whether it's the hardware or the software. But since I have move all the calculation into floating point, it should give relatively good numerical results.&lt;br /&gt;&lt;br /&gt;I have started looking at Gait, might implement 6 step ripple gait first.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;12/02/2012&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Last night, I implemented a simple 6 step ripple gait, which I will explain in a minute. Let me explain what's the problem I discovered first with the IK algorithm.&lt;br /&gt;&lt;br /&gt;When the legs are meant to move along Z axis, the front and rear legs are actually moving toward Z-X direction, which is not right. So I wrote a&lt;a href="http://arduin0.blogspot.com/p/test.html"&gt; test program&lt;/a&gt; to test the leg IK algorithm by checking the actually physical change of the leg position, versus the coordinate I entered manually. Again the legs won't move solely along one particular axis (X or Z), but tend to go somewhere in between.&lt;br /&gt;&lt;br /&gt;Spent an evening thinking about it, realize the original idea of calculation IK isn't perfect for my type of hexapod robot, which each leg are in a different frame (frame - Axis system), but I have always been assuming they are in the same frame as the center of body. for example, the frame of the front right leg is rotated -30 degree from &amp;nbsp;the frame of the center of body (see below picture), so before we calculate the change of angles from leg IK algorithm, we need to do coordinate transformation first, to convert it from body frame to the coxa frame.&lt;br /&gt;&lt;br /&gt;A common way would be using rotation matrix. detail please go to my&lt;a href="http://arduin0.blogspot.com/2012/01/inverse-kinematics-ik-implementation.html"&gt; IK implementation post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;after the modification, the robot can finally walk like one. ; )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;19/02/2012&lt;br /&gt;&lt;br /&gt;Good news from Robotshop! My parts have finally arrived their warehouse and has been already shipped to me. So I got to hurry up finishing body balance algorithm this week (probably my last implementation on IK)&lt;br /&gt;&lt;br /&gt;This weekend I:&lt;br /&gt;1. tidied up the code a lot!&lt;br /&gt;2. implemented fast &lt;a href="http://arduin0.blogspot.com/2012/02/c-fast-trigonometric-functions.html"&gt;SIN, COS, ACOS functions&lt;/a&gt; (about 10 times faster than standard C trig functions! body rotation is so much smoother now)&lt;br /&gt;&lt;span class="Apple-style-span"&gt;3. implemented 7 more gaits (thanks to&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana; font-size: x-small;"&gt;Jeroen Janssen&lt;/span&gt;&lt;span class="Apple-style-span"&gt;'s source code, I copied most of the stuff over)&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; (1) Ripple 12 steps&lt;br /&gt;&amp;nbsp; &amp;nbsp; (2)&amp;nbsp;Quadripple 9 steps&lt;br /&gt;&amp;nbsp; &amp;nbsp; (3) Tripod 4 steps&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; (4) Tripod 6 steps&lt;br /&gt;&amp;nbsp; &amp;nbsp; (5) Tripod 8 steps&lt;br /&gt;&amp;nbsp; &amp;nbsp; (6) Wave 12 steps&lt;br /&gt;&amp;nbsp; &amp;nbsp; (7) Wave 18 steps&lt;br /&gt;&lt;br /&gt;4. modified code to avoid using 'delay()', but to get the time using 'millis()', so processor can do other stuff while waiting rather than just freezes there. Also brings a bit more smooth movement there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All looking great! however because I am getting so many functions and gaits now, I am having trouble with controls... nun-chuck is simple and handy, but it's very limited in terms of control options. I might need to come up with a menu system that I can switch between modes (body rotation, walking mode), and under walking mode i can also switch between gait types... I just love the nunchuck and don't want to replace it!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;================================================================&lt;br /&gt;&lt;br /&gt;To Do:&lt;br /&gt;&lt;strike&gt;1. Implement Fast trig functions&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;2. Convert Angles in degree/radian to MicroSeconds and use micro seconds to drive servos.&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;3. implement first Gait Sequence Generator&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;4. implement different Gaits&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;5. Body balancing algorithm&lt;br /&gt;&lt;br /&gt;6. Automation, Sensor (IR or ultra sonic), basic AI (object following, avoiding)&lt;br /&gt;&lt;br /&gt;7. control remotely (maybe bluetooth, or XBee)&lt;br /&gt;&lt;br /&gt;8. Intermediate AI - Responses to outside world environment, possibly movement, or human gesture&lt;br /&gt;&lt;br /&gt;9.&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&lt;em style="color: black; font-style: normal;"&gt;Terrain Adaption - more sensors on the legs - highly linked with &lt;b&gt;5&lt;/b&gt;, and &lt;b&gt;8&lt;/b&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-3133913037517194119?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arduin0.blogspot.com/feeds/3133913037517194119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://arduin0.blogspot.com/2012/01/hexapod-robot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/3133913037517194119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/3133913037517194119'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/01/hexapod-robot.html' title='Hexapod Robot with 3 DOF legs (degree of freedom)'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FP3h5D4ShWk/TxtEKuoZSUI/AAAAAAAAAQ0/y45scrL_0Kk/s72-c/170120121368.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-4608211211292529968</id><published>2012-01-21T19:33:00.001Z</published><updated>2012-02-20T22:52:14.305Z</updated><title type='text'>Inverse Kinematics IK Implementation for 3DOF Hexapod Robot</title><content type='html'>Nunchuck controlling single leg test:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/G6Rad7cVJSo/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/G6Rad7cVJSo?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/G6Rad7cVJSo?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Excel Spreadsheet simulator&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/sYLGvuJOCW0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sYLGvuJOCW0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/sYLGvuJOCW0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Discussion of IK algorithm can be found in my previous post:&lt;/div&gt;&lt;div&gt;&lt;a href="http://arduin0.blogspot.com/2012/01/hexapod-robot-gaits-calculation-inverse.html"&gt;http://arduin0.blogspot.com/2012/01/hexapod-robot-gaits-calculation-inverse.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Derivation of the equations:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is quite a simple trigonometry problem.&lt;br /&gt;&lt;br /&gt;Notice I have made a mistake on the first drawing about "leg length". We need to solve it on two different planes, the first plane is looking down in the same direction as Y axis, but the second might not aligned to any particluar axis, but could be some where between x and z axis. So the leg length is what we get from the equation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Implement body roll (Z axis), pitch (X axis) and rotate (Y axis)]&lt;br /&gt;&lt;br /&gt;The principle behind a robot that moves using Inverse kinematics algorithm, is that if we move the centre of the body, it would change the coordinates of the feet end, therefore it will change the servo angles.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GA49TES5UhM/Tx6zplRy4YI/AAAAAAAAARM/FcMbnK1VSZU/s1600/Image+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-GA49TES5UhM/Tx6zplRy4YI/AAAAAAAAARM/FcMbnK1VSZU/s640/Image+1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;for example, if we are moving the robot to the right (centre of robot moving from red to the blue point), the end of feet coordinates would shift to the right of the same distance as the centre of the body. The feet are stationary, so moving the body won't change the absolute positions of the feet, but their relative positions to the centre of body are changed. Therefore we need to take these changes into account, and compute the latest relative coordinates, then using LegIK procedure described above, to calculate new servo angles.&lt;br /&gt;&lt;br /&gt;To sum up, according to the change of coordinates of the body, or rotation, we can calculate the change of coordinates of the legs in Body IK algorithm, and pass that result to the Leg IK algorithm to calculate the change of the servo positions. However, I will implement these two in the reverse order.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Here we go.&lt;br /&gt;&lt;br /&gt;[Leg IK]&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IjERYvizm6o/TxsTrjZCJuI/AAAAAAAAAQk/dWSH4hKLkmg/s1600/210120121371.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-IjERYvizm6o/TxsTrjZCJuI/AAAAAAAAAQk/dWSH4hKLkmg/s400/210120121371.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YeMDVP6BS8Y/TxsTtXSg0PI/AAAAAAAAAQs/cjrzZnIrj6E/s1600/210120121372.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-YeMDVP6BS8Y/TxsTtXSg0PI/AAAAAAAAAQs/cjrzZnIrj6E/s400/210120121372.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;[Body IK]&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o8XKouyIUr0/TyXE0HjEgNI/AAAAAAAAASI/bK9MjpKNNEU/s1600/290120121394.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-o8XKouyIUr0/TyXE0HjEgNI/AAAAAAAAASI/bK9MjpKNNEU/s400/290120121394.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-X7gY4evBrN4/TyXE1x8gV5I/AAAAAAAAASQ/uzGwllAiSTI/s1600/290120121395.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-X7gY4evBrN4/TyXE1x8gV5I/AAAAAAAAASQ/uzGwllAiSTI/s400/290120121395.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/-5oXXilrB5pM/TyXEy0iuooI/AAAAAAAAASA/GwxP1QzKZmE/s1600/290120121393.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-5oXXilrB5pM/TyXEy0iuooI/AAAAAAAAASA/GwxP1QzKZmE/s640/290120121393.jpg" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-r1yxHVyfHas/TyXE3O6SzEI/AAAAAAAAASY/9s0DzFCr4Fk/s1600/290120121396.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-r1yxHVyfHas/TyXE3O6SzEI/AAAAAAAAASY/9s0DzFCr4Fk/s400/290120121396.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So we have solved the problem. To convert the angle into usable value, simple add 90 to them before writing to servos.&lt;br /&gt;&lt;br /&gt;To make this more efficient we can write our own trigonometric functions using look up table. I have done sine and cosine functions, will do atan and tan function when I have the time.&lt;br /&gt;&lt;br /&gt;If you want the source code please contact me.&lt;br /&gt;&lt;br /&gt;[To Do]&lt;br /&gt;1. notice when calculating body rotation (roll and pitch), we should not just do 'tan' to estimate change in y axis, but x and/or z will change as well (although it's small, that's why I ignore it there). If we want a more natural rotation, it's best to include that, and I will probably do so in the next update.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;03/Feb/2012&lt;br /&gt;&lt;br /&gt;We have been working with 3D coordinates (x,z,y) in our IK algorithm, find the change in each dimension, and calculate the change of angles. Notice that each dimension is calculated using very basic trigonometric functions and ideas, which isn't very close to reality, and as you can probably see from the video demonstration the movement isn't very smooth nor natural.&lt;br /&gt;&lt;br /&gt;A more advance and complex way to calculate change of coordinates from rotations is to use Rotation Matrix. Please see &lt;a href="http://en.wikipedia.org/wiki/Rotation_matrix"&gt;here &lt;/a&gt;for detail. It might seem complicated and make no sense at all at first, check out youtube for some 2D rotation examples, and move on to 3D, it will become more clear.&lt;br /&gt;&lt;br /&gt;Anyway, to implement it in programming doesn't require you to understand it. If you are feeling really impatient, just copy and paste my code into yours and you won't need to worry about it ever again. So feel free to explore the field, and I will describe it briefly here as well.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HPqMtkFW3SM/T0GH3_l6M0I/AAAAAAAAAUA/oRSq2YHw-EA/s1600/040220121398.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-HPqMtkFW3SM/T0GH3_l6M0I/AAAAAAAAAUA/oRSq2YHw-EA/s400/040220121398.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=======================================================&lt;br /&gt;Update&lt;br /&gt;=======================================================&lt;br /&gt;12/Feb/2012&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Spent an evening thinking about it, realize the original idea of calculation IK isn't perfect for my type of hexapod robot, which each leg are in a different frame (frame - Axis system), but I have always been assuming they are in the same frame as the center of body. for example, the frame of the front right leg is rotated -30 degree from &amp;nbsp;the frame of the center of body (see below picture), so before we calculate the change of angles from leg IK algorithm, we need to do coordinate transformation first, to convert it from body frame to the coxa frame.&lt;br /&gt;&lt;br /&gt;A common way would be using rotation matrix.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-5dfzeEej-Cs/TzfuwMmz-7I/AAAAAAAAATg/O-Jkp0SrLeU/s1600/120220121403.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-5dfzeEej-Cs/TzfuwMmz-7I/AAAAAAAAATg/O-Jkp0SrLeU/s400/120220121403.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PML5F3dV3qs/Tzfu2_1aAcI/AAAAAAAAATo/iMQaQYPxyE4/s1600/120220121404.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="157" src="http://1.bp.blogspot.com/-PML5F3dV3qs/Tzfu2_1aAcI/AAAAAAAAATo/iMQaQYPxyE4/s400/120220121404.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;====================================================================&lt;br /&gt;Excel Spread sheets Downloads&lt;br /&gt;====================================================================&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/457167/V1.xlsx"&gt;Hexapod Robot Spreadsheet V1&lt;/a&gt;&amp;nbsp;(no gaits)&lt;br /&gt;Hexapod Robot Spreadsheet V1.1 (modified roation, no giat)&lt;br /&gt;Hexapod Robot Spreadsheet V1.2 (with gait)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-4608211211292529968?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arduin0.blogspot.com/feeds/4608211211292529968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://arduin0.blogspot.com/2012/01/inverse-kinematics-ik-implementation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/4608211211292529968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/4608211211292529968'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/01/inverse-kinematics-ik-implementation.html' title='Inverse Kinematics IK Implementation for 3DOF Hexapod Robot'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-GA49TES5UhM/Tx6zplRy4YI/AAAAAAAAARM/FcMbnK1VSZU/s72-c/Image+1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-4449888726714422143</id><published>2012-01-09T21:51:00.001Z</published><updated>2012-02-21T13:13:38.747Z</updated><title type='text'>Inverse Kinematics And Trigonometry Basics</title><content type='html'>&lt;span class="Apple-style-span" style="background-color: #efefef; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #efefef; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;So firstly, why do we need kinematics? What are they?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: 12px; font-weight: bold;"&gt;Motivation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;With your robot having legs the position of those legs dictates where its feet are. Where its feet are dictate its point of balance.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;As you undoubtedly know balance can be defined as the robot's centre of mass (affectionately referred to as its centre of gravity) being between its centre of pivots (i.e. the edges of where its feet contact the ground).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;If the centre of mass is above the centre of pivots and between them the robot will balance (almost an unstable equilibrium, if you're an applied mathemetician).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;If the centre of mass is above but outside the centre of pivots (i.e. beyond the edges of his feet) the robot will overbalance and fall. Fast.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="background-color: white; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;If you feel confident about the basics, here is an implementation example of a 3 DOF hexapod robot using IK:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;a href="http://arduin0.blogspot.com/2012/01/inverse-kinematics-ik-implementation.html"&gt;http://arduin0.blogspot.com/2012/01/inverse-kinematics-ik-implementation.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;If you're a little unclear about this start with something basic, a cube is a good start, and imagine that its centre of mass is right in the middle (which it will be if its density is even throughout). When the cube is just sat there it's stable. The centre of mass is above the centre of pivot (the edges) but because it's between them (when viewed from every direction) it will just sit there until you prod it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;Now you prod it and slowly tilt it. As the centre of mass approaches a point directly above one of the edges (our centre of pivot) the cube will feel lighter to your touch and if you can get the centre of mass directly over that centre of pivot it will balance. As soon as you push it past that point, so the centre of mass is the other side of the centre of pivot it will fall.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;The robot is exactly the same. This is why the kinematics of the feet are important to you. If you want the robot to balance dynamically you NEED to know where the feet are and where they're going to need to be.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Please understand that I'm not going to do all your work for you, so the code or equations I share are not&amp;nbsp;guaranteed&amp;nbsp;on their accuracy but purely a demonstration of how the method is derived and works.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br class="Apple-interchange-newline" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;==================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Forward and&amp;nbsp;&lt;/b&gt;&lt;b&gt;Inverse&amp;nbsp;&lt;/b&gt;&lt;b&gt;Kinematics&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;Forward kinematics is the method for determining the orientation and position of the end effector &lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px;"&gt;(x,y,z)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;coordinates&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;relative to the centre of mass&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;, given the joint angles and link lengths of the robot arm (&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;servo positions)&lt;/span&gt;&lt;span class="Apple-style-span"&gt;.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;This equation is deterministic. You know absolutely from the servo positions exactly where the foot is.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Inverse kinematics is the opposite of forward kinematics. This is when you have a desired end effector position, but need to know the joint angles required to achieve it. This is harder than FK, and there could be more than one solution.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="background-color: white; font-family: Tahoma;"&gt;The FK is not very useful here, because if we are given a change of angle of a servo, only one effector moves in the chain. But if we are given a change of coordinate, the whole chain of effectors (servos) might have to move a certain angle for the end point to reach the desired position. And also the movement tend to be more natural as well!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="background-color: white; font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px;"&gt;=====================================================================&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;There are two approaches to solving inverse kinematics:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Analytical - requires a lot of trigonometry or matrix algebra&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Iterative - better if there are lots of links and degrees of freedom.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h4&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;IK - Analytical approach&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;If there are only two or three links then it may be possible to solve it analytically. One possibly might be to draw out the arm with the angles shown on it, then solve for the angles using geometry. The problem is that this is not really a very general approach.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Another analytical approach is to represent each links rotation and translation by a matrix. The end point is then given by all these matrixes multiplied together, so we just need to solve this matrix equation. Then find what rotation each matrix represents.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;There may be many solutions or there may not be any solutions. In other words there are lots of ways to reach to a given point, or it may be out of reach.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;If there are many solutions, then you might need to apply additional constraints. For instance, human joints can only bend within certain limits.&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;IK - Iterative -approach (only if you are interested reading)&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;This is a more general approach for programming complex chains.&lt;/span&gt;&lt;/div&gt;&lt;table border="0" style="color: black;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="background-color: white;"&gt;Start off with the joints in any position, then move each of the joints in turn, so that each movement takes the endpoint toward the target.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;Starting with the joint nearest the end point, rotate the joint so that the current end point moves toward the required end point. Then do the same with the next joint toward the base and so on until the base is rotated. Then keep repeating this, until the end point is close enough to the required end point or if further iterations are not moving it closer to the required point.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;It may be possible to have a more realistic strategy than this, for instance, if I am using my arm to pick up an object then, if the object is a long way away, I will move the bigger joints in the arm, then as the hand gets closer the smaller joints of the hand are used for the fine adjustments.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;The angle of rotation for each joint is found by taking the dot product of the vectors from the joint to the current point and from the joint to the desired end point. Then taking the arcsin of this dot product.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;To find the sign of this angle (ie which direction to turn), take the cross product of these vectors and checking the sign of the Z element of the vector.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;because we will be mainly dealing with 3DOF hexapod or Quadurped robot legs, Analytical, or trigonometry would do the trick for now.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;================================================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Let's get started, write a trigonometric library first!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;1. need to do is refresh your memory on trigonometry.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Understand how you can obtain the sine and cosine of an angle, what they mean when converting angles and distances into x/y coordinates.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Also understand how you take a two dimensional coordinate (x,y) and rotate it about a point (say a,b) by a given angle. This is absolutely CRITICAL to understanding kinematics.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;2. implement trigonometric functions&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Once you've understood all this you need to implement sines, cosines and tangents (and the inverse versions) in your software. Using the library versions of these functions is going to be expensive in space and computation. So, try not to use standard library function, WRITE your own functions!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Scared? Don't be. Writing your own on a microcontroller is actually surprisingly easy. All we need to do is to pre-calculate values and store them in a table, so we can just look it up.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Let's try to write sine and cos functions first and test them. 3D trigonometry is just 2D trigonometry applied in three dimensions. Create yourself some functions that rotate 3D points around each of the three axes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Now test again. You have to be confident that it works without bugs and with an accuracy suitable to your application.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;If you've got this far you've got trig working in your microcontroller. You've probably also written a whole bunch of supporting functions (e.g. printf() debugging, square root functions etc). You're probably pretty damn proud of yourself.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Now, the fun starts from here.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style="background-color: white;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;============================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;15/12/2012&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;To get this turned into a program, you'll have to remember that the angles are the unknowns, and proceed from there.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fwQY8d5F-OU/TxN5dLnuVDI/AAAAAAAAAPs/he0r5z2_mz4/s1600/160120121365.jpg" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-fwQY8d5F-OU/TxN5dLnuVDI/AAAAAAAAAPs/he0r5z2_mz4/s400/160120121365.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;So, first thing is going to be turn this from a 3D problem into a 2D one, by solving for gamma. I would recommend thinking about theta in terms of the tangent function, X and Y. There is a common function called atan2 which is typically used to find&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;gamma&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;, given X and Y. So, a single function gets you&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;gamma&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;(sweet!).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-h5YwtwytoDY/TxN5eGX_bnI/AAAAAAAAAP0/ERtEc0SWRMY/s1600/160120121366.jpg" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-h5YwtwytoDY/TxN5eGX_bnI/AAAAAAAAAP0/ERtEc0SWRMY/s400/160120121366.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;Now that you have gamma, you have two links and two joints left to place (and they are in the same plane), which are your red leg lines:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol class="decimal" style="margin-bottom: 1em; margin-left: 2em; margin-right: 1em; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="list-style-image: initial; list-style-position: outside; list-style-type: decimal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;You would typically then find OB using OB^2 = (L1^2 + L2^2). OB, L1, and L2 form a plane, which all our calculations are now on.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-image: initial; list-style-position: outside; list-style-type: decimal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Now, we notice that the same atan2 function could be used to find alpha (based on Zb and the length of the horizontal projection of OB).&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-image: initial; list-style-position: outside; list-style-type: decimal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;You can then solve for (alpha + delta), because you have all three sides of your triangle -- and then subtract the alpha value you just determined to find delta.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-image: initial; list-style-position: outside; list-style-type: decimal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;And now, you have a function to describe phi in your sheet (as acos of a really nasty set of numbers).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XawbWTjd45Y/TxN5fCmu6cI/AAAAAAAAAP8/e6RNBU75BLs/s1600/160120121367.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-XawbWTjd45Y/TxN5fCmu6cI/AAAAAAAAAP8/e6RNBU75BLs/s640/160120121367.jpg" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol class="decimal" style="margin-bottom: 1em; margin-left: 2em; margin-right: 1em; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;At that point, you have your values for your servos!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So now we have IK, the next step would be on 'How to use IK to form Gaits'.&lt;br /&gt;&lt;br /&gt;the idea is, to make a step, we will have to tell the servo to move to a set of positions. the more positions, the more smooth the motion would be. and that's how gaits are generated.&lt;br /&gt;&lt;br /&gt;The best way to study gaits generation, is to go through people's code. Here are some good code we could study:&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;Best way to learn with those topic is to download the PowerPod program from Lynxmotion's shopsite:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://www.lynxmotion.com/images/files/firmware/ppod102_x44.zip&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;Generate a basic code, and try to follow the code line by line and understand what its doing (not necessarily focusing on how), then once you figure out the flow of the code, you can go back into the details of the how by following some basic trig.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;It took quite a while for me to figure out what it's doing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;The code is basically doing inverse-kinematics. Kinematics is giving the servo an angle and calculating where it's supposed to land given the length of the arm/apendage. Inverse is giving it a target location and figuring out the angle the servo needs to move in order to accomplish the movement [of the tip of the appendage] to that location. But that's a very high level understanding.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;For me, I printed out the awesome explanation of the code by Luis Hidalgo, the code generated by Powerpod, and also the IK-diagram, and just kept studying it over and over until it started to click.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;I'm no expert at it, but I'm still on the path to getting to know it more. You should do some google search on this topic (inverse kinematics) and there are several websites out that explains this quite readily. Some useful ones I found are:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;==========================================================&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small;"&gt;Here are some good sites to explore more of the IK field:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;http://freespace.virgin.net/hugo.elias/models/m_ik.htm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small;"&gt;&lt;a href="http://freespace.virgin.net/hugo.elias/models/m_ik2.htm"&gt;http://freespace.virgin.net/hugo.elias/models/m_ik2.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;http://www.lynxmotion.net/viewtopic.php?t=2534&lt;br /&gt;http://www.lynxmotion.net/viewtopic.php?t=3361&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-4449888726714422143?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arduin0.blogspot.com/feeds/4449888726714422143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://arduin0.blogspot.com/2012/01/hexapod-robot-gaits-calculation-inverse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/4449888726714422143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/4449888726714422143'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/01/hexapod-robot-gaits-calculation-inverse.html' title='Inverse Kinematics And Trigonometry Basics'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fwQY8d5F-OU/TxN5dLnuVDI/AAAAAAAAAPs/he0r5z2_mz4/s72-c/160120121365.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-6037566758721509310</id><published>2012-01-02T02:24:00.000Z</published><updated>2012-01-08T23:54:07.868Z</updated><title type='text'>Control Arduino Through Serial Connection (USB) VB Visual Basic program</title><content type='html'>&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;The complete Serial Control library is still under development and unavailable. I will publish the source code and program once it's done.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;However you might still find the updates and code blocks useful.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;LED Example:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/1u1LZV6o6iY/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1u1LZV6o6iY?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/1u1LZV6o6iY?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Hexapod Example:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/9Z9RObSeuuE/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9Z9RObSeuuE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/9Z9RObSeuuE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Why?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;When we are debugging and testing our circuits and codings, most of the times we reset the Arduino board and upload the new program. But the thing is everything has a finite lifetime, and by doing harmful things to the body would even reduce life quicker.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Just like smoking could kill you, repetitively uploading could kill your arduino too! I still remember I read from somewhere, and someone said an Arduino board has an average uploading limit of about 1000 times... I don't know if this is true, but if we could avoid doing something that could harm the arduino, then why not?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;So here we are, I was looking for a way to test and develop new moves and gaits for my hexapod robot. But frequently uploading new codes really cost me time and risking killing the arduino, so I thought it would be nice to test it just by sending the arduino a command through USB connection (Serial communication), therefore the possibility of&amp;nbsp;program&amp;nbsp;uploading could be minimized.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;This is also useful when we use bluetooth to control arduino.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;How?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Arduino has already provided a serial communication class, and there are built in examples of how to use them. Here is the official doc:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;a href="http://arduino.cc/en/Reference/Serial"&gt;http://arduino.cc/en/Reference/Serial&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;I will first try to establish a basic class and working Arduino program in the Arduino development IDE, and then move on to write a VB program to provide better and more user friendly interface. I will also publish my source code in the near future.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;=======================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;1/1/2012&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Happy new year!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;I will divide this tutorial into 2 sections: Receiver and Sender ends.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 16px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;u&gt;Receiver side coding:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;So the command I designed would look like this.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;MxPxDx/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;x - arbitrary number&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;M - mode (0 - write, 1 - read, 2 - servo control)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;P - pin (0 - 13), or servo number (specified in arduino program)&lt;/div&gt;&lt;div&gt;D - data (0 - LOW, 1 - HIGH, or (600 to 2400) - servo position)&lt;/div&gt;&lt;div&gt;/ - indicate end of command (to execute)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;for example,&amp;nbsp;&lt;/div&gt;&lt;div&gt;M0P2D0/ - means to make pin 2 LOW&lt;/div&gt;&lt;div&gt;M2P1D900/ - means to make servo number 1 to 900 ms (1500 = 90 degree)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The idea is that the command get sent to the arduino as a array of charaters one by one, which has delay between each charaters.&amp;nbsp;&lt;/div&gt;&lt;div&gt;notice that the function&amp;nbsp;&lt;b&gt;Serial.read()&lt;/b&gt;&amp;nbsp;can only read one byte (one charater) at a time. So if you write something like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;a = Serial.read()&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;b = Serial.read()&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;you can get the first character, but the second one might not be read as it hasn't arrived at the serial receiving buffer yet.&lt;/div&gt;&lt;div&gt;So I use this statement:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;void loop(){&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (if (Serial.available() &amp;gt; 0) {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...&lt;b&gt;Read one byte and store in array...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...if the last character read was '/' then...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//...execute the command...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//... reset the command array, ...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...keep listening to serial port...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Serial.available()&lt;/b&gt;&amp;nbsp;indicates how many bytes are available to be read.&amp;nbsp;So the arduino just keeps running, and reads data when it becomes available and that's how commands are received. Here is how the command is decoded and executed:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. When I received a character 'M', I remember all the char after 'M', before I encounter 'P', and store that in variable 'mode'&lt;/div&gt;&lt;div&gt;2. same, store characters after 'P' and before 'D', in variable 'pin'&lt;/div&gt;&lt;div&gt;3. store characters before '/', in variable 'data'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then convert these char into int type (you can also do it during above process), by subtracting '0', which has an ASCII value of 48.&lt;/div&gt;&lt;div&gt;So now we have 3 variables, which is basically the commands. To execute the command, we can write something like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;switch (mode){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;digitalWrite(pin,data);&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...Read digital pin...&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ... Read analogue pin...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...Control Servo...&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ... set position, read position so on...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To execute read and servo commands, we will need more complicated coding, but that's roughly how it would work.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;Sender side Coding:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To use this serial command system, no coding is needed when using arduino serial monitor. just type in the command and it just works!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But that isn't even 5% of the amazing things it could achieve! If you could write a program and introduce graphical interface, controlling the arduino would be so intuitive and clear! also command can be sent more rapidly through computer programs, especially useful when testing robot moves, or LED lighting effects!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think the most popular choices for serial programming would be Python, C/C++, or Basic. I know C/C++ the best here, but the thing is C/C++ is not easy to write the graphical interface. So I went for Basic, which I realized its simplicity and fast&amp;nbsp;development&amp;nbsp;time. I spent 2 hours learning the basics, and got my program working 3,4 hours later. Surely most of us could do better.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the example video (the LED control program), when the ON/OFF button is pressed, it goes to a 'switch - case' statement, depending on what LED is selected, corresponding LED is switched on or off. The Display function is even easier. it sends out a command, delay for sometime, before sends out another one. So the LED flashes and creates some kind of fabulous visual effect.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's it for the basics. I will carry on completing the code, especially the servo control for my hexapod robot. Finally will put it in a header file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;=====================================================&lt;br /&gt;02/01/2012&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Servo Control coding:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Receiver Side (arduino):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;command example:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;M2P0D1500/&amp;nbsp;&lt;/b&gt;&amp;nbsp; &amp;nbsp; --------- &amp;nbsp;&amp;nbsp;set servo number 1 to middle position (1500 ms).&lt;br /&gt;&lt;br /&gt;This command works the best with my way of updating servos' positions (described &lt;a href="http://arduin0.blogspot.com/2011/12/quadruped-robot-project-stalker.html"&gt;here&lt;/a&gt;, search for "&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;26/12/2011" update. )&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;Basically what it does is, there is a variable for the position of each servo, when command is received and executed, the variable will be updated rather than writing the servo position straight away. The position is only written at the end of the loop process (or when the timer has reach certain point if you want delay).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;for example:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;void loop(){&lt;br /&gt;&lt;br /&gt;&amp;nbsp; // ... command receiving&lt;br /&gt;&amp;nbsp; // ... command executing (update servo position and store in variable 'pos')&lt;br /&gt;&lt;br /&gt;&amp;nbsp; servo.writeMicroseconds(pos);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #fefdfa; color: #333333; font-family: Tahoma; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;So in the execution coding block, we add:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&amp;nbsp;// ============ Execute command ======&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (mode){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(pin,data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalRead(pin);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (pin){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos0 = data; //&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //pos1 = data;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //pos2 = data;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Tahoma; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;Sender side:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;When we are testing using arduino serial monitor, no coding is needed.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;In VB (basic), it's best to use track bar.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.c-sharpcorner.com/UploadFile/mahesh/trackbar-in-C-Sharp/Images/TrackBarImg1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.c-sharpcorner.com/UploadFile/mahesh/trackbar-in-C-Sharp/Images/TrackBarImg1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Create events when trackbar is scrolled, this is an example&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;TrackBar1_Scroll(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;sender&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;System.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2b91af; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;e&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;System.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2b91af; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;EventArgs&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Handles&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;TrackBar1.Scroll&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;valueInStr&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;CStr&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;(TrackBar1.Value)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;command&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"M2P0D"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;+ valueInStr +&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"/"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SerialPort1.Write(command)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LB_ServoPos.Text = valueInStr&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Threading.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2b91af; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Thread&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;.Sleep(100)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;it works when you only have one servo, if there are more servos need to be deal with, has to write more codes to determine 'P' (which servo to control).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;================================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;03/01/2012&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Tested the serial command system, one big drawback is that between each command, the delay is quite obvious. When I intend to move 2 servo positions at the at same, one servo is actually moving before the other.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;That's because it uses this algorithm:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;(waiting and listening to USB) ---&amp;gt; (receive command 1) --&amp;gt; (Execute command 1) --&amp;gt;&amp;nbsp;(waiting and listening to USB) ---&amp;gt; &amp;nbsp;&amp;nbsp;(receive command 2) ---&amp;gt;&amp;nbsp;(Execute command 2) ---&amp;gt;.......&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Although command 1 and 2 are intended to be executed at the same time (sent at the same time), there will be a delay.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;I re-consider the system, decided to fix this&amp;nbsp;synchronization&amp;nbsp;problem by adding an additional command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;SxCa...SyCb/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;which contains all the servos and changes of position&amp;nbsp;at the same time, and execute them all together, so delay could be reduced between servo moves.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;The length of this command is indefinite, but can be determined by how many servos wants to be controlled. E.g. max length of command = (1+2+1+4)*number of servos&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;assuming we control 18 servos at most, the command buffer length would be 8*18 = 144 (this can be modified easily when needed)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;for example:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;S0C-200S4C600/ &amp;nbsp; &amp;nbsp;--- would turn Servo 0 backward 200us, Servo 4 forward 600us.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;You might notice, when 2 or more servos are moved at the same time, if the changes of positions are different, it will also result in a different duration (where some servo reach destination faster than others).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;To address this, I added one more string of data at the end of the new command,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Lxxx,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;which means Loops, or steps, required to finish transition. So ideally, when we have a command like the example above, "S0C-200S4C600L50/" &amp;nbsp; &amp;nbsp;Servo 0 will have to spend 50 loops in the arduino program to finish the transition, which divides servo 0 to move -4 each loop, and servo 4 to move 12.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;You might think it's unnecessary, but one big good thing it brings is smoothness! let image you want to change a servo position from 1500 to 800, you could do it at once (within 1 loop), but it introduces&amp;nbsp;instability&amp;nbsp;to your robot and circuit (draw of current). Also when motion gets too big, it won't look pretty. with additional loop control, big motion can be broken down into small,&amp;nbsp;digestible pieces.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Now we have the final template servo command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;SxCa...SyCbLc/&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;--------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;As we have a new command, additional algorithm in the arduino programm will be needed to code with it. What I will do is:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;1. create a function that generate a new position for each servo at each loop.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;2. make arduino to talk back! Sending the computer a signal, when we have complete a command, and available for another one. (so we can have a collection of commands waiting on the PC side, and are sent when arduino finishes the last one)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;====================================================&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;05/01/2012&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;This will be the final update on this topic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;new idea of the&amp;nbsp;command&amp;nbsp;analysis process:&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lfuNk-OUJAU/TwosiBTDHlI/AAAAAAAAAPk/_x1jl4cIoto/s1600/080120121360.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-lfuNk-OUJAU/TwosiBTDHlI/AAAAAAAAAPk/_x1jl4cIoto/s400/080120121360.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;first of all we need to have a fixed length of command, by making unused its zero, and use '1' to represent negative in servo command e.g.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;M00P05D0235/ &amp;nbsp; --- write pin 5 a&amp;nbsp;PWM&amp;nbsp;value of&amp;nbsp;235&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;S10C00300S02C10700L0100/ &amp;nbsp; --- &amp;nbsp;turn servo 10 300um, turn servo 2 -700um after 100loops&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;in which case, instead of having a switch, we can now just loop through the command buffer char by char, to store the variables and data.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;I want to do this is because&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;1. cleaner code block&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;2. less likely to have bug.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;3. commands are easier to handle when have fixed length.&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;==============================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: large;"&gt;&lt;b&gt;Source Code:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;VB (visual basic) program&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;b&gt;and command files&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; orphans: 2; text-indent: 0px; widows: 2;"&gt;http://dl.dropbox.com/u/457167/Hexapod%20Controller.rar&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; orphans: 2; text-indent: 0px; widows: 2;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Arduino Main program:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// Oscar's Project&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;#include&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;lt;Servo.h&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;#include&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"serial_command.h"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ========== Position Table ===========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;SerialCommand command;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ========= Servo ===================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// 12 servos&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// first 6 - legs &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: green; font-size: 12px;"&gt;&amp;nbsp;last 6 - sholders&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;Servo servo[12];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;servoPos[12];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ========== Pins ============&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// first 6 legs, last 6 sholder&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;const&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;byte pin[12] = {8,9,10,11,12,13,2,3,4,5,6,7};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;setup()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Serial.begin(9600);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// == Setup Servos ==&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;12; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servo[i].attach(pin[i]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos[i] = 1400;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servo[i].writeMicroseconds(servoPos[i]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay(100);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay(2000);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command.Reset();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;loop()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command.ReceiveCommand()){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command.DecodeCommand()){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command.ExecuteCommand()) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;curPos=0; curPos&amp;lt;command.loops; curPos++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;12; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// UPDATE POSITIONS&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos[i] += command.servoPosAdjust[i];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos[i] = constrain(servoPos[i], 600, 2400);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// WRITE POSITIONS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servo[i].writeMicroseconds(servoPos[i]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay(40);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// Finish, send signal to PC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Serial.write(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'1'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Serial.println(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"execution failed"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// execution failed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Serial.println(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"decoding failed"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// decoding failed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;//if (command.executed &amp;amp;&amp;amp; command.listening)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command.Reset();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;Command class:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;#include&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"WProgram.h"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;SerialCommand{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;const&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;MAX_SERVO_NUM = 18;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;const&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;SINGLE_COMMAND_LENGTH = 3+5;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;const&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;MAX_COMMAND_LENGTH = MAX_SERVO_NUM * SINGLE_COMMAND_LENGTH + 5;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;index;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;command[MAX_COMMAND_LENGTH];&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// longest command is 12 char long&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean executed;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// true - ready for new command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean listening;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// true - recieved part of the command but not '/' yet&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// false - still listening to command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;pin;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// pin number, OR servo number&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;mode;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// 0 - write, 1 - read, 2 - servo control&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;data;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// Servo data&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;loops;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;servoPos[MAX_SERVO_NUM];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;servoPos_LastUpdated;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;servoPosChange[MAX_SERVO_NUM];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;servoPosAdjust[MAX_SERVO_NUM];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ============ Functions ===============&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;GetSerialByte();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;Char2Int(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;char&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;chr);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SerialCommand();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;Reset();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean ReceiveCommand();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean DecodeCommand();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean ExecuteCommand();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: Consolas;"&gt;&lt;span style="font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;#include&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;"serial_command.h"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;SerialCommand::SerialCommand(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos_LastUpdated = 1500;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;MAX_SERVO_NUM; i++)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos[i] = 1500;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// longest command is 12 char long&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reset();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;SerialCommand::GetSerialByte(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;Serial.read();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;SerialCommand::Char2Int(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;char&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;chr) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;((chr &amp;lt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'0'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;) || (chr &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'9'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;-1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;chr -&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'0'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// =========================================================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ===================== Main functions ====================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// =========================================================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;boolean SerialCommand::ReceiveCommand(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(Serial.available() &amp;gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// determine&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(index &amp;gt;= MAX_COMMAND_LENGTH)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// Receiving&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command[index] = GetSerialByte();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listening =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[index] ==&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'/'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listening =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// no signal available&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="color: #010101;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;boolean SerialCommand::DecodeCommand(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[index] !=&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'/'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean negative =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;indexCur = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// Decoding&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// differentiate type of command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[indexCur] ==&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'M'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// pin mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ... more code...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[indexCur] ==&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'S'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// servo mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;while&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(indexCur &amp;lt; index) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;tempServoNum = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;tempServoPos = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// extracting servo number (2 integers)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;2; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp = Char2Int(command[indexCur]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(temp &amp;lt; 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempServoNum = tempServoNum*10 + temp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// extracting pos number&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[indexCur] !=&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'C'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean negative = Char2Int(command[indexCur]);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;4; i++) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp = Char2Int(command[indexCur]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(temp &amp;lt; 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempServoPos = tempServoPos*10 + temp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(negative) tempServoPos = -tempServoPos;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPosChange[tempServoNum] = tempServoPos;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// extracting loop number&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(command[indexCur] ==&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;'L'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loops = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;4; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;temp = Char2Int(command[indexCur]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(temp &amp;lt; 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loops = loops*10 + temp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;MAX_SERVO_NUM; i++)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPosAdjust[i] = (&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)servoPosChange[i]/(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;)loops;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexCur++;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// end of while indexCur &amp;lt; index&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// end of if 'S'&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// unknown command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ... more code...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;boolean SerialCommand::ExecuteCommand(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;/*&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ((pin &amp;lt; 0) || (mode &amp;lt; 0) || (data &amp;lt; 0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;switch&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(mode){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;case&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;0:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// do noting.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;break&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;case&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;1:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ... more code...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(pin,data);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;break&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;case&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;2:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ... more code...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalRead(pin);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;break&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;case&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;3:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// ... more code...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos[pin] = data;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPos_LastUpdated = data;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;break&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executed =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;SerialCommand::Reset(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;// initialize variables and parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executed =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listening =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;//loops = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pin = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;MAX_COMMAND_LENGTH; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command[i] = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;i=0; i&amp;lt;MAX_SERVO_NUM; i++){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPosChange[i] = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;servoPosAdjust[i] = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color: #010101; font-family: 'Times New Roman'; font-size: xx-small;"&gt;&lt;span style="font-size: 9pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-6037566758721509310?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/6037566758721509310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/6037566758721509310'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/01/control-arduino-through-serial.html' title='Control Arduino Through Serial Connection (USB) VB Visual Basic program'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-lfuNk-OUJAU/TwosiBTDHlI/AAAAAAAAAPk/_x1jl4cIoto/s72-c/080120121360.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-1672790584879497619</id><published>2012-01-01T12:50:00.000Z</published><updated>2012-01-16T01:18:26.924Z</updated><title type='text'>Hexapod Robot with 2 DOF legs (degree of freedom)</title><content type='html'>First Motion, Legs flexibility:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/9ADLwx-jYpQ/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9ADLwx-jYpQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/9ADLwx-jYpQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;stalker is dead... but the body and components are preserved well, so I decided to reuse them and therefore Mini is born.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;Lastest update (12/01/2012)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/pMg3WCWFniE/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pMg3WCWFniE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/pMg3WCWFniE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;===================================================================&lt;br /&gt;31/12/2011&lt;br /&gt;&lt;br /&gt;I just love working with Styrene plastic when building small robots... so flexible and shapable!&lt;br /&gt;&lt;br /&gt;although it could take a while to cut and get good at it, but it's definitely a very good choice for people with small budget!&lt;br /&gt;&lt;br /&gt;Here is a very good site selling them, it's the cheapest I have found so far (let me know if you know anywhere else cheaper ; )&lt;br /&gt;&lt;a href="http://www.stationroadbaseboards.co.uk/cart_plastic.htm?tp=CONTINUE+SHOPPING"&gt;Styrene Sheet (Plasticard) from Station Road Baseboards)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this one, I basically reused all the servos and parts from &lt;a href="http://arduin0.blogspot.com/2011/12/quadruped-robot-project-stalker.html"&gt;the Stalker&lt;/a&gt;, the only things I need to rebuild was the base and the legs..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JA6D4FC_eJY/TwBWEzH8maI/AAAAAAAAAOw/uwpZeziODvY/s1600/311220111352.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-JA6D4FC_eJY/TwBWEzH8maI/AAAAAAAAAOw/uwpZeziODvY/s400/311220111352.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-T0Pk2AleJqo/TwBWF8iCHoI/AAAAAAAAAO4/6blqeMFwa_A/s1600/311220111353.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-T0Pk2AleJqo/TwBWF8iCHoI/AAAAAAAAAO4/6blqeMFwa_A/s400/311220111353.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KVjqHhba8c8/TwBWHIfvyLI/AAAAAAAAAPA/MEavsREIJ2g/s1600/311220111354.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-KVjqHhba8c8/TwBWHIfvyLI/AAAAAAAAAPA/MEavsREIJ2g/s400/311220111354.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-OV-mXbKwaC8/TwBWIwcKNxI/AAAAAAAAAPI/Cyu9nJY77NM/s1600/311220111355.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-OV-mXbKwaC8/TwBWIwcKNxI/AAAAAAAAAPI/Cyu9nJY77NM/s400/311220111355.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o7RT70l_N58/TwBWMPq4g-I/AAAAAAAAAPY/lXqwp9yzX8o/s1600/311220111357.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-o7RT70l_N58/TwBWMPq4g-I/AAAAAAAAAPY/lXqwp9yzX8o/s400/311220111357.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I hope I can work out some more gaits and moves soon and get it uploaded on youtube.&lt;br /&gt;In the mean time, I will be working on the serial communication program to talk to the robot from the PC ; )&lt;br /&gt;&lt;br /&gt;Ciao!&lt;br /&gt;&lt;br /&gt;==================================================&lt;br /&gt;07/01/2012&lt;br /&gt;&lt;br /&gt;Mini can be now controlled by a VB program via USB connection, check here&lt;br /&gt;&lt;a href="http://arduin0.blogspot.com/2012/01/control-arduino-through-serial.html"&gt;http://arduin0.blogspot.com/2012/01/control-arduino-through-serial.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/9Z9RObSeuuE/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9Z9RObSeuuE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/9Z9RObSeuuE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==================================================&lt;br /&gt;11/01/2012&lt;br /&gt;&lt;br /&gt;further modification to the leg:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-FkFkovS21ts/TxN547hubYI/AAAAAAAAAQE/nfT45zWGsko/s1600/120120121362.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-FkFkovS21ts/TxN547hubYI/AAAAAAAAAQE/nfT45zWGsko/s400/120120121362.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-v1zTXrz_Jtk/TxN55rPfxLI/AAAAAAAAAQM/17hAVkOCHiA/s1600/120120121363.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-v1zTXrz_Jtk/TxN55rPfxLI/AAAAAAAAAQM/17hAVkOCHiA/s400/120120121363.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GEJLQyBCpxI/TxN560oYtlI/AAAAAAAAAQU/A37_vBGIW14/s1600/130120121364.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-GEJLQyBCpxI/TxN560oYtlI/AAAAAAAAAQU/A37_vBGIW14/s400/130120121364.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;it's now more stable as the legs are tougher and lighter, more importantly it looks cooler!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;====================================================&lt;br /&gt;12/01/2012&lt;br /&gt;&lt;br /&gt;Wrote a few more commands files today, works quite well ; )&lt;br /&gt;&lt;br /&gt;See 2nd video from the top.&lt;br /&gt;&lt;br /&gt;That's it! no more 2DOF hexpad, I will modify it into 3DOF per leg, and start to think about IK and trigonometry!&lt;br /&gt;&lt;br /&gt;Sayonara!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-1672790584879497619?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/1672790584879497619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/1672790584879497619'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2012/01/hexapod-robot-with-2-dof-legs-degree-of.html' title='Hexapod Robot with 2 DOF legs (degree of freedom)'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-JA6D4FC_eJY/TwBWEzH8maI/AAAAAAAAAOw/uwpZeziODvY/s72-c/311220111352.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-2904950827003359818</id><published>2011-12-27T03:16:00.000Z</published><updated>2011-12-27T14:31:36.704Z</updated><title type='text'>How to use Ultra Sonic sensor (HC-SR04), demonstration with LCD.</title><content type='html'>&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;Result:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/DBvPIfl9gTQ/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DBvPIfl9gTQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/DBvPIfl9gTQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;the HC-SR04 is different from most of those commonly seen on the market, which have 4 pins compared to 3 pins. But the operation principle is the same, transmit signal, and depends on when the signal is received to estimate the distance.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;HC-SR04 not only inexpensive but also practical, use a sample AVR development boar –Arduino , with a LCD screen , you can make a easy rangefinder device , which can ranging 2cm to 400cm . (although i couldn't get it work more than 2 meters :-( &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Please don't ask me how to use LCD, as it's been explained really well on the Arduino official site, please check here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;a href="http://arduino.cc/en/Tutorial/LiquidCrystal"&gt;http://arduino.cc/en/Tutorial/LiquidCrystal&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Now first connect the circuit as below :&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-khtS5HKfNpk/Tvk3kWeB-mI/AAAAAAAAANc/qAVI-NASTq0/s1600/Image.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://3.bp.blogspot.com/-khtS5HKfNpk/Tvk3kWeB-mI/AAAAAAAAANc/qAVI-NASTq0/s320/Image.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Physical wiring:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bsitXrOJVog/Tvk3ib4jY8I/AAAAAAAAANQ/64BDlc_ZDhE/s1600/271220111333.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-bsitXrOJVog/Tvk3ib4jY8I/AAAAAAAAANQ/64BDlc_ZDhE/s320/271220111333.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-f9UQtXWRju4/Tvk3jwi3-zI/AAAAAAAAANY/yB6dSuCcNHM/s1600/271220111334.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-f9UQtXWRju4/Tvk3jwi3-zI/AAAAAAAAANY/yB6dSuCcNHM/s320/271220111334.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Download the code below :&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: #f9f9f9; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: auto; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 738px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 2px; padding-left: 4px; padding-right: 4px; padding-top: 2px; vertical-align: top;"&gt;&lt;pre style="clear: none; float: none; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: auto;"&gt;&lt;span class="Apple-style-span" style="color: #339933;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 15px;"&gt;#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;&lt;br /&gt;LiquidCrystal lcd(8, 7, 6, 5, 4, 3, 2);&lt;br /&gt;&lt;br /&gt;int pingPin = 13;&lt;br /&gt;int inPin = 12;&lt;br /&gt; &lt;br /&gt;void setup() {&lt;br /&gt;  &lt;br /&gt;  // set up the LCD's number of columns and rows: &lt;br /&gt;  lcd.begin(16, 2);&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;void loop(){&lt;br /&gt;  // establish variables for duration of the ping,&lt;br /&gt;  // and the distance result in inches and centimeters:&lt;br /&gt;  long duration, inches, cm;&lt;br /&gt; &lt;br /&gt;  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.&lt;br /&gt;  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:&lt;br /&gt;  pinMode(pingPin, OUTPUT);&lt;br /&gt;  digitalWrite(pingPin, LOW);&lt;br /&gt;  delayMicroseconds(2);&lt;br /&gt;  digitalWrite(pingPin, HIGH);&lt;br /&gt;  delayMicroseconds(10);&lt;br /&gt;  digitalWrite(pingPin, LOW);&lt;br /&gt; &lt;br /&gt;  // The same pin is used to read the signal from the PING))): a HIGH&lt;br /&gt;  // pulse whose duration is the time (in microseconds) from the sending&lt;br /&gt;  // of the ping to the reception of its echo off of an object.&lt;br /&gt;  pinMode(inPin, INPUT);&lt;br /&gt;  duration = pulseIn(inPin, HIGH);&lt;br /&gt; &lt;br /&gt;  // convert the time into a human readable distance&lt;br /&gt;  cm = microsecondsToCentimeters(duration);&lt;br /&gt;  &lt;br /&gt;  // if distance is too large (probably not being measured properly)&lt;br /&gt;  // will discard the result.&lt;br /&gt;  if (cm &amp;gt; 400){&lt;br /&gt;    lcd.clear();&lt;br /&gt;    lcd.setCursor(0,0);&lt;br /&gt;    lcd.print("Nothing detected");&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  else {&lt;br /&gt;  &lt;br /&gt;  // clear lcd content&lt;br /&gt;  lcd.clear();&lt;br /&gt;  // set the cursor to column 0, line 0&lt;br /&gt;  // (note: line 1 is the second row, since counting begins with 0):&lt;br /&gt;  lcd.setCursor(0, 0);&lt;br /&gt;  lcd.print("Object detected ");&lt;br /&gt;  lcd.setCursor(0, 1);&lt;br /&gt;  lcd.print(cm);&lt;br /&gt;  lcd.print("cm away!");&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  delay(500);&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;long microsecondsToInches(long microseconds){&lt;br /&gt;  // According to Parallax's datasheet for the PING))), there are&lt;br /&gt;  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per&lt;br /&gt;  // second).  This gives the distance travelled by the ping, outbound&lt;br /&gt;  // and return, so we divide by 2 to get the distance of the obstacle.&lt;br /&gt;  return microseconds / 74 / 2;}&lt;br /&gt; &lt;br /&gt;long microsecondsToCentimeters(long microseconds){&lt;br /&gt;  // The speed of sound is 340 m/s or 29 microseconds per centimeter.&lt;br /&gt;  // The ping travels out and back, so to find the distance of the&lt;br /&gt;  // object we take half of the distance travelled.&lt;br /&gt;  return microseconds / 29 / 2;}&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 1.333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #339933;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Reset the Arduino , then you can see the distance of object in front on the LCD.&lt;/div&gt;&lt;div style="font-size: 12px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XzxjitfWKtY/Tvk3gbI4ZnI/AAAAAAAAANI/kQF_Md4xWOQ/s1600/271220111329.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-XzxjitfWKtY/Tvk3gbI4ZnI/AAAAAAAAANI/kQF_Md4xWOQ/s320/271220111329.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="display: block; height: 52px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="clear: both; display: block; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;ul style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial initial; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; clear: both; float: left; list-style-image: initial; list-style-position: outside; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 738px;"&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: url(http://iteadstudio.com/wp-content/uploads/shareaholic/spritegen/sprite.png); background-origin: initial; background-position: -51px -204px; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; clear: none; cursor: pointer; display: inline; float: left; height: 29px; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: none; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 1.2em; width: 60px;"&gt;&lt;a href="http://www.shareaholic.com/api/share/?title=Arduino+Ultrasonic+Ranging+With+HC-SR04&amp;amp;link=http%3A%2F%2Fiteadstudio.com%2Fapplication-note%2Farduino-ultrasonic-ranging-with-hc-sr04%2F&amp;amp;notes=HC-SR04%2520not%2520only%2520inexpensive%2520but%2520also%2520practical%252C%2520use%2520a%2520sample%2520AVR%2520development%2520boar%2520--Arduino%2520%252C%2520with%2520a%2520LCD%2520screen%2520%252C%2520you%2520can%2520make%2520a%2520easy%2520rangefinder%2520device%2520%252C%2520which%2520can%2520ranging%25202cm%2520to%2520500cm%2520.%250D%250A%250D%250ANow%2520first%2520connect%2520the%2520circuit%2520as%2520below%2520%253A%250D%250A%250D%250AWith%2520module%2520%253A%2520pin13%2520to%2520Trig%2520%253B%2520pin%252012%2520to%2520Echo%2520%253B%2520VCC%2520to%2520VCC%253B%2520GND%2520t&amp;amp;short_link=&amp;amp;shortener=google&amp;amp;shortener_key=&amp;amp;v=1&amp;amp;apitype=1&amp;amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;amp;source=Shareaholic-Publishers&amp;amp;template=&amp;amp;service=40&amp;amp;ctype=" rel="nofollow" shape="rect" style="background-color: transparent; border-bottom-left-radius: 5px 5px; border-bottom-right-radius: 5px 5px; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; border-top-style: none; border-top-width: 0px; color: #0fade5; display: block; font-size: 12px; height: 29px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 3px; padding-right: 3px; padding-top: 1px; text-decoration: none; text-indent: -9999px; width: 60px;" target="_blank"&gt;Add to Reddit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-2904950827003359818?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/2904950827003359818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/2904950827003359818'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2011/12/result-hc-sr04-is-different-from-most.html' title='How to use Ultra Sonic sensor (HC-SR04), demonstration with LCD.'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-khtS5HKfNpk/Tvk3kWeB-mI/AAAAAAAAANc/qAVI-NASTq0/s72-c/Image.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-7544073848425364533</id><published>2011-12-21T14:07:00.000Z</published><updated>2012-01-01T01:55:30.540Z</updated><title type='text'>"Stalker" -- Quadruped Robot Project</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-yoh6NJfh2jM/TvHXKTPusmI/AAAAAAAAAKg/tMnwsSl1BEU/s1600/stalkers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-yoh6NJfh2jM/TvHXKTPusmI/AAAAAAAAAKg/tMnwsSl1BEU/s640/stalkers.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Quadruped Robot Project -- The Stalker&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Inspired by the fighting unit "Stalker" in Starcraft.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;What I need:&lt;br /&gt;&lt;br /&gt;1. Arduino Mega&lt;br /&gt;2. 12 - 14 Servos&lt;br /&gt;3. Wii Nunchuck controller&lt;br /&gt;4. IR sensor or Ultra sonic sensor&lt;br /&gt;5. a few styrene sheet (skeleton)&lt;br /&gt;6. 4xAA batteries&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;Plan:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;1. design the skeleton of the robot, build with styrene plastic sheet.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;2. Build a single leg with 3 servos, and write a class for single-leg motion.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;3. figure out a way to control the leg (probably using buttons) without reprogramming it every time.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;4. Assembly the whole thing.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;-------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;5. learn how to use a Wii Nunchuck.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;6. use it on the Stalker.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;-------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;7. learn how to use wireless module, and use it on Wii Nunchuck controller. (probably need a extra Arduino to be the transmitter)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;8. use it on the Stalker.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;-------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma; text-align: -webkit-auto;"&gt;9. IR/ Ultra-Sonic automation&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;========================================================================&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;b&gt;1. Design of the Skeleton&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Body&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-MjfI33eO9WI/TvIFXEHTgWI/AAAAAAAAAKs/2o4IXxHskG0/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="http://1.bp.blogspot.com/-MjfI33eO9WI/TvIFXEHTgWI/AAAAAAAAAKs/2o4IXxHskG0/s320/1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Legs&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-f1FqxqUFiqc/TvIFWbICTaI/AAAAAAAAAKo/E8cLFHaMwac/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-f1FqxqUFiqc/TvIFWbICTaI/AAAAAAAAAKo/E8cLFHaMwac/s400/3.png" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Hips&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gZbUUTZ8-P0/TvIFXdKDxYI/AAAAAAAAAK0/wXCWb6L9XA8/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-gZbUUTZ8-P0/TvIFXdKDxYI/AAAAAAAAAK0/wXCWb6L9XA8/s400/2.png" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-84kVeTqNY2E/TvOG-D7wG1I/AAAAAAAAALE/jw57-GvAipQ/s1600/211220111312.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-84kVeTqNY2E/TvOG-D7wG1I/AAAAAAAAALE/jw57-GvAipQ/s320/211220111312.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xKPSqjKopLE/TvOG_p9kT_I/AAAAAAAAALM/Wv_zXzOlVuU/s1600/221220111313.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-xKPSqjKopLE/TvOG_p9kT_I/AAAAAAAAALM/Wv_zXzOlVuU/s320/221220111313.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hgdRjj27Lhw/TvOHAjTGufI/AAAAAAAAALU/i6ZI-O0HtN8/s1600/221220111314.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-hgdRjj27Lhw/TvOHAjTGufI/AAAAAAAAALU/i6ZI-O0HtN8/s320/221220111314.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Single leg Test:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/xwiyaKrDxvU/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xwiyaKrDxvU?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/xwiyaKrDxvU?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma;"&gt;===================================================&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;24/12/2011&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And here we have all the legs and the base:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-STdnUUlh8Cc/TvOHB-xOM5I/AAAAAAAAALc/2gKA7FPh-Uk/s1600/221220111315.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-STdnUUlh8Cc/TvOHB-xOM5I/AAAAAAAAALc/2gKA7FPh-Uk/s320/221220111315.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dT9S7j_Df58/TvZqhCu96_I/AAAAAAAAALo/5TcP1MSVUkQ/s1600/241220111318.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-dT9S7j_Df58/TvZqhCu96_I/AAAAAAAAALo/5TcP1MSVUkQ/s320/241220111318.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-nbotb87t_8k/TvZqmTVVxVI/AAAAAAAAAL4/8ONQvH7mLVA/s1600/241220111321.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-nbotb87t_8k/TvZqmTVVxVI/AAAAAAAAAL4/8ONQvH7mLVA/s320/241220111321.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UE2k4DrIVFc/TvZqkpC2UbI/AAAAAAAAALw/ITuUUEjUehU/s1600/241220111320.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-UE2k4DrIVFc/TvZqkpC2UbI/AAAAAAAAALw/ITuUUEjUehU/s320/241220111320.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-F_3aV7EoY-0/TvZqpwCrG4I/AAAAAAAAAMA/Nru67JTUzSc/s1600/251220111322.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-F_3aV7EoY-0/TvZqpwCrG4I/AAAAAAAAAMA/Nru67JTUzSc/s320/251220111322.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now everything is ready, but the 'brain' of the stalker to arrive from China.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I will use UNO for testing and write some code in order to save time.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This one demonstrate the simplest thing it can do, "breathing":&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/3G4jC_pp9J0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3G4jC_pp9J0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/3G4jC_pp9J0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This uses sine wave multiplying factors:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QWtU16QURPw/TvkZjaVhw_I/AAAAAAAAAMU/4dq5tkUcol8/s1600/271220111325.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-QWtU16QURPw/TvkZjaVhw_I/AAAAAAAAAMU/4dq5tkUcol8/s640/271220111325.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-sOW1QS1ooVM/TvkZkTBW0CI/AAAAAAAAAMc/Kgr1E39n-ws/s1600/271220111326.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-sOW1QS1ooVM/TvkZkTBW0CI/AAAAAAAAAMc/Kgr1E39n-ws/s640/271220111326.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;realise the increase of the leg angles has to be proportional to the hip position. (first order derivative?)&lt;br /&gt;To calculate the angles that the servo needs to turn, we can do calculation shown below, and it's got a fancy name "inverse kinematics" (that's only the basic of the theory, need to dig deeper when developing the gaits)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ENkS025ImP0/TvkbuYXpblI/AAAAAAAAAMo/7BKvFDEl1nA/s1600/271220111328.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-ENkS025ImP0/TvkbuYXpblI/AAAAAAAAAMo/7BKvFDEl1nA/s400/271220111328.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9OJSrpxUDxY/Tvkb9se0e_I/AAAAAAAAAM8/J2cKthd7aLc/s1600/271220111327.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-9OJSrpxUDxY/Tvkb9se0e_I/AAAAAAAAAM8/J2cKthd7aLc/s640/271220111327.jpg" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="font-family: Tahoma;"&gt;Code template so far:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;void setup(){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate parameters;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attach servos;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate position;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update position;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay;&lt;br /&gt;&lt;br /&gt;}&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;===================================================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;26/12/2011&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;So the stalker are currently being controlled by UNO, only the legs and hips servos are used (8 in total).&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;It works with the "Breathing" coding. But it has a very very obvious disadvantage: The servos are not powerful enough (as they are only $3 each). Well, that's a great lesson to learn. Also, the plastic legs and base isn't strong enough as it kind of bends and shakes a bit when it's moving. One thing I can do is to weld some more plastic pieces to back it up.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;However, occasionally when I send out varying PWM signals (trying to change the positions), the legs just folder up, and stopped moving.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;When I disconnected at least 4 servos, and re-uploading the code, everything seems to be normal again. I am wondering if that's something to do with the timers. Let's have a look at how to control multiple servos with timers:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;h&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://arduino.cc/forum/index.php/topic,10666.0.html"&gt;ttp://arduino.cc/forum/index.php/topic,10666.0.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;Maybe I should write my own servo lib to make them more effiicient, and workable.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;Also, to move servo position, i should probably compute all the values (positions) and store in an array, and drive the servos from data.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;Some tips about updating the positions of servo: don't use delay as it is a block execution, but milli(), to keep track of past time, so loop can still continue and do other stuff.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Tahoma;"&gt;===================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Tahoma;"&gt;27/12/2011&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="font-family: Tahoma;"&gt;This is the updated code template:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;parameters declaration;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate parameters;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate positions and store in array;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attach servos;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int curTime = millis()&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (curTime &amp;gt;= servoTime + servoDelay){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; servoTime = curTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update positions from array;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (curTime &amp;gt;= otherTime + otherDelay){&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do other things;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;26/12/2011&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;So the stalker are currently being controlled by UNO, only the legs and hips servos are used (8 in total).&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;It works with the "Breathing" coding. But it has a very very obvious disadvantage: The servos are not powerful enough. Well, that's a great lesson to learn. Also, the plastic legs and base isn't strong enough as it kind of bends and shakes a bit when it's moving. One thing I can do is to weld some more plastic pieces to back it up.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;However, occasionally when I send out varying PWM signals (trying to change the positions), the legs just folder up, and stopped moving.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;When I disconnected at least 4 servos, and re-uploading the code, everything seems to be normal again. I am wondering if that's something to do with the timers. Let's have a look at how to control multiple servos with timers:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;h&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://arduino.cc/forum/index.php/topic,10666.0.html"&gt;ttp://arduino.cc/forum/index.php/topic,10666.0.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;Maybe I should write my own servo lib to make them more effiicient, and workable.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;Also, to move servo position, i should probably compute all the values (positions) and store in an array, and drive the servos from data.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;Some tips about updating the positions of servo: don't use delay as it is a block execution, but milli(), to keep track of past time, so loop can still continue and do other stuff.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;parameters declaration;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate parameters;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculate positions and store in array;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attach servos;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int curTime = millis()&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (curTime &amp;gt;= servoTime + servoDelay){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; servoTime = curTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update position from array;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (curTime &amp;gt;= otherTime + otherDelay){&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do other things;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, realized that the servo is&amp;nbsp;definitely&amp;nbsp;&amp;nbsp;not strong enough. To do a gait smoothly, I will have to let the robot balance on only 3 legs. I have been thinking to get some more powerful servos, but they seem to be so expensive. If I was going to get some better ones, I will definitely need some with torque of 7kg/cm or above, but that would cost me £15 each at least!!! oh my gosh.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As it's turn out to be a cash burning project, I will first try to reduce the moment (physics) by reducing the distance of the force from the mass center, see if that would help balancing the body better. If not, I will get some new servos, and at the meantime look around for&amp;nbsp;aluminum legs and body. ; )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;done a bit of servo research:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;Hitec HS-5645 MG (£30)&lt;br /&gt;&lt;br /&gt;Dimensions (mm): 20.0 x 41.0 x 38.0&lt;br /&gt;Weight (grams): 60.0&lt;br /&gt;Speed (sec): 0.23&lt;br /&gt;Torque (Kg.cm): 10.30&lt;br /&gt;Ball Raced: Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;TowerPro Servo MG-995 (£10)&lt;br /&gt;&lt;br /&gt;Size: 40.6mm x 19.8mm x 37.8mm&lt;br /&gt;Weight: 62g&lt;br /&gt;Operating Speed: 0.13sec/60degree (6.0V) 0.17sec/60degree (4.8V)&lt;br /&gt;Stall torque:15.0kg/cm (6.0V) 13.kg/cm (4.8V)&lt;br /&gt;&lt;br /&gt;(But not a very good, accurate servo, in most cases, it overshoots, and not centering properly.&lt;br /&gt;&lt;br /&gt;see reviews for details:&lt;br /&gt;&lt;a href="http://www.rcgroups.com/forums/showthread.php?t=442171"&gt;http://www.rcgroups.com/forums/showthread.php?t=442171&lt;/a&gt;&lt;br /&gt;also this&lt;br /&gt;&lt;a href="http://www.rcuniverse.com/forum/m_8500712/anchors_8500712/mpage_1/key_/anchor/tm.htm#8500712"&gt;http://www.rcuniverse.com/forum/m_8500712/anchors_8500712/mpage_1/key_/anchor/tm.htm#8500712&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Tahoma;"&gt;&lt;br /&gt;Hitec - HS-645MG (£23)&lt;br /&gt;&lt;br /&gt;BearingSpeed (4.8V/6.0V):0.24 / 0.20Torque oz./in. (4.8V/6.0V):107 / 133&lt;br /&gt;Torque kg./cm. (4.8V/6.0V):8.0 / 10.0&lt;br /&gt;Size in Inches:1.59 x 0.77 x 1.48S&lt;br /&gt;ize in Millimeters:40.39 x 19.56 x 37.59&lt;br /&gt;Weight ounces:1.94Weight grams:55&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These three seem to be the reasonable ones. MG995 has good torque compared to the price, but with the reviews on the&amp;nbsp;Internet, as what people say "I would rather spend some more money on realiability now than saving a few quits, which will pay off in the long run".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I will probably go for the HS 645MG... asked one of the buyers on eBay, see if I can get a deal if I order a dozen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;===================================================&lt;br /&gt;30/12/2011&lt;br /&gt;&lt;br /&gt;So this is what i did to try to reduce the force on the servos when it's standing:&lt;br /&gt;1. shortened the legs, enhance strength of the legs.&lt;br /&gt;2. re-built body and brings legs closer to the center.&lt;br /&gt;3. made body with double layer plastic (was only single)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mgw0tOY0h6Y/Tv0OvnafFHI/AAAAAAAAANs/LWbGMDr1WAE/s1600/271220111335.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-mgw0tOY0h6Y/Tv0OvnafFHI/AAAAAAAAANs/LWbGMDr1WAE/s320/271220111335.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vokJx0INj1M/Tv0Owmz4eUI/AAAAAAAAAN0/yJhZ0g0HQDQ/s1600/281220111336.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-vokJx0INj1M/Tv0Owmz4eUI/AAAAAAAAAN0/yJhZ0g0HQDQ/s320/281220111336.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hRTRv_cGIGQ/Tv0O01f0FNI/AAAAAAAAAOU/Ghpau5YUqHQ/s1600/281220111340.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-hRTRv_cGIGQ/Tv0O01f0FNI/AAAAAAAAAOU/Ghpau5YUqHQ/s320/281220111340.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4miRMT-NKTY/Tv0O2NsgfTI/AAAAAAAAAOc/Bfy6qCqMX7s/s1600/281220111341.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-4miRMT-NKTY/Tv0O2NsgfTI/AAAAAAAAAOc/Bfy6qCqMX7s/s320/281220111341.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-y45GwcYBL34/Tv0O3XjZ9II/AAAAAAAAAOk/mt4BlbCxOwo/s1600/281220111342.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-y45GwcYBL34/Tv0O3XjZ9II/AAAAAAAAAOk/mt4BlbCxOwo/s320/281220111342.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I think it actually looks better personally, and the robot can do more moves without falling down and twitching as often. But still, the servos are just too weak and can't do the walking. It's so frustrating and I have decided to only focus on the coding and look for new servos and parts (possibly aluminium rather than plastic).&lt;br /&gt;&lt;br /&gt;This video is probably the last one I will upload showing the 9g Servos.... .v.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/eFHujFKcztI/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eFHujFKcztI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/eFHujFKcztI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;====================================================&lt;br /&gt;31/12/2011&lt;br /&gt;&lt;br /&gt;Update: decided to delay the purchase of new servos and the quadruped robot. will use 12 9g servos to build a hexapod first, and write a VB program to control arduino from the PC through serial port.&lt;br /&gt;&lt;br /&gt;I will write a new post about the lastest work soon.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2073270612133201407-7544073848425364533?l=arduin0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/7544073848425364533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2073270612133201407/posts/default/7544073848425364533'/><link rel='alternate' type='text/html' href='http://arduin0.blogspot.com/2011/12/quadruped-robot-project-stalker.html' title='&quot;Stalker&quot; -- Quadruped Robot Project'/><author><name>Oscar</name><uri>http://www.blogger.com/profile/14514071315020579956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-yoh6NJfh2jM/TvHXKTPusmI/AAAAAAAAAKg/tMnwsSl1BEU/s72-c/stalkers.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2073270612133201407.post-7064832122356789692</id><published>2011-12-20T02:32:00.000Z</published><updated>2011-12-23T19:10:06.777Z</updated><title type='text'>"Wally" -- IR Detection Robot enhanced version V2</title><content type='html'>&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Result:&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span id="goog_246937252"&gt;&lt;/span&gt;&lt;span id="goog_246937253"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/6w3N7RUM3C0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6w3N7RUM3C0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/6w3N7RUM3C0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;1. rebuild Tracking Head with Styrene plastic, to replace the cardboard one.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;2. introduced libraries for motor control, and IR sensor, to increase user-friendliness&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;3. improved object-following algorithm,&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&amp;nbsp;introduced "object-avoiding" as well.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;First Version of this robot:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://arduin0.blogspot.com/2011/12/i-will-update-functionality-of-this.html"&gt;http://arduin0.blogspot.com/2011/12/i-will-update-functionality-of-this.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's get rocking.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;1. My styrene plastic sheets finally arrived. So I re-built my tracking head!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xx1GlhtuKo4/Tu_yEPtLT9I/AAAAAAAAAJw/D7EzmP7un-s/s1600/201220111307.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-xx1GlhtuKo4/Tu_yEPtLT9I/AAAAAAAAAJw/D7EzmP7un-s/s320/201220111307.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;a href="http://4.bp.blogspot.com/-nkPf-kX0iLg/Tu_yC3l_YkI/AAAAAAAAAJo/lFWpIO2oaMs/s1600/201220111306.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-nkPf-kX0iLg/Tu_yC3l_YkI/AAAAAAAAAJo/lFWpIO2oaMs/s320/201220111306.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;a href="http://1.bp.blogspot.com/-LygJiDN7OmE/Tu_yGC4jauI/AAAAAAAAAJ4/xHwn4u4RNm4/s1600/201220111308.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-LygJiDN7OmE/Tu_yGC4jauI/AAAAAAAAAJ4/xHwn4u4RNm4/s320/201220111308.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;a href="http://3.bp.blogspot.com/-cBbd5Sk59eE/Tu_yHuB1ckI/AAAAAAAAAKA/cW9ajOzNRMs/s1600/201220111309.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-cBbd5Sk59eE/Tu_yHuB1ckI/AAAAAAAAAKA/cW9ajOzNRMs/s320/201220111309.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;2. introduced libraries for motor control, and IR sensor, to increase user-friendliness&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;Basically, the IR class simply the process of measuring the reflected IR when IR LEDs are turned on and off.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;The Motor driver class provide user friendly interface for user, so instruction of 'go forward', 'turn left' etc can be used directly instead of changing states of the inputs.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;3. improved object-following code,&amp;nbsp;introduced "object-avoiding" as well.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;b&gt;&lt;u&gt;Principles:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;object-following&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;switch on and off the IR very rapidly, to compare the difference. If the difference is larger than a minimum reading, means object is near the sensor, and it will compare the reading between up and down, left and right sensors, to adjust the position of the head until the readings are balanced. If the object is getting further, the car will move forward until the reading is within the stable range, and the same when it's getting too close.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;When the head turns to a certain angle horizontally, the body turns to that direction to help tracking the object. You might ask what happen if the object moves away when the body is turning? will it keep turning forever? The answer is yes, and i used a small trick here: &amp;nbsp;the head recovers to a default position when object is not detected.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;object-avoiding&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;In this function, only the left and right sensors are used. When nothing is detected, the car keeps going forward. if obstacle appears and only affecting one sensor, it will turn. If the obstacle is affecting both sensor (right at the front), the head will wave around and take readings at right and left side, then decide which way to turn. If still, readings are high, it will turn around and go back.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;// =============================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;// ============== Source Code ====================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;// =============================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;IR Sensor h file&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;span style="color: red; font-style: normal;"&gt;/*&lt;br /&gt;&lt;br /&gt;Oscar's project&lt;br /&gt;&lt;br /&gt;IR 4 position sensor&lt;br /&gt;&lt;br /&gt;12/12/2011&lt;br /&gt;decided add in servo control (from attach to actual control)&lt;br /&gt;&lt;br /&gt;11/12/2011&lt;br /&gt;this library is used to control a 4 position (up down left right) IR sensor,&lt;br /&gt;which contains both emitters and detectors.&lt;br /&gt;&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#ifndef WPROGRAM_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#define WPROGRAM_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#include "WProgram.h" &amp;nbsp;//standard types and constants of the Arduino language&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&amp;nbsp;IRSensor&amp;nbsp;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&lt;span style="color: teal;"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// Pins&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte irLEDPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte calON_LEDPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte calOFF_LEDPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte leftIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte rightIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte upIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte downIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// IR values&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;leftValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;rightValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;upValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;downValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: teal;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;leftValue&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;rightValue&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;upValue&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;downValue&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;distance&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// from 0 - 1000, the larger the closer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: teal;"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; IRSensor&lt;span style="color: green;"&gt;(&lt;/span&gt;byte _irLEDPin, byte _leftIRPin, byte _rightIRPin, byte _upIRPin, byte _downIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;ReadIR&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;IR Sensor cpp file:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;/*&lt;br /&gt;&lt;br /&gt;Oscar's project&lt;br /&gt;&lt;br /&gt;IR 4 position sensor&lt;br /&gt;&lt;br /&gt;this library is used to control a 4 position (up down left right) IR sensor,&lt;br /&gt;which contains both emitters and detectors.&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#include "IRSensor.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IRSensor&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;IRSensor&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;byte _irLEDPin, byte _leftIRPin, byte _rightIRPin, byte _upIRPin, byte _downIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// setup all parameters&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; irLEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_irLEDPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; leftIRPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_leftIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; rightIRPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_rightIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; upIRPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_upIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; downIRPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_downIRPin&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; calON_LEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;13&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; calOFF_LEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;12&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;irLEDPin, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;calON_LEDPin, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;calOFF_LEDPin, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;IRSensor&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;ReadIR&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;irLEDPin, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;10&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// total values&lt;/span&gt;&lt;br /&gt;&amp;nbsp; leftValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;leftIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; rightValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;rightIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; upValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;upIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; downValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;downIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;irLEDPin, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;10&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; leftValueBG&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;leftIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; rightValueBG&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;rightIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; upValueBG&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;upIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; downValueBG&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;analogRead&lt;span style="color: green;"&gt;(&lt;/span&gt;downIRPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; leftValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;leftValue&amp;nbsp;&lt;span style="color: #000040;"&gt;-&lt;/span&gt;&amp;nbsp;leftValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; rightValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;rightValue&amp;nbsp;&lt;span style="color: #000040;"&gt;-&lt;/span&gt;&amp;nbsp;rightValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; upValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;upValue&amp;nbsp;&lt;span style="color: #000040;"&gt;-&lt;/span&gt;&amp;nbsp;upValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; downValue&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;downValue&amp;nbsp;&lt;span style="color: #000040;"&gt;-&lt;/span&gt;&amp;nbsp;downValueBG&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; distance&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: green;"&gt;(&lt;/span&gt;leftValue&amp;nbsp;&lt;span style="color: #000040;"&gt;+&lt;/span&gt;&amp;nbsp;rightValue&amp;nbsp;&lt;span style="color: #000040;"&gt;+&lt;/span&gt;&amp;nbsp;upValue&amp;nbsp;&lt;span style="color: #000040;"&gt;+&lt;/span&gt;downValue&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: #000040;"&gt;/&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;4&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;Motor Control h file :&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="color: red; font-style: normal;"&gt;&lt;br /&gt;/*&lt;br /&gt;&lt;br /&gt;Oscar's project&lt;br /&gt;&lt;br /&gt;Motor Driver control Library&lt;br /&gt;&lt;br /&gt;This is used to simply motor operation,&lt;br /&gt;so easy commands such as 'forward, turn right' etc&lt;br /&gt;can be used to instruct robot what to do&lt;br /&gt;&lt;br /&gt;12/12/2011&lt;br /&gt;added basic instructions (directions), with duration as inputs&lt;br /&gt;&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#ifndef WPROGRAM_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#define WPROGRAM_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#include "WProgram.h" &amp;nbsp;//standard types and constants of the Arduino language&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&amp;nbsp;MotorControl&amp;nbsp;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&lt;span style="color: teal;"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; byte lcPin1&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// 1A&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; byte lcPin2&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// 2A&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; byte rcPin1&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// 4A&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; byte rcPin2&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;// 3A&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: teal;"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; MotorControl&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; MotorControl&lt;span style="color: green;"&gt;(&lt;/span&gt;byte _lcPin1, byte _lcPin2, byte _rcPin1, byte _rcPin2&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Forward&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Forward&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Backward&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Backward&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnLeft&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnLeft&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnRight&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnRight&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnLeftDish&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnLeftDish&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnRightDish&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;TurnRightDish&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;Brake&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Motor Control cpp file :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#include "MotorControl.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;MotorControl&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcPin1&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;2&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcPin2&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;3&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rcPin1&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;4&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rcPin2&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;5&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;MotorControl&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;byte _lcPin1, byte _lcPin2, byte _rcPin1, byte _rcPin2&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcPin1&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_lcPin1&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcPin2&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_lcPin2&lt;span style="color: teal;"&gt;;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rcPin1&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_rcPin1&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rcPin2&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;_rcPin2&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Forward&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Forward&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Backward&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Backward&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnLeft&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnLeft&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnRight&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnRight&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnLeftDish&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnLeftDish&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnRightDish&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;TurnRightDish&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;duration&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Stop&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, LOW&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;MotorControl&lt;span style="color: teal;"&gt;::&lt;/span&gt;&lt;span style="color: #007788;"&gt;Brake&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;lcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin1, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; digitalWrite&lt;span style="color: green;"&gt;(&lt;/span&gt;rcPin2, HIGH&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;100&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; Stop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;Main Program:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red; font-style: normal;"&gt;/*&lt;br /&gt;&lt;br /&gt;Oscar's IR Robot V2&lt;br /&gt;18 Dec 2011&lt;br /&gt;&lt;br /&gt;This is an open source project&lt;br /&gt;feel free to modify and distribute&lt;br /&gt;&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#ifndef SERVO_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#define SERVO_H&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #339900;"&gt;#include &amp;lt;Servo.h&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#include "IRSensor.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339900;"&gt;#include "MotorControl.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IRSensor sensor&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;8&lt;/span&gt;,A0,A1,A2,A3&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;MotorControl motors&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;4&lt;/span&gt;,&lt;span style="color: #0000dd;"&gt;5&lt;/span&gt;,&lt;span style="color: #0000dd;"&gt;6&lt;/span&gt;,&lt;span style="color: #0000dd;"&gt;7&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #666666; font-style: normal;"&gt;// modes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;enum&lt;/span&gt;&amp;nbsp;ModeType&amp;nbsp;&lt;span style="color: green;"&gt;{&lt;/span&gt;&amp;nbsp;FOLLOWOBJECT, AVOIDOBJECT&amp;nbsp;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;enum&lt;/span&gt;&amp;nbsp;ModeType mode&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;FOLLOWOBJECT&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #666666; font-style: normal;"&gt;// Servos&lt;/span&gt;&lt;br /&gt;Servo lrServo&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;Servo udServo&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;byte lrServirLEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;2&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;byte udServirLEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;3&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;byte followLEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;13&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;byte avoidLEDPin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;12&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;byte modePin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;11&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;lrServoPos&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;1500&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;udServoPos&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;1200&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;lrServoPosMin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;600&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;udServoPosMin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;600&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;lrServoPosMax&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;2400&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;udServoPosMax&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;1800&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;lrServoPosMid&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: green;"&gt;(&lt;/span&gt;lrServoPosMin&amp;nbsp;&lt;span style="color: #000040;"&gt;+&lt;/span&gt;&amp;nbsp;lrServoPosMax&lt;span style="color: green;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000040;"&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;2&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;udServoPosMid&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: green;"&gt;(&lt;/span&gt;udServoPosMin&amp;nbsp;&lt;span style="color: #000040;"&gt;+&lt;/span&gt;&amp;nbsp;udServoPosMax&lt;span style="color: green;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000040;"&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;2&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;boolean assending&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #666666; font-style: normal;"&gt;// ============ Performance Parameters ============&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;distanceMin&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;230&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;servoAdjust&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;25&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;minDif&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;30&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;distanceClosest&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;650&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;distanceFurthest&amp;nbsp;&lt;span style="color: navy;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000dd;"&gt;450&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #666666; font-style: normal;"&gt;// ============= End Of Parameters ============&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;setup&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;followLEDPin, OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;avoidLEDPin,OUTPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;pinMode&lt;span style="color: green;"&gt;(&lt;/span&gt;modePin, INPUT&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; lrServo.&lt;span style="color: #007788;"&gt;attach&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;lrServirLEDPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; udServo.&lt;span style="color: #007788;"&gt;attach&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;udServirLEDPin&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; lrServo.&lt;span style="color: #007788;"&gt;writeMicroseconds&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;lrServoPosMid&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; udServo.&lt;span style="color: #007788;"&gt;writeMicroseconds&lt;/span&gt;&lt;span style="color: green;"&gt;(&lt;/span&gt;udServoPosMid&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; delay&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;1000&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;span style="color: teal;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #666666; font-style: normal;"&gt;//Serial.begin(9600);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&amp;nbsp;loop&lt;span style="color: green;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;{&lt;/span&
