Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord
abonneren

mBot-tutorial: uitbreidingen installeren

Inhoudsopgave

  1. > Inleiding
  2. > Lees verder op pagina 2
Een robot maak je zelf eenvoudig op basis van een Arduino-microcontroller. Heb je eenmaal zo’n robotje rondrijden, dan houdt het knutselen niet op. In deze mBot-tutorial kijken we naar het installeren van uitbreidingen.

We laten in dit artikel een aantal mogelijkheden zien om de mBot uit te breiden. Op het einde volgt je robot lichtstralen in het donker, reageert hij op bewegingen of toont hij afhankelijk van de temperatuur een andere gezichtsuitdrukking. En alle mogelijke combinaties daarvan, want je programmeert je robot immers helemaal zelf.

Interactive Light & Sound Add-on Pack

Voor onze eerste uitbreiding hebben we het Interactive Light & Sound Add-on Pack voor de mBot gekocht. Dit geeft je robot ogen en oren. Het pakket bestaat uit licht- en geluidsensoren, een rgb-led, en bijbehorende kabels en onderdelen om alles te bevestigen. De handleiding komt met instructies voor drie robots: een robot die licht najaagt, een slimme bureaulamp die je inschakelt met je stem of met een beweging, en een robot in de vorm van een schorpioen.

We maken in deze masterclass gebruik van de robot die het licht najaagt. Dit is een uitbreiding van de standaard mBot uit ons vorige artikel, dus we kunnen direct verdergaan met de instructies van de uitbreiding. Je monteert aan de twee zijkanten van de voorkant van de robot een balkje en op elk balkje plaats je een lichtsensor. Gebruik voor dat laatste de schroevendraaier die bij de mBot geleverd wordt, maar let erop dat je de steel er zo insteekt dat je een zeshoekige kop hebt.

Als je de mBot uit ons vorige artikel nog hebt staan met de standaard bekabeling, dien je nóg iets te veranderen. De lijnsensor (onderaan de mBot) mag in rj25-connector 2 blijven, maar de ultrasone sensor steek je in connector 1 in plaats van 3. De twee lichtsensoren zijn immers analoge sensoren, die we met connectoren 3 en 4 moeten verbinden.

De hardware is dus klaar, nu is het tijd om onze aangepaste robot opnieuw te programmeren. Het programma lijkt heel wat op die van de lijnvolger in het vorige artikel en is eigenlijk vrij eenvoudig. We definiëren twee snelheden: snel en traag. En dan herhalen we de hele tijd een lus.

In die lus gebeuren drie tests: als de lichtsensor op poort 3 (links) een hogere lichtintensiteit registreert dan de lichtsensor op poort 4 (rechts), laten we de motor op poort M2 (de rechtermotor) sneller draaien dan de motor op poort M1 (de linkermotor). In het andere geval sturen we de motoren andersom aan. En als beide sensoren dezelfde lichtintensiteit registreren, laten we beide motoren even snel draaien.

Verbind je mBot via de usb-kabel met je pc. Open dan in het menu Verbinden het onderdeel Seriële Poort en kies de poort die in het submenu staat, zoals COM3. Klik daarvoor eerst op het menu Bewerken / Arduino mode. Rechts krijg je nu de Arduino-code te zien die overeenkomt met je mBlock-programma. Klik bovenaan rechts op Upload naar Arduino. Als er Upload gelukt staat, staat het programma op je mBot en kun je de kabel verwijderen.

Plaats je robot nu in een volledig verduisterde kamer en schakel hem in. Schijn met een zaklamp (of de flits van je smartphone) op de vloer. Als je links van de robot schijnt, volgt de robot je licht naar links. Schijn je rechts, dan maakt hij een bocht naar rechts. En schijn je recht vooruit, dan volgt hij je vooruit. Dat werkt het best als de kamer volledig verduisterd is, want anders komt er ook ander licht op de sensoren en reageert hij dus niet alleen op het licht dat jij schijnt.

Als de robot te traag rijdt en zijn draaicirkel daardoor te groot is, verander dan de waarde van de variabelen traag en snel in de code en upload het programma opnieuw. De code is uiteraard ook nog uit te breiden. Zo maken we momenteel geen gebruik van de lijnvolger en de ultrasone sensor. We houden het als een oefening voor de lezer om het programma uit te breiden zodat het dankzij de ultrasone sensor niet meer botst tegen objecten.

PIR-bewegingssensor

Een andere interessante sensor is een PIR-bewegingssensor. Die detecteert beweging tot op ongeveer zes meter afstand. Als we de lichtsensoren weer van de mBot afhalen en er een PIR-bewegingssensor op aansluiten, geven we onze robot plots heel wat andere mogelijkheden. Naast de sensor zie je op de sensormodule trouwens een klein schroefje met de tekst DISTANCE. Dat is een potentiometer waarmee je het bereik van de sensor instelt door eraan te draaien.

We schrijven nu een klein programma dat onze robot doet voortbewegen zolang hij beweging detecteert en doet stoppen zodra hij geen beweging meer detecteert. Dat is heel eenvoudig. We maken weer een herhaal voor altijd lus met daarin een als... dan... anders test. We testen met PIR bewegings sensor op Poort 3 = 1 op beweging, en we schakelen in dat geval beide motoren op dezelfde snelheid in. Is er geen beweging, dan schakelen we beide motoren uit door hun snelheid op 0 te zetten.

Led-matrix

Tot nu toe hebben we onze robot alleen maar uitgebreid met sensoren om op allerlei omstandigheden te reageren. Maar de reacties bleven altijd hetzelfde: de robot beweegt. Met een ledmatrix kunnen we daar iets aan doen: daarmee geven we onze robot een gezicht. Deze component heeft 128 blauwe leds in een matrix van 16 bij 8. Alle leds zijn individueel te programmeren om icoontjes of tekst te tonen. We monteren de ledmatrix in de plaats van de ultrasone sensor op de mBot.

Verwijder het bruine plastic laagje aan de voor- en achterkant van het ‘gezicht’. Je houdt nu een halfdoorzichtig acrylaat plaatje vast. Plaats de voorkant van de ledmatrix tegen dit plaatje en bevestig het met de meegeleverde plastic schroefjes eraan vast. Verwijder met de zeshoekige schroefkop de ultrasone sensor van de voorkant van de mBot en gebruik de twee schroefjes om daarvoor in de plaats het ‘gezicht’ van de ledmatrix te monteren. We sluiten de rj25-connector aan op poort 1.

We beginnen van ons bewegingsprogramma, maar voegen aan de tak waarmee de test beweging detecteert nog een opdracht toe om de tekst ‘Hoi’ op de ledmatrix te tonen. Zoek bij de scripts in de categorie Robots naar de component wijzig matrix display op Poort 1 x: 0 y: 0 tekst: Hi en verander de tekst Hi in Hoi. In het geval dat er geen beweging meer is, verander je de tekst in een spatie. Zo begroet onze robot ons als we in zijn gezichtsveld bewegen en komt het gezichtje terug als er geen beweging is.

Geschreven door: Koen Vervloesem op

Category: Workshop, Programmeren

Tags: Raspberry Pi, Knutselen, mbot, robot

Nieuws headlines

Laatste reactie