nov 042018
 

Met ingang van versie 70 van Google Chrome op Windows 10 heeft de browser ook de beschikking over ondersteuning voor Web Bluetooth. Dat is cool want dat betekent dat je vanuit een webpagina op bv een Windows 10 laptop met Bluetooth ondersteuning verbinding kunt maken met andere apparaten die Bluetooth ondersteunen. Zoals bijvoorbeeld de BBC micro:bit.

Gelukkig ging dat eigenlijk best probleemloos, met dank aan het uitzoekwerk van Ferry Djaja voor micro:bit Singapore. Hij deelde twee voorbeelden die nu ook in Chrome op Windows 10 werken. Het enige dat je hoeft te doen is de HEX te downloaden naar je micro:bit. Die HEX kun je hier vinden als raw bestand. Kies voor opslaan als… en dan als node-bbc-microbit-v0.1.0.hex (let op niet als TXT-bestand) en zet hem op je Micro:bit. Daarna kun je ‘gewoon’ naar de betreffende URL gaan in Google Chrome (versie 70 of beter) en je selecteert “Connect”. Als je je Micro:bit aan hebt staan (via batterij kan, hij hoeft niet via een kabel aan je laptop te hangen) dan moet je een device zien in het popupscherm dat dan verschijnt.

Ferry heeft twee voorbeelden online staan: eentje waarbij je een afbeelding van de micro:bit ziet die meedraait met de werkelijke beweging. En eentje waarbij je een grafiek ziet voor de x,y,z waarden van de versnellingsmeter van de micro:bit.

De grafiek ziet er interessant uit, maar de waarden zijn een beetje vreemd. Zelfs als de micro:bit stil ligt zijn er waarden die soms wijzigen. Nou staan er in de code voor de webpagina ook wel wat opmerkingen die doen vermoeden dat met name die code niet zomaar een-op-een in een productiesituatie gebruikt zou moeten worden:

Toch nog maar even wat andere bronnen opzoeken (zoals deze, deze, of dit filmpje)

 

 

Deel dit bericht:
okt 062018
 

Sinds de Micro:bit beschikbaar kwam is er een groot aantal accessoires op de markt gekomen die het kleine, oorspronkelijk op het onderwijs gerichte, apparaatje eenvoudiger koppelen met andere hardware. Zie bijvoorbeeld deze pagina bij Kitronik. Soms kan ik me er heel wat bij voorstellen. Neem bijvoorbeeld dit boardje om als batterij een knoopcel te kunnen gebruiken (en een buzzer toe te voegen). Dan voeg je 5 GBP toe aan de kosten, maar heb je wel een heel compacte setup.

De GAME ZIP 64 is dan weer zo’n accessoire waar ik wat meer vraagtekens bij heb. Die kost bijna 40 GBP en dan krijg je “the ultimate retro handheld gaming platform for the micro:bit”. Niet alleen is die prijs enorm (ruim 2x meer dan je voor de Micro:bit betaald) maar het wordt natuurlijk nooit een echt ultiem retro handheld gaming platform.

Datzelfde heb ik bij de Kickstarter van PiSupply. Daar kun je onder andere een boardje ‘kopen’ (afhankelijk van of ze hun doelbedrag halen) waarmee je van je Micro:bit een node in het LoRaWAN netwerk van The Things Netwerk kunt maken. De Early Bird kosten van dat geheel, inclusief verzendkosten naar Nederland bedragen omgerekend 36 euro. Ook dat is een stevig bedrag, maar ook hier heb ik de vraag of LoRaWAN op een Micro:bit zinvol is. De reden dat je LoRaWAN gebruikt is als je weinig data hoeft te versturen, mogelijk niet binnen bereik van WiFi bent, 4G een (te) dure optie is én als je weinig vermogen wilt gebruiken. Dus als je apparaten wilt maken die zo lang mogelijk op een batterij meekunnen. En als ik iets geleerd heb van de talrijke video’s die Andreas Spiess gemaakt heeft over het onderwerp (zeer de moeite waard overigens) dan is het dat ook gewone ontwikkelborden, dus borden waar de LoRa chip en processor al geïntegreerd meestal niet zo geoptimaliseerd zijn als kan. Logisch, je ruilt eenvoud van gebruik in voor meer stroomverbruik.

Dan zie ik liever de constructies zoals Pauline Maas ze in Eindhoven bij de Maker Faire gebouwd had. Soms wat gelikter met onderdelen uit de 3D printer, andere keren gewoon met karton of met een 5 cent muntje als koppeling tussen meerdere kabels met krokodilbek. Niet iets wat je gebruikt voor een constructie die meerdere maanden/jaren zonder problemen moet werken. Maar voldoende voor een tijdelijk project of een prototype.

Laat ik positief afronden. Ik heb de Kickstarter gebackt voor 1 node. Nog even wachten tot maart 2019, áls ze hun deadline halen natuurlijk. Ik bestel hem, zal hem testen en laten horen hoe goed hij werkt. Als test, niet als ding dat ik permanent ergens ga installeren.

 

 

Deel dit bericht:
jun 042018
 

Op de BBC website staat een mooi filmpje (embedden is helaas nogal een ding, gaat via lelijke iframe) van een workshop die door Artronix uit Glasgow ontwikkeld is. In de workshop bouwen deelnemers/leerlingen robots met een of meerdere micro:bits, servo’s, LED’s etc.
Op zich niet nieuw. Maar de opdracht daarbij is om een scene uit een bekende film na te bouwen. Op de website zie je voorbeelden van Jeepers BleepersWar of the Worlds – Rise of the micro:bitsMicro:Wars – A New Code, Bride of Frankenbit, A Fistful of micro:bits.

De scenes bevatten een combinatie van hergebruikte speelgoed poppen, decors, filmeffecten en vooral veel creepy stemmetjes. De clips zijn kort en ook dat is niet altijd gemakkelijk want het betekent dat ze heel erg to the point moeten blijven. Bekijk ze zeker ook even op de pagina van de BBC daar staat ook de PDF met instructies. Op Twitter zijn er ook een aantal te vinden.

(p.s. aan de tweets kon ik zien dat het project van 2017 is, ik kwam er vandaag pas via de Adafruit website)

Deel dit bericht:
nov 272017
 

Ondanks alles zijn kinderen nog lang niet zo’n nerd of geek als hun papa is. En hoewel ik natuurlijk sowieso helemaal niet over ze mag klagen, kreeg ik vandaag toch nog wel weer wat meer hoop. Vandaag kwam namelijk weer eens een pakje uit China binnen. Nu met zo’n “bekende” 37-in-1 sensorkit. Een zakje (ik had niet gekozen voor de duurdere versie met doosje) met daarin 27 verschillende sensoren voor aan de Arduino, de ESP8266 of de micro:bit.

Totale kosten zo’n 10 euro, geen geld dus. Ongetwijfeld niet de meest hoogstaande kwaliteit, maar elke sensor zit al op zijn eigen printplaatje met pinnen om meteen een dupont-kabeltje op aan te sluiten.

Wat me positief verraste was de belangstelling en de nieuwsgierigheid die het pakje met sensoren opwekte. Niet omdat ze iets moesten of wilden bouwen. Nee, gewoon nieuwsgierig naar waar al die 27 sensoren voor dienden, wat je er mee kon doen. Sommigen kenden ze al (relais, thermometer etc.) maar andere ook weer niet. Het bijbehorende kaartje bevat niet meer dan alleen een afbeelding van de sensoren en de bijbehorende naam. Ze kunnen er via YouTube dus heel eenvoudig achter komen.

Maar dat moet nog even wachten want komend weekend “moeten” we eerst nog een Sinterklaas surprise in elkaar knutselen op basis van een servo, een ATtiny85, LEDjes, hout, verf,…..
De week erna hebben we wél tijd. Ik ben eens benieuwd hoe ver we komen.

Dat kinderen alleen maar willen gamen en tv kijken is net zoveel onzin als dat hele digital natives verhaal van voorheen. 🙂

Deel dit bericht:
apr 102017
 

Als het in het onderwijs in Nederland over “programmeren” gaat worden eenvoudige vragen al heel snel ingewikkeld. Dus een vraag als “Welke programmeertalen zouden onze leerlingen/studenten moeten kennen?” (bron) is niet helemaal zonder risico. Immers, je moet dan gaan nadenken over het doel dat je daarmee hebt. Wil je ze leren programmeren? Of juist coderen? Of software ontwikkelen? Ik ga niet eens proberen naar bronnen te linken die ze op één hoop of op juist heel verschillende hopen (en dan per bron ook verschillend) gooien.

Dus laat ik het maar even veilig houden in deze blogpost. Zo’n 9 jaar geleden vroeg ik me af welke programmeertalen ik allemaal zou moeten leren. Zoals ik toen beschreef:   Basic was mijn eerste kennismaking met programmeren, maar daar kon je (toen) zo weinig mee dat ik er niet veel interesse voor had. Op de universiteit leerde ik Turbo Pascal om daar vervolgens nooit meer wat mee te doen. Daarna kwam ik in de Windows omgeving en Visual Basic (binnen Office!) en Active Server Pages (ASP) terecht. Mijn eerste kennismaking met JavaScript was in de browser, ASP werd vervangen door PHP toen ik weblogtools ging gebruiken op basis van die taal. En daarna werd het een opeenvolging van “wat heb ik nodig”. Zo kwam er een beetje Python bij, een heel klein beetje .NET en eveneens een klein beetje Java. Dat was toen. Sindsdien zijn er dingen gewijzigd en gelijk gebleven.

Lees verder….

Deel dit bericht:

Mooie bronnenlijst voor micro:bit

 Gepubliceerd door om 10:40  Hardware, microbit
mrt 222017
 

Er zijn heel veel plekken op internet waar je meer informatie kunt vinden over de micro:bit. Vandaag kwam ik er eentje tegen die ik zelf in ieder geval nog niet kende en die ik de moeite van het afzonderlijk noemen zeker waard vind. Carlos houdt op github een lijst bij van bronnen rond de micro:bit.

De bronnen zijn heel uiteenlopend, soms hoor je ze gewoon al te kennen als je zelf een micro:bit hebt, andere zijn waarschijnlijk onbekender.

Deel dit bericht:
mrt 112017
 

Toen ik afgelopen week met de micro:bit en de Circuit Playground (CPG) aan de slag ging, lukte het me niet om via serial een verbinding tussen de CPG in de richting van de micro:bit op te zetten in combinatie met de CPG library. Zónder die library kon ik dataverkeer beide kanten op realiseren, zodra ik de library initialiseerde met CircuitPlayground.begin(); ging er geen verkeer meer de kant op van de micro:bit.

De oplossing bleek te liggen in het gebruik van de hardware serial aansluitingen van de CPG in plaats van software serial waarmee ik aan de slag was. Tot nu had ik alleen met de hardware serial gewerkt als het ging om communicatie via de USB-poort van een Arduino. Dat deed ik dan via bv via Serial.println("Setup complete"); waarbij ik dan in de Serial monitor op mijn computer de output kon zien, ideaal voor het debuggen. Als een Arduino board een hardwarematige seriële aansluiting heeft (soms hebben ze er meer dan 1), dan kun je de andere hardwarematige poorten ook gebruiken. Die heten dan achtereenvolgens Serial1, Serial2 etc.
De hardwarematige poorten werken prima samen met de CircuitPlayground code. Ik heb een nieuwe versie van het script op Bitbucket gezet. In CPG_Serial_Slave.ino staat de versie met de softwarematige seriële poort in CPG_Serial_hardware.ino staat het script beter werkt en dan de hardwarematige seriële poorten gebruikt. De code op de micro:bit is nog steeds dezelfde microbit-Serial-Count-Master_and_Slave.hex die je hier kunt vinden.

De werking is als volgt: nadat beide script op respectievelijk de micro:bit en de CPG geladen zijn wachten de boards op een start teken. Door op de B-knop van de micro:bit te klikken begint het script daar. De micro:bit laat een tekst zien op het display waarin aangegeven wordt dat eerst een 0 (nul) naar de CPG gestuurd wordt. De CPG wacht totdat er data via de seriële lijn binnen komt. Is dat het geval, dan wordt de string die ontvangen is omgezet in een getal. Er worden dan evenveel Neopixels aangezet als het getal hoog is. Dan wordt hetzelfde getal terug gestuurd. Dat lijkt zinloos, maar de micro:bit wacht op het terug ontvangen van een getal voordat hij verder gaat, zo blijven beide processen in sync. De micro:bit laat zien dat hij +1 bij het getal optelt voordat hij het terug stuurt. Dat gaat verder totdat het getal groter is dan 10. Er zijn maar 10 Neopixels, dus reset de micro:bit het getal dan naar 0 en stuurt de 0 door zodat ook op de CPG alle Neopixels uitgeschakeld worden.

Ook dit was een test om het communicatiemechanisme beter te begrijpen. Interessant wordt het als ik nu een telefoon via Bluetooth aan de micro:bit koppel en instellingen draadloos door kan geven, of een WeMos D1 ESP8266 chip (kost zo’n 3 euro) om er voor te zorgen dat de CPG alsnog over een Wifi-verbinding kan communiceren. Dat zou via Firmata moeten kunnen, want ook die kan zowel via USB als via de hardwarematige seriële poort aangestuurd worden. Wordt dus later vervolgd.

Deel dit bericht:
mrt 092017
 

Ik ben niet voornemens om uitputtende lijsten, overzichten etc. te maken van projectideeën met betrekking tot de micro:bit, maar omdat ik gisterenavond weer even op YouTube rondgeneusd heb en er een aantal verzameld heb, vond ik dat ik ze ook hier wel even kon plaatsen:

Line-follower (volg de zwarte lijn)

Vergt wel dat je de onderdelen hebt die je via Kitronik kunt bestellen. Ik heb een versie uit (ik denk) India gezien waarbij alles “hand-made” was, maar dat is een niveautje meer werk.

Lees verder….

Deel dit bericht:
 Reacties uitgeschakeld voor Quickpost: projectideeën voor de micro:bit  Tags: ,
mrt 062017
 

Gisterenavond laat plaatste ik al een kort bericht over mijn poging om een micro:bit aan de Circuit Playground te koppelen. Het werd uiteindelijk (voor nu) een koppeling tussen Arduino -> micro:bit -> Circuit Playground via een seriële verbinding (1 enkel kabeltje van apparaat naar apparaat). Nog niet via Bluetooth of andere draadloze verbinding vanaf smartphone etc, maar dit was een noodzakelijke eerste stap. Omdat ik nog wat vragen heb die ik ook wil kunnen voorleggen aan mensen die geen Nederlands begrijpen, doe ik de rest van de blogpost in het Engels.

Over to English:

After watching this video and reading the tutorial by Tony DiCola, I wondered if it would be possible to use a micro:bit as bluetooth bridge between my smartphone and the Circuit Playground. After all, the micro:bit has BLE and support for the serial protocol. Looking at the code that Tony provided however made it clear quickly enough that it would not be a simple cut-and-paste action. The code looked very complex and very much specific for the combination Circuit Playground <-> Bluefruit LE module. So I started looking for other code that would do the same, but was easier for me to understand.

The most basic example of serial communication via the TX/RX pins comes from Adruino themselves using SoftwareSerial. I loaded that example on the Circuit Playground. For the micro:bit I used the https://pxt.microbit.org/ editor which (in the advanced tab) has support for the serial interface of the micro:bit to create a simple script that should receive and display any data received and would send data on the press of a button. Test #1 nothing happened…

Lees verder….

Deel dit bericht:
mrt 052017
 

Vandaag heb ik eindelijk wat meer tijd kunnen besteden aan een van de “concurrenten” van de micro:bit, namelijk de Circuit Playground van Adafruit. En ik weet wel, het als een concurrent plaatsen maakt het meteen zo’n “wie is beter?” discussie en dat levert niet altijd de meeste informatie op. En ik neem ook aan dat als iemand van Adafruit dit bericht zou lezen (via Google Translate), ze meteen zouden zeggen dat ze het geen concurrent vinden, maar producten die naast elkaar kunnen bestaan. En dat is ook zeker zo, maar het kan hoe dan ook geen kwaad om beide producten ook met elkaar te vergelijken. Want ze hebben een groot aantal dezelfde functionaliteiten en toch ook weer duidelijke verschillen.

Ik heb ze hieronder naast elkaar gezet. De vorm is uiteraard verschillend, de Circuit Playground is rond, zoals een aantal andere boards die door Adafruit ontworpen zijn en zo gemakkelijker in kleding te verwerken zijn. Beiden hebben grote GPIO-aansluitingen waar je met krokodilbek-klemmen kabels aan kunt bevestigen. Ze hebben allebei drukknoppen, een kompas, een accelerometer aan boord. De micro:bit heeft een led pixel matrix met 1 kleur, de Circuit Playground heeft maar 10 pixels, maar dat zijn NeoPixels die heel veel kleuren kunnen hebben. De micro:bit heeft Bluetooth Low Energy (BLE), voor de Circuit Playground moet je daarvoor een aparte uitbreiding van bijna 20 euro aanschaffen. De Circuit Playground heeft een mini speaker (kan geluid maken, geen muziek op die manier) en een licht sensor. De micro:bit kan via een connector 20 IO-poorten beschikbaar maken. Beiden hebben capacitive touch mogelijkheden.

Op de externe connectiviteit via BLE na zou je zeggen dat beide apparaten niet zo heel veel van elkaar verschillen. Waar het al wat anders wordt is als het gaat om het open source hardware ontwerp van de micro:bit die iedereen in staat moet stellen om apparaten te produceren, terwijl de Circuit Playground alleen via Adafruit gemaakt wordt. Ook zijn er voor de micro:bit vele verschillende, online en offline ontwikkelomgevingen, bijvoorbeeld deze via https://pxt.microbit.org/. De Circuit Playground sluit aan bij de Arduino ontwikkelomgeving, al kun je er ook via Python tegenaan praten. Beide omgevingen hebben de nodige voorbeelden als het gaat om projecten die leerlingen kunnen bouwen, zie bijvoorbeeld deze pagina van Adafruit, al zal de micro:bit met de grotere installed base in het Verenigd Koninkrijk hier het voordeel hebben qua snelheid waarmee die voorbeelden uitgebreid worden.

Toen ik bij Adafruit het voorbeeld zag van een Circuit Playground in combinatie met een losse BLE adapter moest ik meteen denken aan de micro:bit die ik in huis had. Die heeft wél BLE én kan via RX/TX communiceren met de buitenwereld (voor uitleg over UART en RX/TX zie dit bericht), zou ik die niet aan de Circuit Playground kunnen koppelen? Nou, dat ging iets minder gemakkelijk dan ik gehoopt had. Hierboven kun je zien dat het gelukt is, al gebruik ik nog geen BLE. Ik heb een Arduino Leonardo via een seriële verbinding gekoppeld aan de micro:bit die op zijn beurt weer gekoppeld is aan de Circuit Playground. De Arduino geeft een getal tussen 0 – 10 door aan de micro:bit, die laat hem zien op zijn matrix en geeft hem dan weer door aan de Circuit Playground die op basis daarvan 0 – 10 Neopixels aanschakelt. Allemaal steeds via 1 draadje. Uitleg over de werking volgt in een aparte blogpost. Het weekend is namelijk al weer voorbij.

Deel dit bericht: