arduino https://www.ottenbourg.com/blog/ nl Verbeteringen aan RFID-scanner voor Suikerrock https://www.ottenbourg.com/blog/2018/07/verbetering-aan-rfid-scanner-voor-suikerrock <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1480.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1480" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">18/07/2018</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Vandaag begon de opbouw van <a href="https://www.suikerrock.be" target="_blank">Suikerrock</a>! En daaraan gekoppeld natuurlijk ook de catering van de medewerkers (in de refter van de PISO) én het <strong>inscannen van deze vrijwilligers adhv hun persoonlijke 'badge'</strong>.</p> <p><img alt="Inscanning Suikerrock catering met RFID" data-entity-type="file" data-entity-uuid="41ab80ba-4cb4-44fe-a07c-c583935ceb3f" src="//www.ottenbourg.com/blog/sites/default/files/inline-images/Suikerrock2017_Arduino.jpg" width="1280" height="856" loading="lazy" /></p> <p>In vergelijking met de vorige editie heb ik enkel aanpassingen (lees: verbeteringen) doorgevoerd wat betreft de <strong>scanning en het verwerken van de RFID-codes</strong> in de badges!</p> <p>Er worden nu 2 <a href="https://store.arduino.cc/usa/arduino-uno-rev3" target="_blank">Arduino Uno's</a> gebruikt (met een Ethernet/SD-shield) die via een <strong>seriële verbinding</strong> met elkaar communiceren.</p> <ul><li><u>Arduino 1</u> zorgt voor de scanning zelf (en geeft een audio-visuele feedback indien het om een correcte scan gaat), bewaart alle scans (als 'backup') op een microSD-kaart (samen met datum en uur (dankzij een klok-module) en stuurt vervolgens het ingescande nummer door naar Arduino 2 (via de seriële RX/TX-poorten)</li> <li><u>Arduino 2</u> krijgt het gescande nummer doorgestuurd en probeert deze via het internet door te geven aan de <a href="https://intranet.suikerrock.be" target="_blank">Suikerrock-server</a>, waar uiteindelijk de <strong>gegevens bewaard en verwerkt worden</strong>.</li> </ul><p><img alt="Arduino Catering Scan" data-entity-type="file" data-entity-uuid="62173a9e-0578-460e-8e3b-e3275c88dbd6" src="//www.ottenbourg.com/blog/sites/default/files/inline-images/Suikerrock2018_Arduino.jpg" width="1280" height="960" loading="lazy" /></p> <p>Belangrijkste <strong>voordelen</strong> van deze opstelling :</p> <ul><li>Achter het (publieke) scan-paneeltje hoeft nu nog enkel de RFID-scanner, buzzer en LED te hangen. Al de rest kan <strong>discreet weggewerkt worden</strong> onder de tafel (zie hieronder).</li> <li>Gegevens worden nu rechtstreeks naar de server gestuurd, waardoor er <strong>onmiddellijk resultaten en statistieken</strong> beschikbaar zijn.</li> <li>Backup van alle scans blijft beschikbaar (via de microSD-kaart), en hoeft enkel gebruikt te worden indien er problemen zouden zijn met de internet-verbinding.</li> <li>Een bekabelde verbinding met het internet (via LAN) zorgt, in vergelijking met een draadloze verbinding (wifi), voor een stabielere verbinding en betere bedrjfszekerheid.</li> </ul><p><img alt="Arduino RFID opstelling" data-entity-type="file" data-entity-uuid="c72e1af9-3f6d-4b1e-a01d-ab6e4a3936df" src="//www.ottenbourg.com/blog/sites/default/files/inline-images/Suikerrock2018_Arduino2.jpg" width="1280" height="812" loading="lazy" /></p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/suikerrock" hreflang="nl">Suikerrock</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/prosite" hreflang="nl">Prosite</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1480&amp;2=comment_node_story&amp;3=comment_node_story" token="Hk2nQsgJIGnIohY9NhRDdnj3JDegm-YWel54MyKx7JY"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Wed, 18 Jul 2018 06:29:52 +0000 Jan Ottenbourg 1480 at https://www.ottenbourg.com/blog Voor de 28ste keer medewerker op Suikerrock https://www.ottenbourg.com/blog/2017/08/voor-de-28ste-keer-medewerker-op-suikerrock <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1450.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1450" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">4/08/2017</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Al 11 jaar leveren we met <a href="https://www.prosite.be">Prosite</a> allerhande <strong>(IT) 'hand- en spandiensten'</strong> voor <a href="http://www.suikerrock.be" target="_blank">Suikerrock</a>, en dat was op deze 31ste editie niet anders. En o.a. daarvoor kom ik natuurlijk graag eens 'overgevlogen' vanuit Dubai, ook<strong> al was het weer (veel te) kort</strong>...</p> <p>Een uitgebreid <a href="https://www.prosite.be/nieuws/2017/08/11de-keer-it-partner-voor-suikerrock" target="_blank">overzicht van ons werk op Suikerrock</a> vind je op de website van Prosite. Vooral de <a href="//www.ottenbourg.com/blog/labels/arduino.html">Arduino projectjes</a> hebben dit jaar duidelijk hun weg gevonden naar enkele <strong>praktische toepassingen op het festival</strong> zoals o.a. het <a href="//www.ottenbourg.com/blog/2017/06/arduino-rfid-lezerschrijver-en-3d-print.html">lezen en schrijven van RFID-badges</a>, <strong>toegangscontrole</strong> aan de catering (zie hieronder), het openen/sluiten van deuren via aansturen van relais, IP monitoring, edm.</p> <p><img alt="RFID badge scanning" src="//www.ottenbourg.com/blog/uploaded_images/20179634_1912339812426367_1572368936_n.jpg" /><img alt="RFID Arduino module" src="//www.ottenbourg.com/blog/uploaded_images/20187540_1912339849093030_1418132522_n.jpg" /></p> <p>Dankzij deze <strong>ploeg van DigitalCrew medewerkers</strong> hebben we weer vlekkeloos werk geleverd.</p> <p><img alt="DigitalCrew team" src="//www.ottenbourg.com/blog/uploaded_images/3_Sunday-%20Medewerkers-%20SR17%20-%20Suikerrock-%20Suikerrock_30-jul-2017_DER7857.jpg" /><br /> (vlnr Vince, Jef, Daan, Roger, Luc, Marc, Geert, Sandy, Bart, Timon, Jan en Tim)</p> <p>Mijn persoonlijke <strong>28ste Suikerrock editie</strong> was het dit jaar (eerste 2 jaar niet meegewerkt, en sindsdien maar één jaar gemist wegens opleiding in de USA (1992)). Voor Sara was het de eerste keer dat ze meehielp (bij de 'CateringCrew') en Roos die mocht o.a. op de foto met <a href="https://nl.wikipedia.org/wiki/Laura_Tesoro" target="_blank">Laura Tesoro</a> ;-) </p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/Sara_Roos_SR17.jpg" /></p> <p>En dat het lekker was ook ;-)</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/Suikerrock2017Dieu.jpg" /></p> <p>Aftellen naar de volgende editie...</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/tienen" hreflang="nl">Tienen</a></div> <div class="field--item"><a href="/blog/labels/suikerrock" hreflang="nl">Suikerrock</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1450&amp;2=comment_node_story&amp;3=comment_node_story" token="_i9Z4tTeT2wL6uaKSn039BTPFNyzFSVhD2_Vo8hF5Bw"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Thu, 03 Aug 2017 20:19:10 +0000 Jan Ottenbourg 1450 at https://www.ottenbourg.com/blog Arduino RFID-lezer/schrijver en 3D print https://www.ottenbourg.com/blog/2017/06/arduino-rfid-lezerschrijver-en-3d-print <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1449.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1449" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">27/06/2017</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><a href="//www.ottenbourg.com/blog/2017/04/arduino-project-met-neopixels-en-3d-printing.html">Volgend</a> (hobby)project is eentje voor Suikerrock nl. een <strong>lezer (en schrijver) van RFID-kaarten</strong>. Compleet met LCD-scherm, (mini)keyboard en alles afgewerk in een (rode) 3D geprinte doos! ;-)</p> <p><img alt="Afgewerkt product" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_4.jpg" /></p> <p>Via <a href="https://www.prosite.be" target="_blank">Prosite</a> ben ik al jaren <a href="https://www.prosite.be/nieuws/2016/08/it-support-tijdens-30-jaar-suikerrock" target="_blank">zeer nauw betrokken</a> met het IT gebeuren op <a href="http://www.suikerrock.be" target="_blank">Suikerrock</a> in Tienen.<br /> Vorig jaar introduceerden we al <a href="https://en.wikipedia.org/wiki/Radio-frequency_identification" target="_blank">RFID</a>-badges <strong>voor de catering van de medewerkers</strong>. Iedereen kreeg een <strong>gepersonaliseerde badge </strong>met in het geheugen ervan ieders unieke "id". Dankzij het <strong>scannen van deze RFID-kaarten</strong> wisten we perfect wie er wanneer (of niet) kwam eten, en (veel belangrijker) hoeveel maaltijden er konden uitgespaard worden ('big data').</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/BadgeScanning.jpg" /></p> <p>Het (her)schrijven van deze chip-kaarten zal nu <strong>gemakkelijker en vlotter</strong> kunnen op Suikerrock dankzij deze <strong>nieuwe reader/writer</strong>...</p> <p>Wat ging eraan vooraf?</p> <p><strong>STAP 1 : COMPONENTEN</strong></p> <p>De basis voor dit project is een <a href="https://store.arduino.cc/arduino-uno-rev3" target="_blank">Arduino Uno</a> micro-controller aangevuld met :</p> <ul><li>een <a href="http://wiki.sunfounder.cc/index.php?title=PN532_NFC_RFID_Module">PN532 NFC/RFID Wireless module</a> met SPI-interface. Twee PINs voor stroom en 4 PINs voor data.</li> <li>een LCD (Liquid Crystal Display) schermpje met 2 lijnen en max. 16 karakters per lijn. Deze (LCD1602) wordt <a href="https://www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-1-display-by-i2c-lcd1602-sensor-kit-v2-0-for-arduino.html" target="_blank">aangestuurd via de I2C-bus </a>waardoor er maar 4 PINs nodig zijn!</li> <li>een <a href="https://www.adafruit.com/product/419" target="_blank">3x4 Membrane Matrix Keypad</a> van Adafruit. De 4 rijen en 3 kolommen gebruiken in totaal maar 7 PINs voor 12 verschillende toetsen.</li> </ul><p><img alt="Arduino en gebruikte componenten en modules" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_2.jpg" /><strong>STAP 2 : PROGRAMMEREN</strong></p> <p>De <a href="https://www.arduino.cc/en/tutorial/sketch" target="_blank">Arduino sketch</a> (code) is vrij klein (10Kb) en na een initiele setup, wacht het programma (in een lus) tot er een RFID-kaart wordt aangeboden. Deze wordt dan gelezen (indien compatibel) en de 'id' wordt weergegeven op het LCD-scherm.<br /> Vervolgens vraagt het programma of de kaart moet (over)schreven worden. Indien "Yes" (#-key), kan men een 8-cijferige code ingeven en bewaren (opnieuw #-key) op de chipkaart. Indien "No" (*-key) wordt er terug gelezen.<br /> Na het (her)schrijven van een 'id' wordt de kaart opnieuw gelezen ter bevestiging van de nieuwe code.</p> <p><strong>STAP 3 : 3D PRINTING</strong></p> <p>Met behulp van de (gratis en online) <strong>3D CAD software</strong> van Autodesk (<a href="https://www.tinkercad.com" target="_blank">Tinkercad</a>) maakte ik vervolgens een 'doos' met alle nodige uitsparingen. Deze werd vervolgens (in Montréal, want ik was toevallig daar) geprint via <a href="https://www.3dhubs.com" target="_blank">3Dhubs.com</a> in 2 delen (PLA, 100μm).</p> <p><img alt="3D print" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_1.jpg" /></p> <p>STL-bestand te bekijken en te downloaden via <a href="https://www.thingiverse.com/thing:2406380" target="_blank">Thingiverse</a>.</p> <p><strong>STAP 4 : ASSEMBLAGE</strong></p> <p>Na het samenstellen en <strong>vastlijmen</strong> van alle componenten, nog snel een <strong>allerlaatste test </strong>voor dat de doos definitief wordt dichtgelijmd.</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_3.jpg" /></p> <p>Total kostprijs 40EUR (aan materiaal) plus 40EUR voor de print. Werkuren en klein materiaal niet meegerekend. </p> <ul><li>Arduino Uno : 15EUR</li> <li>LCD scherm : 10EUR (via Amazon)</li> <li>RFID module : 5EUR (via China (<a href="https://www.aliexpress.com" target="_blank">AliExpress</a>))</li> <li>Keypad : 10EUR (via Amazon)</li> <li>3D print : 40EUR</li> </ul><p><strong>Op naar het volgende Arduino-project!</strong> Ook voor Suikerrock trouwens... ;-)</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/3d.html" hreflang="nl">3D</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1449&amp;2=comment_node_story&amp;3=comment_node_story" token="IWg4iCxGoxO85wNJ-n1xdqfskP0bzumUVFgqJhb56VU"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Tue, 27 Jun 2017 05:34:45 +0000 Jan Ottenbourg 1449 at https://www.ottenbourg.com/blog Arduino project met NeoPixels en 3D printing https://www.ottenbourg.com/blog/2017/04/arduino-project-met-neopixels-en-3d-printing <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1447.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1447" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">16/04/2017</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Sinds enkele maanden ben ik mij aan het verdiepen in een <strong>nieuwe hobby</strong> nl. het <strong>combineren van electronica en programmeren</strong>, van hard- en sofware.... Eerst <a href="https://nl.wikipedia.org/wiki/Raspberry_Pi" target="_blank">Raspberry Pi</a>, maar sinds enkele weken vooral <a href="https://nl.wikipedia.org/wiki/Arduino_(computerplatform)" target="_blank">Arduino</a>.<br /> Beiden zijn zogenaamde "<strong>micro controllers</strong>", soort van <em>mini-computers</em> zeg maar, niet veel groter dan bankkaart, die je kan programmeren en waarmee je hardware (lampjes, relays,...) kan aansturen.</p> <ul><li><a href="https://www.raspberrypi.org" target="_blank">Raspberry Pi</a> is zo goed als een volwaardige computer met een besturingssysteem (Linux) en opslaggeheugen</li> <li>Een <a href="https://www.arduino.cc" target="_blank">Arduino</a> heeft geen besturingssysteem of opslaggeheugen en is dus minder complex</li> </ul><p>In de industrie gebruikt men voor dit soort toepassingen de benaming <strong>PLC</strong> (<a href="https://nl.wikipedia.org/wiki/Programmable_logic_controller" target="_blank">Programmable Logic Controller</a>, of Programmeerbare Logische Eenheid).</p> <p>Op aangeven van een <a href="http://frederickvandenbosch.be/?p=359" target="_blank">blog-post van Frederick Vandenbosch</a> wilde zelf wel zo eens een "<strong>kerst-ster</strong>" maken. En dit is het resultaat (voor en achterkant)!</p> <p><img alt="Arduino project NeoPixels" src="//www.ottenbourg.com/blog/uploaded_images/Arduino-kerstster.png" /></p> <p>Een basis <a href="http://www.arduino.org/products/boards/arduino-uno" target="_blank">Arduino Uno</a> had ik al liggen, de 5 <strong>RGB LED-strips</strong> (<a href="https://www.adafruit.com/product/1426" target="_blank">NeoPixel Sticks</a>) werden besteld bij <a href="https://www.adafruit.com" target="_blank">Adafruit</a>, de <a href="https://www.thingiverse.com/thing:624811" target="_blank">3D-versie van ster</a> vond ik op <a href="https://www.thingiverse.com" target="_blank">Thingiverse</a> en voor de <strong>3D-print</strong> gebruikte ik <a href="https://www.3dhubs.com/service/fish" target="_blank">Joe's Hub</a> (hier in Dubai) via de wereldwijde online printing service <a href="http://3dhubs.refr.cc/JWNQV7P" target="_blank">3D HUBS</a>. Eens alles verzameld kon het samenstellen en <strong>solderen</strong> beginnen. Wat lijm aan de verbindingen (hete lijmpistool) voor de versteviging en het programmeren van de LED-effecten ging als een fluitje van een cent.</p> <p>Het leuke aan deze NeoPixels LEDs is dat je alles in serie achter elkaar kan verbinden (solderen) en <strong>maar 3 draden nodig</strong> hebt om elke LEDje individueel te bedienen (5V, GND en DATA)!<br /> De <a href="https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library" target="_blank">Adafruit NeoPixel library</a> is heel uitgebreid en aan de hand van de enkele voorbeelden ben je snel vertrokken.</p> <iframe height="360" src="https://www.youtube.com/embed/Y8eWO-Y0Ssg" width="640"></iframe><p> Al bij al een <strong>leuk knutselprojectje</strong> met een praktische toepassing. Volgende stap is de Arduino Uno vervangen door het <strong>veel kleinere broertje</strong> de <a href="https://store.arduino.cc/arduino-nano" target="_blank">Arduino Nano</a>, en dan zijn we klaar voor volgende Kerst!</p> <p>Meer Arduino projecten (o.a. voor Suikerrock) zitten er aan te komen... stay tuned.</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1447&amp;2=comment_node_story&amp;3=comment_node_story" token="7sD7mWNLvHgv_S-82C_A3o5wZ9Q3R0ZIwfLTutOCddU"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Sun, 16 Apr 2017 17:23:08 +0000 Jan Ottenbourg 1447 at https://www.ottenbourg.com/blog