Einbindung durch: #include <NIBOburger.h>

class instance NIBOburger

FunktionBeschreibung
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 setLeds (int led1, int led2, int led3, int led4)alle LEDs auf einmal ein/ausschalten:
led1 - led4: OFF=0, ON=1
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
int getKeyState ()Zustand der Taster abfragen:
return-value: keine=0x00, KEY1=0x01, KEY2=0x02, KEY3=0x04, ungültig=0x80
char getKeyChar ()nächstes Tastaturereignis auslesen:
Taste runtergedrückt='A', 'B' oder 'C'
Taste losgelassen
='a', 'b' oder 'c'
kein Ereignis=0
void randomize ()Zufallszahlengenerator mit echtem zufälligem Wert initialisieren
void randomize (unsigned int seed)Zufallszahlengenerator mit definiertem Wert initialisieren
unsigned int getRandomSeed ()echten zufälligen Wert liefern
int getRandomInt (int lo, int hi)Zufallszahl aus dem Interval [lo, hi] generieren. Alle Ganzzahl-Werte inklusive der Grenzen treten mit der gleichen Wahrscheinlichkeit auf.
unsigned int getAnalog (unsigned char adc_channel, unsigned char active)Rohwert eines analogen Kanals auslesen

class instance Engine

FunktionBeschreibung
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

FunktionBeschreibung
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

FunktionBeschreibung
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

FunktionBeschreibung
CALIBRATE_BLACK24 Bit RGB-Konstante für Kalibrier-Farbe: schwarz
CALIBRATE_WHITE24 Bit RGB-Konstante für Kalibrier-Farbe: weiß
CALIBRATE_RED24 Bit RGB-Konstante für Kalibrier-Farbe: rot
CALIBRATE_BLUE24 Bit RGB-Konstante für Kalibrier-Farbe: blau
CALIBRATE_GREEN24 Bit RGB-Konstante für Kalibrier-Farbe: grün
CALIBRATE_YELLOW24 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

FunktionBeschreibung
CALIBRATE_BLACK24 Bit HSV-Konstante für Kalibrier-Farbe: schwarz
CALIBRATE_WHITE24 Bit HSV-Konstante für Kalibrier-Farbe: weiß
CALIBRATE_RED24 Bit HSV-Konstante für Kalibrier-Farbe: rot
CALIBRATE_BLUE24 Bit HSV-Konstante für Kalibrier-Farbe: blau
CALIBRATE_GREEN24 Bit HSV-Konstante für Kalibrier-Farbe: grün
CALIBRATE_YELLOW24 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

FunktionBeschreibung
void begin ()Initialisierung
int activate (unsigned char mode)Sensor-Modus setzen:
  • SENSOR_DISABLED: Digitaler Pin frei
  • SENSOR_PULSE: Digitaler Pin Pulssignal
  • SENSOR_LOW: Digitaler Pin 0 Volt
  • SENSOR_HIGH: Digitaler Pin 5 Volt
int get ()Sensor abfragen

IO-Definitionen

Die IO-Definitionen sind für fortgeschrittene Benutzer zur Verwendung mit den ARDUINO Digital I/O Funktionen gedacht!
NamePort + BitAVR Pin #Beschreibung
IO_AN_FLPA040Sensor Front Links - Messsignal
IO_AN_FRPA139Sensor Front Rechts - Messsignal
IO_AN_BLPA238Sensor Boden/Rückseite Links - Messsignal
IO_AN_BRPA337Sensor Boden/Rückseite Rechts - Messsignal
IO_AN_KEYPA436Signal Tasten 1-3
IO_AN_FLLPA535Sensor Front Links aussen - Messsignal
IO_AN_BCPA634Sensor Boden/Rückseite Mitte - Messsignal
IO_AN_FRRPA733Sensor Front Rechts aussen - Messsignal
 
IO_EN_BCPB01Sensor Boden/Rückseite Mitte - Aktivierung
IO_LED1PB12LED1 (links, rot)
IO_LED2PB23LED2 (links, blau)
IO_LED3PB34LED3 (rechts, blau)
IO_LED4PB45LED4 (rechts, rot)
IO_MOSIPB56SPI MOSI
IO_MISOPB67SPI MISO
IO_SCKPB78SPI SCK
 
IO_SCLPC022Erweiterung X12.1 / I²C Schnittstelle: SCL (Takt)
IO_SDAPC123Erweiterung X12.2 / I²C Schnittstelle: SDA (Daten)
IO_EN_FLLPC224Sensor Front Links aussen - Aktivierung
IO_EN_FRRPC325Sensor Front Rechts aussen - Aktivierung
IO_EN_FLPC426Sensor Front Links - Aktivierung
IO_EN_FRPC527Sensor Front Rechts - Aktivierung
IO_EN_BLPC628Sensor Boden/Rückseite Links - Aktivierung
IO_EN_BRPC729Sensor Boden/Rückseite Rechts - Aktivierung
 
IO_RXDPD014Erweiterung X13.1 / UART Schnittstelle: RxD (Empfang)
IO_TXDPD115Erweiterung X13.2 / UART Schnittstelle: TxD (Senden)
IO_ODO_LPD216Odometrie links
IO_ODO_RPD317Odometrie rechts
IO_PWM_LPD418Motor PWM links
IO_PWM_RPD519Motor PWM rechts
IO_DIR_LPD620Motor Richtung links
IO_DIR_RPD721Motor Richtung rechts

nicai-systems website