class instance NIBOburger
Funktion | Beschreibung |
---|---|
void begin () | Initialisierung des NIBOburger Roboters |
unsigned int getVoltage () | Versorgungsspannung messen. return-value: Spannung in Millivolt (4.8V ≙ 4800) |
void checkVoltage () | Versorgungsspannung überprüfen, im Fehlerfall anhalten und blinken |
void setLed (int led, int value) | LED ein/ausschalten: led: LED1=1, LED2=2, LED3=3, LED4=4 value: OFF=0, ON=1 |
int getLed (int led) | LED abfragen: led: LED1=1, LED2=2, LED3=3, LED4=4 return-value: OFF=0, ON=1 |
unsigned int getRandomSeed () | Zufallszahlen-Basis liefern |
unsigned int getAnalog (unsigned char adc_channel, unsigned char active) | Rohwert eines analogen Kanals auslesen |
class instance Engine
Funktion | Beschreibung |
---|---|
void begin () | Initialisierung |
void setPWM (int left, int right) | PWM Werte (-1023 ... 0 ... +1023) für die beiden Motoren setzen |
void setSpeed (int left, int right) | Geschwindigkeit für die beiden Motoren setzen. Die Werte werden in Ticks/Sekunde angegeben. Im Precise Mode entsprechen 200 Ticks (Fast: 40 Ticks) einer Radumdrehung (141 mm Strecke) |
void setTargetAbs (int left, int right, unsigned int speed) | Zielposition für Räder setzen. Die Werte werden in Ticks angegeben. Im Precise Mode entsprechen 200 Ticks (Fast: 40 Ticks) einer Radumdrehung (141 mm Strecke) |
void setTargetRel (int left, int right, unsigned int speed) | Zielposition für Räder setzen. Die Werte werden relativ zur aktuellen Position in Ticks angegeben. Im Precise Mode entsprechen 200 Ticks (Fast: 40 Ticks) einer Radumdrehung (141 mm Strecke) |
int getTargetDist () | Verbleibende Distanz zum Ziel bei Durchführung von setTargetAbs() bzw. setTargetRel(). Die Distanz ist der maximale Wert von den verbleibenden linken und rechten Ticks |
void stop () | Motoren anhalten (passiv Stoppen - rollt aus) |
void stopImmediate () | Motoren unverzüglich stoppen (aktiv Stoppen - bremst) |
left | -> siehe Engine.left (nächster Abschnitt) |
right | -> siehe Engine.right (nächster Abschnitt) |
class instances Engine.left / Engine.right
Funktion | Beschreibung |
---|---|
int getTicks () | Aktueller Zählerwert des Rades in Ticks, im Precise Mode entsprechen 200 Ticks (Fast: 40 Ticks) einer Radumdrehung (141 mm Strecke) |
int resetTicks () | Aktuellen Zählerstand auf 0 setzen |
class instance SurfaceSensor
Funktion | Beschreibung |
---|---|
void begin () | Initialisierung |
unsigned int getL () | Messwert linker Bodensensor |
unsigned int getC () | Messwert mittlerer Bodensensor |
unsigned int getR () | Messwert rechter Bodensensor |
unsigned int getLC () | Messwert linker Bodensensor mit Licht vom mittleren Sensor |
unsigned int getRC () | Messwert rechter Bodensensor mit Licht vom mittleren Sensor |
ColorRGB getColorRGB () | RGB-Farbwert aus den drei Sensoren berechnen und zurückliefern |
ColorHSV getColorHSV () | HSV-Farbwert aus den drei Sensoren berechnen und zurückliefern |
void calibrateWhite () | Kalibrierung auf weissem Untergrund, entspricht dem Wert 4096 (0x1000) |
void calibrateBlack () | Kalibrierung auf schwarzem Untergrund, entspricht dem Wert 0 (0x0000) |
void storeCalibration () | Kalibrierdaten im EEPROM speichern |
class ColorRGB
Funktion | Beschreibung |
---|---|
CALIBRATE_BLACK | 24 Bit RGB-Konstante für Kalibrier-Farbe: schwarz |
CALIBRATE_WHITE | 24 Bit RGB-Konstante für Kalibrier-Farbe: weiß |
CALIBRATE_RED | 24 Bit RGB-Konstante für Kalibrier-Farbe: rot |
CALIBRATE_BLUE | 24 Bit RGB-Konstante für Kalibrier-Farbe: blau |
CALIBRATE_GREEN | 24 Bit RGB-Konstante für Kalibrier-Farbe: grün |
CALIBRATE_YELLOW | 24 Bit RGB-Konstante für Kalibrier-Farbe: gelb |
void ColorRGB (unsigned char r, unsigned char g, unsigned char b) | Konstruktor aus einzelnen Farbkomponenten: Rot, Grün und Blau |
void ColorRGB (unsigned long val) | Konstruktor für 24 Bit RGB-Farbwert Bsp. Rot: 0xff0000 |
int diff (const ColorRGB & col2) | Farbabweichung (RGB) zu zweiter Farbe |
int diff (unsigned long val2) | Farbabweichung (RGB) zu zweiter Farbe (als 24 Bit Farbwert) |
class ColorHSV
Funktion | Beschreibung |
---|---|
CALIBRATE_BLACK | 24 Bit HSV-Konstante für Kalibrier-Farbe: schwarz |
CALIBRATE_WHITE | 24 Bit HSV-Konstante für Kalibrier-Farbe: weiß |
CALIBRATE_RED | 24 Bit HSV-Konstante für Kalibrier-Farbe: rot |
CALIBRATE_BLUE | 24 Bit HSV-Konstante für Kalibrier-Farbe: blau |
CALIBRATE_GREEN | 24 Bit HSV-Konstante für Kalibrier-Farbe: grün |
CALIBRATE_YELLOW | 24 Bit HSV-Konstante für Kalibrier-Farbe: gelb |
void ColorHSV (unsigned char r, unsigned char g, unsigned char b) | Konstruktor aus einzelnen Farbkomponenten: Hue, Saturation und Value |
void ColorHSV (unsigned long val) | Konstruktor für 24 Bit HSV-Farbwert |
int diff (const ColorRGB & col2) | Farbabweichung (HSV) zu zweiter Farbe |
int diff (unsigned long val2) | Farbabweichung (HSV) zu zweiter Farbe (als 24 Bit Farbwert) |
class instances SensorFL, SensorFR, SensorFLL, SensorFRR, SensorBL, SensorBC, SensorBR
Funktion | Beschreibung |
---|---|
void begin () | Initialisierung |
int activate (unsigned char mode) | Sensor-Modus setzen:
|
int get () | Sensor abfragen |
IO-Definitionen
Die IO-Definitionen sind für fortgeschrittene Benutzer zur Verwendung mit den ARDUINO Digital I/O Funktionen gedacht!
Name | Port + Bit | AVR Pin # | Beschreibung |
---|---|---|---|
IO_AN_FL | PA0 | 40 | Sensor Front Links - Messsignal |
IO_AN_FR | PA1 | 39 | Sensor Front Rechts - Messsignal |
IO_AN_BL | PA2 | 38 | Sensor Boden/Rückseite Links - Messsignal |
IO_AN_BR | PA3 | 37 | Sensor Boden/Rückseite Rechts - Messsignal |
IO_AN_KEY | PA4 | 36 | Signal Tasten 1-3 |
IO_AN_FLL | PA5 | 35 | Sensor Front Links aussen - Messsignal |
IO_AN_BC | PA6 | 34 | Sensor Boden/Rückseite Mitte - Messsignal |
IO_AN_FRR | PA7 | 33 | Sensor Front Rechts aussen - Messsignal |
IO_EN_BC | PB0 | 1 | Sensor Boden/Rückseite Mitte - Aktivierung |
IO_LED1 | PB1 | 2 | LED1 (links, rot) |
IO_LED2 | PB2 | 3 | LED2 (links, blau) |
IO_LED3 | PB3 | 4 | LED3 (rechts, blau) |
IO_LED4 | PB4 | 5 | LED4 (rechts, rot) |
IO_MOSI | PB5 | 6 | SPI MOSI |
IO_MISO | PB6 | 7 | SPI MISO |
IO_SCK | PB7 | 8 | SPI SCK |
IO_SCL | PC0 | 22 | Erweiterung X12.1 / I²C Schnittstelle: SCL (Takt) |
IO_SDA | PC1 | 23 | Erweiterung X12.2 / I²C Schnittstelle: SDA (Daten) |
IO_EN_FLL | PC2 | 24 | Sensor Front Links aussen - Aktivierung |
IO_EN_FRR | PC3 | 25 | Sensor Front Rechts aussen - Aktivierung |
IO_EN_FL | PC4 | 26 | Sensor Front Links - Aktivierung |
IO_EN_FR | PC5 | 27 | Sensor Front Rechts - Aktivierung |
IO_EN_BL | PC6 | 28 | Sensor Boden/Rückseite Links - Aktivierung |
IO_EN_BR | PC7 | 29 | Sensor Boden/Rückseite Rechts - Aktivierung |
IO_RXD | PD0 | 14 | Erweiterung X13.1 / UART Schnittstelle: RxD (Empfang) |
IO_TXD | PD1 | 15 | Erweiterung X13.2 / UART Schnittstelle: TxD (Senden) |
IO_ODO_L | PD2 | 16 | Odometrie links |
IO_ODO_R | PD3 | 17 | Odometrie rechts |
IO_PWM_L | PD4 | 18 | Motor PWM links |
IO_PWM_R | PD5 | 19 | Motor PWM rechts |
IO_DIR_L | PD6 | 20 | Motor Richtung links |
IO_DIR_R | PD7 | 21 | Motor Richtung rechts |
