Lego 2.0, spelen met Mindstorms en Java

/ Blog / Lego 2.0, spelen met Mindstorms en Java
Lego 2.0, spelen met Mindstorms en Java

Dennis van LoonJeroen Weijers, Willem van Dreumel


Lego

Net als elk kind zijn ook wij met Lego groot geworden. Wat Lego zo bijzonder maakt is het tijdloze karakter. Het is nog steeds leuk en met Mindstorms wordt het nu extra leuk omdat je daarbij ook nog kunt programmeren. De naam Lego is afgeleid van de Deense woorden ‘LEg GOdt’ wat letterlijk speel goed betekent. Dat is wat we met Lego Mindstorms doen, door robots te bouwen die we verschillende dingen kunnen laten doen.

Meetup

Afgelopen week hebben wij, Dennis, Jeroen en Willem, op een Meetup gesproken over het programmeren van de Mindstorm en dan met name over hoe dat te doen in Java.

Blokjestaal

In de standaardprogrammeertaal die wordt geleverd door Lego schrijf je programma’s met behulp van visuele (Lego) blokjes. Er zijn zes verschillende kleuren met elk een eigen categorie. De verschillende kleuren bepalen wat ze uitvoeren. Je hebt de keuze uit blokjes voor acties, besturingsverloop, input, gegevensbewerking, geavanceerd en zelfgemaakte methodes. Eenvoudige processen kunnen hiermee door beginners geprogrammeerd worden om de robot op een bepaalde manier te laten bewegen.

Waarom dan Java?

Om de robot sneller en betrouwbaarder acties uit te laten voeren is Java een goed alternatief. Hiermee kan je meer sturing geven en zaken preciezer uitschrijven. In een fractie van een seconde kan je bijvoorbeeld de robot achteruit laten rijden als een infrarood of ultrasone sensor een object op korte afstand tegenkomt. Vooral wanneer er meerdere acties tegelijkertijd uitgevoerd moeten worden kun je het programmeren overzichtelijker en het programma sneller houden.

Java gebruiken

Om Java in te zetten als programmeertaal voor de Lego Mindstorms zijn een paar dingen nodig. Allereerst is een Java API nodig welke de motoren en sensoren van de Mindstorm kan aansturen en uitlezen. Wij hebben voor EV3DEV gekozen. Dit is een Linux distributie welke op een SD-kaart geïnstalleerd dient te worden, gevolgd door een speciale ARM Java versie. Nu is je Mindstorm klaar om een Java programma te kunnen draaien met behulp van de EV3DEV-lang-java API.

Praktijk

Als je de SD-kaart klaar hebt kan je beginnen met de praktijk. Door goed gebruik te maken van alle sensoren en motoren in de robot kan je hem zo programmeren dat hij bijvoorbeeld een rode lijn zoekt en deze blijft volgen. Als de lijn niet gevonden kan worden, kun je de Mindstorm naar links en rechts laten rijden totdat hij de lijn weer heeft gevonden om zijn weg te vervolgen. Een uitbreiding hierop is dat je ook commando’s kan geven zoals achteruitrijden wanneer je je hand voor de robot houdt. De mogelijkheden zijn feitelijk eindeloos. Voorbeelden van successen met de Mindstorm vind je in een Rubik’s cube solver en een braille printer die standaard in Windows 10 ondersteund wordt.

 

Dennis van Loon, Jeroen Weijers en Willem van Dreumel zijn allen Java Consultants.

×