<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jianlin Cao</title>
    <description>A journey of fabrication(or destruction)</description>
    <link>http://fabacademy.org/archives/2015/eu/students/cao.jianlin</link>
    <atom:link href="http://fabacademy.org/archives/2015/eu/students/cao.jianlinfeed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Mon, 18 Jan 2016 00:01:18 +0000</pubDate>
    <lastBuildDate>Mon, 18 Jan 2016 00:01:18 +0000</lastBuildDate>
    <generator>Jekyll v3.0.1</generator>
    
      <item>
        <title>Update 3</title>
        <description>&lt;p&gt;The body is made from a section of poster tube with vinyl on it. As a minion, it start with the most common yellow colour body until I realise that we run out of yellow ABS/PLA to match the colour.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So, i change it to my favourite colour, red.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_2.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Glasses for minion&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And eyeballs with support generated by meshmixer.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finished eye assembly&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_6.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The heart of minion, the microcontroller and motor driver board. (with a fault on mcu pin, fixed by flywire)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_7.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A sad face due to countless fallen down during PID tuning&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_8.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And dead eventrully&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_3_9.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/final_project.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;
</description>
        <pubDate>Mon, 22 Jun 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/final/2015/06/22/Final-Project-update-3.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/final/2015/06/22/Final-Project-update-3.html</guid>
        
        
        <category>Final</category>
        
      </item>
    
      <item>
        <title>Week 17: Invention, Intellectual Property, and Income</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;develop a plan for dissemination of your final project
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;License&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For everything on this website, i would like to release them under ‘Creative Commons Attribution 4.0 International Public License’. This project was made for fab academy 2015 final project. Most of code are based on open source software and i have no plan for commerciallise. This project will remian open source.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;More detail could be found from &lt;a href=&quot;http://creativecommons.org/licenses/by/4.0/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Wed, 27 May 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/05/27/Week-17.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/05/27/Week-17.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 16: Mechanical Design, Machine Design</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;make a machine, including the end effector
build the passive parts and operate it manually
document the group project and your individual contribution
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;My main job is that find a way to convert pictures to files that could be read by our drawing machine.&lt;/p&gt;

&lt;p&gt;Start with software called ‘&lt;a href=&quot;http://www.evilmadscientist.com/2012/stipplegen2/&quot;&gt;StippleGen_2&lt;/a&gt;’ to generate .svg file for next step. It solves the classic traveling sales man problem that is almost exactlly what we want.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk16_1.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk16_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then the .svg file is converted to both python code and .csv for drawing machine by the following matlab code.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-matlab&quot; data-lang=&quot;matlab&quot;&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;csv_gen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;file_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;maximum_size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%file_name=&#39;evil_minion&#39;; maximum_size=200;&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%read svg to text&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;readtext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;%s.svg&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;file_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%read coordinates from text&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rows&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;isnumeric&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;isempty&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
       &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;isnumeric&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;isempty&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
           &lt;span class=&quot;n&quot;&gt;coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
           &lt;span class=&quot;n&quot;&gt;coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cell2mat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
           &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;min_coor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;coor_shifted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,:)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,:)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min_coor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%re-scale to 200mm size&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_shifted&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;maximum_size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;/(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_shifted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)));&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;% %convert to relative coordinates&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% coor_r=coor_a(1,:);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% for n=2:length(coor_a)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%     coor_r(n,:)=coor_a(n,:)-coor_a(n-1,:);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% end&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%generate .csv file&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;csvwrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;%s.csv&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;file_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%csvwrite(sprintf(&#39;%s_r.csv&#39;,file_name),coor_r);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;%generate python code in .txt&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;fopen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;%s.txt&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;file_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;wt&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
&lt;span class=&quot;nb&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;moves = [&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;[%d,%d]&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;,[%d,%d]&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;fprintf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;]&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;fclose&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;% fid = fopen(sprintf(&#39;%s_r.txt&#39;,file_name),&#39;wt&#39;); &lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% fprintf(fid,&#39;moves = [&#39;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% fprintf(fid,&#39;[%d,%d]&#39;,coor_r(1,1),coor_r(1,2));&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% for n=2:length(coor_a)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%     fprintf(fid,&#39;,[%d,%d]&#39;,coor_r(n,1),coor_r(n,2));&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% end&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% fprintf(fid,&#39;]&#39;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% fclose(fid);&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coor_a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Bonus&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk16_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Engineer(tape) style pen holder&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk16_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week16.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 20 May 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/05/20/Week-16.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/05/20/Week-16.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Update 2</title>
        <description>&lt;p&gt;Due to the budget limit which i didn’t realised at the very beginning. I have decide to make a new ‘fab academy’ version of my old balanced robot prototype.&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/73vEXXGJBpM?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;This balanced robot prototype was build for racing purpose, thus everything is simplified to extreme. Most of stuff are cheap COTS product. The chassis is made from aluminium board and hold by copper spacer, screws and nuts.
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_2_1.jpg&quot; alt=&quot;draft&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The soft 1/10th scale RC wheels would able to provide great grip on most of surface and damping after ‘airborne’. They are driven by BLDC Gimbal motor directly, shown as follow, which features high torque, fast and precise response.
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_2_2.jpg&quot; alt=&quot;draft&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The IMU on this balanced robot is a very common MPU-6050 which comes with the brushless gimbal controller.
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wp_2_3.jpg&quot; alt=&quot;draft&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Due to the lackness of deadline for this race between my friend and me, this prototype can only stand with some help to find the initial balance point first. Therefore, for fab academy final project, the target is to build a new balanced robot that looks interesting and hopefully can actually be used for racing.&lt;/p&gt;

&lt;p&gt;It would features:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;a new 3D printed or carbon fiber composite body/chassis&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;new controller board that could connect to ESC for gimbal motor and accept input from both PWM and WIFI/Bluetooth&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;new software to make sure that the robot able to stand, walk and run&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;a funny look, for example, android robot&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 19 May 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/final/2015/05/19/Final-Project-update-2.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/final/2015/05/19/Final-Project-update-2.html</guid>
        
        
        <category>Final</category>
        
      </item>
    
      <item>
        <title>Week 15: Applications and Implications</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;propose a final project that integrates the range of units covered:
  what will it do?

  	Self balance, remote controlled minion

  who&#39;s done what beforehand?

  	Errr..almost everything. There are tons of balanced robot design online availiable already. The unique feature of this one is the BLDC motors. And it is pretty similar as the brushless gimbal.

  what materials and components will be required?

  	Still..almost everything. 3d printed body, brushless motor, wheel, etc..

  where will they come from?

  	My electronic &#39;magic&#39; box and old projects

  how much will it cost?

  	BLDC motor £8 each

  	the rest could be sourced from fablab or my old projects

  what processes will be used?

  	Atmega328p

  what tasks need to be completed?

  	Modify gimbal controller board software, PID tunning

  how will it be evaluated?

  	Self balance stand would be a good point to start with.
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
</description>
        <pubDate>Wed, 13 May 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/05/13/Week-15.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/05/13/Week-15.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 14: Interface and Application Programming</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;write an application that interfaces with an input &amp;amp;/or output device
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;A very simple board is created with &lt;a href=&quot;http://www.ti.com/lit/ds/symlink/msp430g2553.pdf&quot;&gt;msp430g2553&lt;/a&gt; and programed with &lt;a href=&quot;http://energia.nu/&quot;&gt;Energia&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk14_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mini USB connector is for power only.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk14_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Jumper wires from TI Launchpad&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk14_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The board is connect to a bluetooth module (HC-05) via serial port.&lt;/p&gt;

&lt;p&gt;An android app was created to receive data via bluetooth and plot them in real time.
(This app is created as a favour to my friend, thus the interface is in chinese.)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk14_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#define A_INPUT A6
#define D_INPUT P1_6
&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9600&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;analogRead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A_INPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&#39;\t&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;Serial&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&#39;\n&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week14.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 06 May 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/05/06/Week-14.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/05/06/Week-14.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 13: Networking and Communications</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;design and build a wired &amp;amp;/or wireless network connecting at least two processors
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk13_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A wired SPI connection is created between the board from ‘input’ and ‘output’ weeks. The power is provided via output connector on ‘output’ board.&lt;/p&gt;

&lt;p&gt;The idea is used the sensor from ‘input’ board and send the value to ‘output’ board via SPI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input Code&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#include &amp;lt;SPI.h&amp;gt;
#define LED 3
#define IR A2
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;SPI&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HIGH&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;analogRead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;SPI&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;transfer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;0xFF&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LOW&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;  
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Output Code&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;
#include &amp;lt;avr/power.h&amp;gt;
#include &amp;lt;SPI.h&amp;gt;
&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#define PIN            4
#define NUMPIXELS      3
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;Adafruit_NeoPixel&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Adafruit_NeoPixel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NUMPIXELS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PIN&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NEO_GRB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NEO_KHZ800&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;delayval&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// delay for half a second
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;#if defined (__AVR_ATtiny85__)
&lt;/span&gt;  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;F_CPU&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;16000000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clock_prescale_set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clock_div_1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#endif
&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// End of trinket special code
&lt;/span&gt;  
  &lt;span class=&quot;n&quot;&gt;SPI&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
  
  &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// This initializes the NeoPixel library.
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; 
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
  &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SPI&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;transfer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;0x00&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;set_LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;delayval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;set_LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;0xC0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;0x30&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;0x0F&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week13.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;
</description>
        <pubDate>Wed, 29 Apr 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/04/29/Week-13.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/04/29/Week-13.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 12: Composites</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;design and make a 3D mold (~ft2), and produce a fiber composite part in it
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;What is my most favourite composite? Carbon fiber!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CNC machining the body of the boat from ‘thunder in paradise’&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_2.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Applying layers of glass fiber and carbon fiber to foam mold&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Inside vacuume bag&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finished surface of special eproxy resin&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_6.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_7.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Compared to original foam mold
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_8.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Do not wash unfinished carbon fiber unless you have a heat gun!
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_9.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools Related&lt;/strong&gt;
CNC Router: Denford MRC40
6mm @ 3000 RPM
Cut depth: 5mm
Feed speed: 1000mm/min
Start with 15% overlap
Refined with 15% overlap
Software: VR Milling V5
&lt;strong&gt;Bonus&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3mm carbon fiber board test&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk12_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week12.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;
</description>
        <pubDate>Wed, 22 Apr 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/04/22/Week-12.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/04/22/Week-12.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 11: Output Devices</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;add an output device to a microcontroller board you&#39;ve designed and program it to do something
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;A very simple board that designed to control &lt;a href=&quot;http://www.adafruit.com/datasheets/WS2812.pdf&quot;&gt;WS2812&lt;/a&gt; RGB LEDs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk11_1.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk11_2.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk11_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;
#include &amp;lt;avr/power.h&amp;gt;
&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#define PIN            4
#define NUMPIXELS      3
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;Adafruit_NeoPixel&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Adafruit_NeoPixel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NUMPIXELS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PIN&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NEO_GRB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NEO_KHZ800&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;delayval&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// delay for half a second
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;last_index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;last_last_index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;#if defined (__AVR_ATtiny85__)
&lt;/span&gt;  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;F_CPU&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;16000000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clock_prescale_set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clock_div_1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#endif
&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// End of trinket special code
&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// This initializes the NeoPixel library.
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; 
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
  &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;last_last_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;last_last_index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;last_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
  &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;last_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;last_index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NUMPIXELS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setPixelColor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pixels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;delayval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week11.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 15 Apr 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/04/15/Week-11.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/04/15/Week-11.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 10: Input Devices</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;measure something: add a sensor to a microcontroller board that you&#39;ve designed and read it
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;http://www.vishay.com/docs/83760/tcrt5000.pdf&quot;&gt;TCRT 5000&lt;/a&gt; is a reflective optical sensor with transistor that typically used by line followers. It is a simple analog sensor.&lt;/p&gt;

&lt;p&gt;PCB&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk10_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Top View&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk10_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Side View&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk10_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The LED with flashing in different speed according to the input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#define LED 3
#define IR A2
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HIGH&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;analogRead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LOW&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;adc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;  
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week10.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 08 Apr 2015 01:00:00 +0100</pubDate>
        <link>http://fabacademy.org/assignments/2015/04/08/Week-10.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/04/08/Week-10.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 9: Molding and Casting</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;design a 3D mold, machine it, and cast parts from it
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Machining the wax by &lt;a href=&quot;http://www.rolanddg.com/product/3d/3d/mdx-20_15/mdx-20_15.html&quot;&gt;Roland Modela&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Create negative mold by cold curing rubber.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Wax mold done!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Negative mold.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Casted part (white)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Eproxy Resin Bonus&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk9_6.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week9.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 25 Mar 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/03/25/Week-9.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/03/25/Week-9.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 8: Computer Controlled Machining</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;make something big
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Two different materials are used to cut this seat, that’s the reason why the appearence is keep changing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The little leftover to prevent the pieces form move.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The ‘worst’ looking one.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The ‘better’ looking one. And the one that i actually took home.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Apply ‘carbon fiber’ vinyl to the top for an even better looking.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Love it!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk8_6.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week8.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;
</description>
        <pubDate>Wed, 18 Mar 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/03/18/Week-8.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/03/18/Week-8.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 7: Embedded Programming</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;read a microcontroller data sheet
program your board to do something,
with as many different programming languages and programming environments as possible
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This code is based on arduino firmware. Press the button to increase the brightness of LED.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#define LED 3
#define BUTTON 4
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;brightness&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BUTTON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;INPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;analogWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;brightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;digitalRead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BUTTON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;brightness&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;brightness&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;255&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;brightness&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk6_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 11 Mar 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/03/11/Week-7.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/03/11/Week-7.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 6: Electronics Design</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;redraw the echo hello-world board
add (at least) a button and LED (with current-limiting resistor)
check the design rules, and make it
extra credit: simulate its operation
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This assigment is basicly covered by the fabisp week. But i do got a new ‘hello-world’ board redesigned.&lt;/p&gt;

&lt;p&gt;PCB&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk6_1.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk6_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Knife cleaned PCB
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk6_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Completed ‘Hello World’ board
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk6_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-c--&quot; data-lang=&quot;c++&quot;&gt;&lt;span class=&quot;cp&quot;&gt;#define LED 3
#define BUTTON 4
&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;pinMode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BUTTON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;INPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;digitalRead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BUTTON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HIGH&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;digitalWrite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LED&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LOW&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;delay&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;  
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week6.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;
</description>
        <pubDate>Wed, 04 Mar 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/03/04/Week-6.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/03/04/Week-6.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 5: 3D Scanning and Printing</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;design and 3D print an object (small, few cm) that could not be made subtractively
3D scan an object (and optionally print it)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3D Print&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3D printer is a great for fast prototyping and they are right! (if you know how to use it)&lt;/p&gt;

&lt;p&gt;Here is my battry tray replica for GUAI X3 RC helicopter.&lt;/p&gt;

&lt;p&gt;The 3D model is designed in &lt;strong&gt;Fusion 360&lt;/strong&gt; which is a free cross-platform modelling software.&lt;/p&gt;

&lt;p&gt;It is printed using &lt;strong&gt;Makerbot 2X&lt;/strong&gt; with raft and support to protect the &lt;strong&gt;ABS&lt;/strong&gt; from ‘curve’.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Compared to the original part, which cost £6.49 for 2.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And it fits perfectly!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3D Scan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The scanner that used in fab strathclyde is hand holded &lt;a href=&quot;http://cubify.com/products/sense&quot;&gt;Sense 3D scanner&lt;/a&gt;, thus we decide to scan each other.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here is the digital scan of me by &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/chalmers.iain/&quot;&gt;Iain Chalmers&lt;/a&gt; test fitting my Iron Man helmet.
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_5.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_6.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bonus!&lt;/strong&gt; My own minion! (hence the JC logo)
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk5_7.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week5.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 25 Feb 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/02/25/Week-5.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/02/25/Week-5.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 4: Electronic Production</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;make the FabISP in-circuit programmer
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;What I have done&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, ignore the png file immediately, which is not considered as a decent solution.&lt;/p&gt;

&lt;p&gt;Thanks to the fabTinyStar which has the eagle format schemetics file available.&lt;/p&gt;

&lt;p&gt;PCB Design&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk4_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The PCB is engraved by &lt;a href=&quot;http://website.denford.ltd.uk/news-menu/117-denford-s-pcb-engraver&quot;&gt;Denford PCB Engraver&lt;/a&gt; with floating head.&lt;/p&gt;

&lt;p&gt;Engraved PCB&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk4_2.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finished board&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk4_3.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week4.zip&quot;&gt;source files&lt;/a&gt; directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 18 Feb 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/02/18/Week-4.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/02/18/Week-4.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 3: Computer-Controlled Cutting</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;design, make, and document a press-fit construction kit!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And here it is!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The design is a very straight forward press-fit box without lid. The press-fit part has a 0.3mm overlap for tight fit.&lt;/p&gt;

&lt;p&gt;The laser cutter used in this project is Epllog 40 which is a 40W CO2 laser. I use the following setting to vector cut the 3mm board.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Speed: 10
Power: 100
Frequency: 500
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk3_1.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk3_2.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk3_3.jpg&quot; alt=&quot;images&quot; /&gt;
&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk3_4.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miata Is Always The Answer!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even for late added vinyl cutting task.&lt;/p&gt;

&lt;p&gt;Here are the vinyl cutted logo for the 25th anniversary of the world best selling roadster, Mazda MX-5 or Miata for US.
The vinyl cutter used in this project is Roland GX24 with all default settings.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk3_5.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week3.zip&quot;&gt;source files&lt;/a&gt; for press-fit box directly.&lt;/p&gt;
</description>
        <pubDate>Wed, 11 Feb 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/02/11/Week-3.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/02/11/Week-3.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Week 2: Computer-Aided Design</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;model (draw, render, animate, simulate, …) a possible final project, and post it on your class page&lt;/p&gt;

&lt;p&gt;Basically, it is a remote controlled balanced robot. All the fancy part of this &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/final/2015/06/22/Final-Project-update-3.html&quot;&gt;final project&lt;/a&gt; are well hidden in the software.&lt;/p&gt;

&lt;p&gt;But, It does have a very lovely body to post.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/wk2_1.jpg&quot; alt=&quot;images&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The model is for demostration only. The body is made by a section of tube and the head is 3D printed which documented in the page of final project update 3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/source/week2.zip&quot;&gt;source files&lt;/a&gt; for press-fit box directly.&lt;/p&gt;

</description>
        <pubDate>Wed, 04 Feb 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/02/04/Week-2.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/02/04/Week-2.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
      <item>
        <title>Update 1</title>
        <description>&lt;p&gt;My current plan for final project is a MYO controlled 4WD car. And it would allow conventional radio control for more fun.&lt;/p&gt;

&lt;p&gt;The rear wheels are driven by BLDC motors directly for a higher top speed. The electronic speed controller (ESC) for them are specially design multicopter ESCs with reverse direction supported.&lt;/p&gt;

&lt;p&gt;The front wheels would be driven by special BLDC motors designed for gimbals. This motor features high torque which is necessary for start.  The front wheels and motors are connected via a single direction bearing to reduce the drag after start.&lt;/p&gt;

&lt;p&gt;Therefore, the car is front wheel drive during the start and rear wheel drive after start.&lt;/p&gt;

&lt;p&gt;A on-board 6DOF inertial measurement unit (IMU) is used for stability and traction control, apply the break to each wheel when necessary.&lt;/p&gt;

&lt;p&gt;All wheel would be fitted with a simple push-rod suspension for better handling.&lt;/p&gt;

&lt;p&gt;Overall, this would be a miniature version of modern hypercars, with a lot of fancy electronic systems.&lt;/p&gt;

&lt;p&gt;A simple block diagram show below. (which i forgot to add the steering after MCU)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/final_1.jpg&quot; alt=&quot;draft&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 04 Feb 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/final/2015/02/04/Final-Project-update-1.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/final/2015/02/04/Final-Project-update-1.html</guid>
        
        
        <category>Final</category>
        
      </item>
    
      <item>
        <title>Week 1: Principles and Practices, Project Management</title>
        <description>&lt;p&gt;&lt;strong&gt;This week’s assignments&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;build a personal site in the class archive describing you and your final project
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;http://fabacademy.org/archives/2015/eu/students/cao.jianlin/images/fab_logo.jpg&quot; alt=&quot;Fablab logo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This week’s tasks are create a html webpage to document work for the rest of weeks and made commits in the fab academy archive.&lt;/p&gt;

&lt;p&gt;If you can see this website, that means its done! Cheers&lt;/p&gt;
</description>
        <pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
        <link>http://fabacademy.org/assignments/2015/01/28/Week-1.html</link>
        <guid isPermaLink="true">http://fabacademy.org/archives/2015/eu/students/cao.jianlin/assignments/2015/01/28/Week-1.html</guid>
        
        
        <category>Assignments</category>
        
      </item>
    
  </channel>
</rss>