Inhaltsverzeichnis
Programmieren des mBot-Roboters
Dieser Abschnitt ist technischer gehalten als die anderen, weshalb er sich eher an erfahrene Arduino-Anwender richtet. Er kann jedoch auch als Referenz verwendet werden, nachdem man sich durch die „Hello-World“-Projekte gearbeitet hat. Weiterhin werden wichtige mBot-Details aufgelistet, die für eine anspruchsvollere mBot-Programmierung erforderlich sind.
Alle Makeblock-Projekte müssen immer die folgende Bibliothek einbinden:
#include <MeMCore.h>
Kurzüberblick API
Im API-Bereich befindet sich die offizielle Dokumentation der Makeblock-Bibliothek. Sie umfasst Klassen für mehrere mBot-Modelle, darunter auch Funktionen, die der einfache mBot nicht benötigt oder unterstützt.
| MeRGBLed - farbige LED's | |
| Code | Beschreibung |
|---|---|
MeRGBLed led(0, 2); | LED (Objekt) erstellen - Werte sind durch die Hardware fest!!! |
led.setpin(13); | PIN 13 (siehe Pinbelegung) im setup() setzen! |
setColorAt(led,r,g,b) | Setzt die Farbe der gewählten led mit den Werten für Rot (r), Grün (g) und Blau (b) zwischen 0 und 255. Dabei bedeutet 0,0,0 kein Licht und 255,255,255 weißes Licht. led ist 0 oder 1 (für die beiden LED's) |
show() | Anzeigen (nach dem setzen) der Farbe. |
| MeBuzzer - Buzzer (Summer) | |
| Code | Beschreibung |
|---|---|
MeBuzzer buzzer; | Buzzer (Objekt) erstellen |
buzzer.tone(frequency, duration); | frequency - Frequenz des gespielten Tons. duration - Dauer (in ms) für den ausgegebenen Ton. |
buzzer.noTone () | Ausgabe stoppen. |
| MeDCMotor - Motoren | |
| Code | Beschreibung |
|---|---|
MeDCMotor motor1(M1); | Motor (Objekt) erstellen - M1! |
MeDCMotor motor2(M2); | Motor (Objekt) erstellen - M2! |
motor1.run(value); | Geschwindigkeit (valued) von 255 bis -255. 0 stopt den Motor. |
motor1.stop(); | |
| MeLightSensor - Lichtsensor | |
| Code | Beschreibung |
|---|---|
MeLightSensor lightSensor(PORT_8); | Lichtsensor (Objekt) erstellen! |
lightSensor.read() | Sensor auslesen (0-1023), je heller desto größer der gelesene Wert. |
Pinnbelegung
| A0 | RJ25 plug 4 (default not-connected) |
| A1 | RJ25 plug 4 (default not-connected) |
| A2 | RJ25 plug 3 ultrasonic |
| A3 | RJ25 plug 3 ultrasonic |
| A6 | Light sensor |
| A7 | Button |
| D2 | IR RCV |
| D3 | IR TX |
| D4 | DIR2 - direction motor2 |
| D5 | PWM2 - pwm motor2 |
| D6 | PWM1 - pwm motor1 |
| D7 | DIR1 - direction motor1 |
| D8 | Buzzer |
| D9 | RJ25 plug 2 linefollower |
| D10 | RJ25 plug 2 linefollower |
| D11 | RJ25 plug 1 (default not-connected) |
| D12 | RJ25 plug 1 (default not-connected) |
| D13 | 2 WS2812 RGB LEDs |
freie Ports
Die beiden freien Ports (1 und 4) stellen damit folgende Funktionalität frei verfügbar:
| GND | Ground (frei verfügbar) |
| VCC | VCC (frei verfügbar) |
| SDA | I2C SDA (frei verfügbar) |
| SCL | I2C SCL (frei verfügbar) |
| A0 | Analog Pin (frei verfügbar) |
| A1 | Analog Pin (frei verfügbar) |
| D11 | Digital Pin (frei verfügbar) |
| D12 | Digital Pin (frei verfügbar) |
Schematic
Installation
Für die Verwendung des mBot unter Arduino muss die Makeblock-Bibliothek installiert werden. Am einfachsten ist es, die Bibliothek direkt aus der Arduino-IDE zu installieren (siehe Bild). Alternativ kann sie auch manuell hinzugefügt werden. Außerdem kann die Bibliothek im Downloadbereich heruntergeladen werden, in der Version 3.27.


