<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>FabLab.nl: E-Blocks in het FabLab?</title>
    <link>http://www.fablab.nl/articles/2008/11/25/e-blocks-in-het-fablab</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>.. where the future is being made today !</description>
    <item>
      <title>E-Blocks in het FabLab?</title>
      <description>&lt;p&gt;Eén van de grootste uitdagingen in een FabLab is het werken met microcontrollers, zeker voor mensen die daar nog geen ervaring mee hebben.&lt;/p&gt;


	&lt;p&gt;De huidige aanpak in FabLabs, waar het werken met microcontrollers wordt aangeboden, is in mijn ogen nogal Spartaans. Dat wil zeggen dat er begonnen wordt met een &amp;#8220;hello world&amp;#8221; project, zoals bijvoorbeeld een knipperend LEDje (&lt;em&gt;zie &lt;a href="http://fab.cba.mit.edu/about/fab/"&gt;about/fab&lt;/a&gt; halverwege de pagina&lt;/em&gt;), waar je dan in ieder geval de praktische vaardigheden leert van het maken van een  printje en het solderen van de &lt;a href="http://nl.wikipedia.org/wiki/Surface_Mounted_Device"&gt;&lt;span class="caps"&gt;SMD&lt;/span&gt;&lt;/a&gt; componenten.&lt;/p&gt;


	&lt;p&gt;Dat is op zich waardevol, maar als het dan aankomt op het programmeren van de controller, dan wordt vaak begonnen met &lt;a href="http://en.wikipedia.org/wiki/Assembler_(computer_programming)#Assembler"&gt;assembler&lt;/a&gt; (low-level code). Dit is voor leken een bijna onoverkomelijke drempel, immers je moet het gedrag van de controller haast op bit niveau beschrijven en je moet rekening houden met elke mogelijke uitzondering. Een alternatief kan zijn om met een iets hogere taal, zoals bijvoorbeeld &lt;a href="http://en.wikipedia.org/wiki/C_(programming_language"&gt;C&lt;/a&gt;) aan de slag te gaan, maar dat is nog steeds een hele uitdaging.&lt;/p&gt;


	&lt;p&gt;Ik vermoed dat de redenering is: &amp;#8220;&lt;em&gt;als je eenmaal assembler en/of C begrijpt, dan heb je een stevige basis om in andere talen te programmeren&lt;/em&gt;&amp;#8221;. Daar is zeker iets voor te zeggen, maar dat vraagt veel doorzettingsvermogen en je wilt toch ook je bezoekers inspireren en enthousiast laten worden over voor hen nieuwe technologieën.&lt;/p&gt;


Er zijn alternatieven zoals bijvoorbeeld de basicstamp (in vele varianten) van &lt;a href="http://www.parallax.com/"&gt;Parallax&lt;/a&gt; 
&lt;center&gt;&lt;img src="/files/basicstamp.jpg" width="200"/&gt;&lt;/center&gt;
of de &lt;a href="http://www.rev-ed.co.uk/picaxe/"&gt;Picaxe&lt;/a&gt; chips die je direct met &lt;a href="http://en.wikipedia.org/wiki/BASIC"&gt;&lt;span class="caps"&gt;BASIC&lt;/span&gt;&lt;/a&gt; of met behulp van een grafische editor kan programmeren. Maar het nadeel is toch dat je met deze chips eigenlijk niet kan spreken van open source. Je bent gehouden om specifiek gebruik te maken van chips van de bewuste leverancier en je moet gebruik maken van &amp;#8216;closed&amp;#8217; firm- en/of software. Voordeel is wel dat het programmeren van microcontrollers toegankelijker is en je bent toch ook in staat om sneller een prototype te maken. In de FabLab community hebben deze alternatieven, voor zover ik weet, geen draagvlak.

Een goede optie is ook &lt;a href="http://arduino.cc"&gt;Arduino&lt;/a&gt;, goedkoop en open source.
&lt;center&gt;&lt;img src="/files/arduino1.jpg" width="300"/&gt;&lt;/center&gt;
Door firmware op de chip kun je programmeren in de &lt;a href="http://arduino.cc/en/Reference/HomePage"&gt;Arduino Language&lt;/a&gt; en dit is zeker toegankelijker dan C. Arduino&amp;#8217;s zijn behoorlijk populair en er is een levendige community.
&lt;br/&gt;

	&lt;p&gt;Sinds afgelopen zaterdag denk ik dat er nog (en mogelijk beter) alternatief is, namelijk &lt;a href="http://www.matrixmultimedia.com/abouteblocks-X.php?C1=Browse%20All%20Products&amp;#38;CAT=E-Blocks%20hardware"&gt;E-blocks&lt;/a&gt;. Ik heb een aantal presentaties gezien over het werken met E-blocks op &lt;a href="http://www.elektorlive.nl/"&gt;ElektorLive&lt;/a&gt; in het &lt;a href="http://www.evoluon.org/"&gt;Evoluon&lt;/a&gt;.&lt;/p&gt;


&lt;center&gt;&lt;img src="/files/elektor_live.jpg" width=400"/&gt;&lt;/center&gt;
&lt;br/&gt;

	&lt;p&gt;Ik had al eerder gehoord van E-blocks en was aanvankelijk sceptisch, maar ik heb mijn mening moeten herzien. Het sterke punt van de E-blocks is dat je snel resultaat ziet van je werk. Allereerst komt dat omdat je veel verschillende kant en klare &amp;#8220;blocks&amp;#8221; hebt (zoals I/O bordjes, A/D converters, toetsenbordje, &lt;span class="caps"&gt;LCD&lt;/span&gt; displays teveel om op de noemen), die je eenvoudig in elkaar kan klikt.&lt;/p&gt;


&lt;center&gt;&lt;img src="/files/eblocks.jpg" width="400"/&gt;&lt;/center&gt;&lt;br/&gt;

	&lt;p&gt;Daarnaast zijn de E-blocks geschikt voor drie verschillende soorten microcontrollers &lt;a href="http://en.wikipedia.org/wiki/PIC_microcontroller"&gt;&lt;span class="caps"&gt;PIC&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Atmel_AVR"&gt;&lt;span class="caps"&gt;AVR&lt;/span&gt;&lt;/a&gt;( en zelfs de &lt;a href="http://www.atmel.com/products/at91/"&gt;&lt;span class="caps"&gt;AT91 SAM 7&lt;/span&gt;&lt;/a&gt; controller) en deze worden geprogrammeerd met &lt;a href="http://matrixmultimedia.com/Flowcode3a-X.php"&gt;Flowcode&lt;/a&gt;. Flowcode is een grafische editor waarmee met behulp van drag en drop iconen het gedrag van de controller kan &amp;#8220;beschrijven&amp;#8221;.  Flowcode is laagdrempelig en de snelheid waarmee je resultaten kunt bereiken is echt indrukwekkend!&lt;/p&gt;


	&lt;p&gt;Het mooie van Flowcode is ook dat zowel de C-code als de assembler-code gegeneerd wordt en je kunt dan de code aanpassen of verbeteren. Dat maakt dat ook gevorderde gebruikers E-blocks en Flowcode in kunnen zetten om ultra snel prototypes te maken. Alle schema&amp;#8217;s van de E-blocks zijn open-source. Met andere woorden, nadat je hebt &amp;#8220;aangetoond&amp;#8221; dat je prototype werkt, kun je snel het ontwerp ontdoen van alle ongebruikte componenten en met behulp van het gereedschap in het FabLab (zoals &lt;a href="http://www.fablab.nl/articles/2008/09/24/installeren-van-cad-py"&gt;cad.py&lt;/a&gt; en de &lt;a href="http://denhaag.fablab.nl/pages/modela"&gt;Modela&lt;/a&gt;) je eigen pcb ontwerpen en maken.&lt;/p&gt;


	&lt;p&gt;E-blocks in combinatie met Flowcode vertegenwoordigen in mijn ogen het beste van twee werelden en zijn daarmee ideaal om aan te bieden in een FabLab.&lt;/p&gt;</description>
      <pubDate>Tue, 25 Nov 2008 17:09:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:085dd99c-5307-425d-b3f1-d332982208b3</guid>
      <author>Frank Oxener</author>
      <link>http://www.fablab.nl/articles/2008/11/25/e-blocks-in-het-fablab</link>
      <category>educatie</category>
      <category>e</category>
      <category>blocks</category>
      <category>microcontrollers</category>
      <category>elektor</category>
    </item>
  </channel>
</rss>

