Deze bijeenkomst was op zaterdag 19 december 2015 's middags van 13:00 tot 17:00 uur in De Hilt in Eemnes.

Op deze dag hielden we onze eerste plenaire sessie om 14:00 uur in de Eemzaal.

De volgende onderwerpen zijn toen aan bod gekomen:

Er was geen tijd voor nog meer onderwerpen, zoals backtracken en het waterkruikenprobleem. Deze komen in een latere plenaire sessie mogelijk nog aan bod.

 'Intelligente' LEDs

Ronald vertelde over Intelligente LEDs.

Deze komen uit China en kunnen met een Arduino worden bestuurd. Ze worden gebruikt voor lichtshows en dergelijke.

  1. Eenvoudige standaard LED

    De basis aansturing van een standaard LED vanaf de + aansluiting van de voeding, via een weerstand dan naar de LED in de juiste richting dan naar de massa van de voeding.

               weerstand       LED
    (+) ----- [=========] ----- |> ----- (-)
    
  2. Een RGB LED

     / LED Rood
    +- LED Groen
     \ LED Blauw
    

    Met een RGB LED, een combinatie van een rode, groene en blauwe LED, kan elke kleur gemaakt worden. Aansturing kan via puls breedte modulatie, pulse width modulation, PWM. De LED is aan of uit, de tijdsduur dat de LED aan is bepaalt de lichtsterkte.

  3. Intelligente LED

    In de behuizing zit een RGB LED met een eenvoudige controller chip. Deze heeft digitale registers waarin een waarde 0 tot en met 255 gezet kan worden. De waarde bepaalt de tijdsduur via PWM, waarmee de lichtsterkte wordt ingesteld.

    Er is een serial data in en out, 1 verbinding Serial in, 1 Serial out. Voor de RGB data wordt 8 bits per kleur gebruikt.

    Deze intelligente LEDs kunnen gekoppeld worden, een daisy chain. De Serial out naar gaat dan naar de Serial in van de volgende. Dan geldt 24 bits = 3 bytes per LED, met 48 bits = 2 bytes worden 2 LEDs aangestuurd. Elke chip gebruikt de eerste 3 bytes en stuurt de rest door. De serial data moet blijven doorgaan, interrupts op de Arduino kunnen het versturen van de bits verstoren.

    Deze LEDs hebben de merknaam Neopixel.

  4. Nieuwe intelligente LED

    Deze hebben een data en een clock in en out, dus 2 in en 2 out verbindingen. De verbeterde controller gebruikt 4 bytes per LED. Dit is naast 24 bits voor RGB ook nog:

    • 3 bits control bits: data of start (of einde ?) voor reset
    • 5 bits hoofd lichtsterkte (density) voor dimmen, werkt dan op alle kleuren

    Deze LEDs heten APA102, ze gebruiken het SPI seriele protocol. Ze kosten ongeveer 25 euro voor 100 stuks, dit zijn de LEDs die in de demonstatie worden gebruikt.

Het werkt nu met een Arduino, een volgende gebruik zou mogelijk met een Raspberry Pi kunnen werken.

Er volgt een demo van de besturing. De Arduino code wordt aangepast via de Arduino IDE. Het aanpassen van de helderheid volgt na het wijzigen van de code en het uploaden van het nieuw programma naar de Arduino. Als demonstratie volgt een regenboog effect.

De gebruikte USB stroom is afhankelijk van de helderheid van de LEDs. In de demo is bij maximale helderheid het verbruik wel 1.2 Ampere, de LEDs branden dan heel fel. Nog een tip: bij Action is een goedkope eenvoudige USB stroommeter te koop, deze kost ongeveer 3 euro. Bij sommige andere intelligente LEDs is ook voeding in daisy chain mogelijk.


 Liberty BASIC

Gordon vertelde over Liberty BASIC..

Liberty Basic is beschikbaar voor Microsoft Windows, het is Shareware. Er is een cursus beschikbaar. Het is eenvoudiger dan Visual Basic .NET.

Er is Arduino (Atmel) support. Je kunt met Liberty Basic een Arduino programmeren. Dit is dan in plaats van programmeren met C wat meer gebruikelijk is. Hiervoor is wel een andere bootloader voor de Arduino nodig.


 Discussie

De notities gemaakt tijdens deze discussie zijn niet verder uitgewerkt:

voorstel jonge mensen uitnodigen
    laten vertellen van extern
    in plaats van alleen binnen HCC

scholen betrekken
  3 VWO projecten met Arduino voorbeelden
     automatisch magnetron instellen
       via verpakking streepjescode
  techniek koppelen aan toepassingen
   Kinect bewegingssensor 3D puntenwolken
  Robotica interessegroep Lego Mindstorm
    interessant voor jeugd

programmeertalen lijken op elkaar
  hoger niveau, led nr zoveel die kleur,
     niet zelf bits, maar via bibliotheek
  bij aanlopen tegen grenzen
    verdiepen in onderwerp nodig
      alleen bij interesse en noodzaak
  eerst floating point gebruiken
    daarna pas interne structuur kennen
  als stroom te hoog dan sterkere voeding nodig
    grenzen uitrekenen pas later

kennis database
  wie weet waarvan
  hoe kennis naar buiten brengen
    externe mensen vragen lezingen
      voor geld?
    commerciele doen het gratis, is reclame
  jeugd werkt anders, kennis pas vragen zodra nodig

 Nikola

Er volgt nog uitleg en een demonstratie van Nikola. Met deze statische website generator is ook de website van HCC!programmeren gemaakt.

Het is hiermee mogelijk om een webpagina in de browser open te hebben en tegelijkertijd de source code in een tekst editor aan te passen. Na wijzigingen kan de tekst met Ctrl-S worden bewaard. Dan wordt de webpagina na enkele secondes automatisch in de browser ververst. Dit is heel handig om snel het resultaat van wijzigingen te kunnen bekijken.

Omdat de pagina's geschreven zijn in reStructuredText is het ook mogelijk om andere outputs naast HTML te genereren. Zoals een PDF bestand, maar ook een Windows helpbestand (CHM) is mogelijk.