MBot: Haskell interface for controlling the mBot educational robot

[ educational, gpl, library ] [ Propose Tags ]

This is a library to control the mBot robot with haskell. This will only work when you connect the robot with the default firmware over 2.4ghz the Bluetooth version is not supported !


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1.0, 0.1.2.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.2.4.0, 0.2.4.1
Change log ChangeLog.md
Dependencies base (>=4.8 && <4.10), bytestring (>=0.10 && <0.11), hidapi (>=0.1 && <0.2), mtl (>=2.2 && <2.3) [details]
License GPL-3.0-only
Author Christophe Scholliers
Maintainer Christophe.Scholliers@UGent.be
Category Educational
Uploaded by cfscholl at 2016-11-06T12:40:19Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 7685 total (39 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-11-17 [all 1 reports]

Readme for MBot-0.1.0.0

[back to package description]

MBot Bibliotheek

Om je robot te programmeren hebben we voor jullie een bibliotheek geïmplementeerd die draadloos instructies naar de robot stuurt. Op de robot zelf draait er een programma dat staat te wachten op instructies en deze één voor één uitvoert. Deze bibliotheek laat toe om de motors te sturen en de sensoren uit te lezen. Een sketch van de verschillende sensoren kan hieronder bekijken.

Connectie

De eerste stap om de robot te programmeren is dus om eerst een connectie met de robot te maken. Dat doe je met de functie openMBot. Het type van deze functie is IO (Device) je zal deze dus enkel kunnen oproepen vanuit de IO monad.

Commandos

Eens je een device hebt kan je gebruik maken van de functie sendCommand. Deze functie verwacht twee argumenten een Command en een Device. De MBot ondersteunt twee commando’s. Het eerste commando SetRBG dient om de RGB leds aan te schakelen. Om deze uit te schakelen kan je de drie kleuren op 0 zetten. Het tweede commando dient om de motors aan te schakelen. Merk op dat je MBot meteen zal beginnen rijden. Hij zal dus niet stoppen als je de motors daarna niet uitschakelt. Dat doe je door de motor snelheid op 0 te plaatsen. Als je het complement van de snelheid neemt zal de motor achterwaarts draaien (voorbeeld code kan je terugvinden in MBot.hs). Om de MBot te doen draaien schakel je één motor in terwijl de andere stilstaat.

Sensoren

Er zijn twee sensoren op de MBot die je kan uitlezen met respectievelijk readUltraSonic en readLineFollower. De readUltraSonic functie geeft een getal terug dat aangeeft hoever een object voor de sensor staat. De line sensor bestaat uit twee sensoren die meten of de vloer eerder zwart of wit is. De readLineFollower functie geeft een waarde van het type Line terug. Deze waardes zijn ofwel LEFTB, RIGHTB, BOTHB, BOTHW dit geeft aan welke kleur de linker en rechter sensor uitleest.