Funktion | Aktion |
adc = ADC121C021(scl = Pin(22), sda = Pin(21), addr = 0x50) | erzeugt eine Sensorinstanz für einen ADC mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
adc.getValue() |
gibt den aktuellen Wert zurück (0..2047 für 0..3V Eingangsspannung, max 3.3V) |
ADS1015 10-bit Analog-Digital-Converter, ADS1115 16-bit Analog-Digital-Converter
Funktion | Aktion |
adc = ADS1015(address = 0x48, scl = Pin(22), sda = Pin(21), gain = 1) | erzeugt eine Sensorinstanz für einen ADC mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard). gain = 1, 2, 4, 8, 16 |
adc.read(channel) |
gibt den aktuellen Wert am gegebenen channel (0..3) zurück (gain = 1: 0..2024 für 0..4.096V Eingangsspannung, max. 3.3V) |
Funktion | Aktion |
adc = ADS1015(address = 0x48, scl = Pin(22), sda = Pin(21), gain = 1) | erzeugt eine Sensorinstanz für einen ADC mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard). gain = 1, 2, 4, 8, 16 |
adc.read(channel) |
gibt den aktuellen Wert am gegebenen channel (0..3) zurück (gain = 1: 0..32768 für 0..4.096V Eingangsspannung, max. 3.3V) |
ADXL345 Beschleunigungssensor
Funktion | Aktion |
acc = ADXL345(scl = Pin(22), sda = Pin(21), addr = 0x53) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
adc.getAccel() |
gibt den aktuellen Wert zurück (0..2047 für 0..3V Eingangsspannung, max 3.3V) |
BME680 Umweltsensor (Bosch)
Funktion | Aktion |
bme = BME680(i2c_address = 0x76, scl = Pin(22), sda = Pin(21), refresh_rate = 10) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
bme.getTemperature() |
gibt den aktuellen Wert der Temperatur zurück (degC) |
bme.getPressure() | gibt den aktuellen Wert des Luftdrucks zurück (hPa) |
bme.getHumidity() | gibt den aktuellen Wert der relativen Luftfeuchtigkeit zurück (%) |
bme.getAltitude() | gibt die aktuelle Höhe über Meer zurück (m) (Luftdruck auf Meereshöhe mit setSeaLevelPressure(p) angeben) |
bme.getGas() | gibt den VOC (Volatile Organic Compound) zurück |
bme.setSeaLevelPressure(p) | setzt den Luftdruck auf Meereshöhe (hPa) |
BME280 Umweltsensor, BMP280 Umweltsensor (Bosch)
Funktion | Aktion |
bme = BME280(i2c_address = 0x76, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
bme.getValues() |
gibt ein Tupel mit Temperatur, Luftdruck und Luftfeuchtigkeit zurück (degC, hPa, %) |
Klasse BMP280
Funktion | Aktion |
bmp = BMP280(i2c_address = 0x77, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
bmp..getValues() | gibt ein Tupel mit Temperatur, Luftdruck und Luftfeuchtigkeit zurück (degC, hPa, %) |
DRV2605 Haptic Motor Driver
Funktion | Aktion |
mot = DRV2605(scl = Pin(22), sda = Pin(21), addr = 0x5A) | erzeugt eine Driverinstanz für einen Driver mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
mot.playWaveform(n) |
spielt eine Ton mit gegebenem Index (1...120) |
DRV2605.HAPTIC_ALL = [DRV2605.HAPTIC_SHORT, DRV2605.HAPTIC_LONG, DRV2605.HAPTIC_VERY_LONG, DRV2605.HAPTIC_TWO, DRV2605.HAPTIC_THREE, DRV2605.HAPTIC_RATTLE1, DRV2605.HAPTIC_RATTLE2, DRV2605.HAPTIC_ULTRA_LONG] |
Liste mit allen Tonindizes (static constants) |
DS3231 Realtime Clock (RTC)
Funktion | Aktion |
rtc = DS3231(clk = Pin(22), dta = Pin(21)) | erzeugt eine Sensorinstanz für eine RTC mit I2C-Adresse 0x68, die an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
rtc.setDateTime(yy, mm, dd, h, m, s, w) | setzt Jahr, Monat, Tag, Stunde, Minute, Sekunde, Wochentag (üblich 0: Montag) |
rtc.getDateTime() |
gibt ein Tupel (yy, mm, dd, h, m , s, w) zurück |
HMC5883 Digitaler Kompasssensor (Honywell)
Funktion | Aktion |
hmc = HMC5883(address = 0x1E, scl = Pin(22), sda = Pin(21), gauss = 4.70, declination = (2, 13)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard). gauss legt den Messbereich fest (Werte: 0.88, 1.30, 1.90, 2.50, 4.70, 5.60, 8.10). declination ist die aktuelle Deklination in (Grad, Minuten) |
hmc.axes() |
liefert ein Tupel mit den x, y und z-Komponenten des Magnetfeldes (in Gauss, 100'000 Gauss = 1 Tesla) |
hmc.heading() | liefert das Azimut (in Grad, float) |
HP206C Umweltsensor (Seed)
Funktion | Aktion |
hp = HP206C(i2c_address = 0x76, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
hp.readTemperature() |
gibt den aktuellen Wert der Temperatur zurück (degC) |
hp.readPressure() | gibt den aktuellen Luftdruck mit hoher Genauigkeit zurück (hPa) |
hp.readAltitude() | gibt die Höhe über Meer zurück (bei 1000 hPa auf Meereshöhe) |
MCP23017, MCP23008 GPIO Expander
Funktion | Aktion |
mcp = MCP23017(scl = Pin(22), sda = Pin(21), addr = 0x20) | erzeugt eine Sensorinstanz für einen Expander mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
mcp.write_digital(pin, value) |
setzt den Pin mit gegebener Nummer auf LOW/HIGH |
mcp.write_pins(pins) | setzt mehrere Werte gleichzeitig. pins ist ein Dictionary mit {pinnummer : wert} |
mcp.read_digital(pin) | gibt den aktuellen Wert am Pin zurück |
mcp.read_pins(pins) | gibt eine Liste mit den aktuellen Werten zurück. pins ist eine Liste mit Pinnummern |
Funktion | Aktion |
adc = MCP23008(scl = Pin(22), sda = Pin(21), addr = 0x20) | erzeugt eine Sensorinstanz für einen ADC mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
mcp.write_digital(pin, value) |
setzt den Pin mit gegebener Nummer auf LOW/HIGH |
mcp.write_pins(pins) | setzt mehrere Werte gleichzeitig. pins ist ein Dictionary mit {pinnummer : wert} |
mcp.read_digital(pin) | gibt den aktuellen Wert am Pin zurück |
mcp.read_pins(pins) | gibt eine Liste mit den aktuellen Werten zurück. pins ist eine Liste mit Pinnummern |
MCP3021 10-bit Analog-Digital-Converter
Funktion | Aktion |
adc = MCP3021(i2c_address = 0x48, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen ADC mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
adc.read() |
gibt den aktuellen Wert 0..1023 für 0..3.3V Eingangsspannung |
DRV8830 H-Brücke für kontinuierliche Servomotoren
Funktion | Aktion |
mot = MiniMotor(scl = Pin(22), sda = Pin(21), addr = 0x60) | erzeugt eine Driverinstanz für einen Driver mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
mot.setSpeed(speed) |
setzt die Drehzahl (im Bereich von etwa 50 bis 100, ungefähr bei 63 steht der Motor still, bei kleineren Werten läuft er rückwärts, bei grösseren vorwärts) |
mot.rotate() | schaltet den Motor ein |
mot.stop() | stoppt den Motor |
MPL3115A2 Umweltsensor (NXP)
Funktion | Aktion |
mpl = MPL3115A2(i2c_address = 0x60, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
mpl.getValues(seaLevel = None) |
gibt ein Tupel mit Luftdruck (kPa), Höhe über Meer (m) und Temperatur (degC) zurück. seaLevel ist der Luftdruck auf Meereshöhe (in Pascal). Für None wird 100000 Pa gesetzt |
OLED-Display (128x64 Pixels, SSD1306 Driver)
Funktion | Aktion |
oled = Oled(scl = Pin(22), sda = Pin(21), tiny = False) | erzeugt eine Oledinstanz auf Adresse 0x3C, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard). tiny = True für Display mit nur 32 Zeilen |
oled.invert(invert) |
invertiert die Farben weiss/schwarz |
oled.show() | zeigt den aktuellen Bildbuffer an |
oled.fill(color) | füllt den ganzen Display (color = 1: weiss, 0: schwarz) |
oled.pixel(x, y, color) | setzt einzelnes Pixel (color = 1: weiss, 0: schwarz) |
oled.scroll(dx, dy) | verschiebt das ganze Bild um dx, dy |
oled.text(string, x, y, color = 1) | stellt den Text beginnend bei x, y mit gegebener Farbe dar (color = 1: weiss, 0: schwarz) |
oled.line(x0, y0, x1, y1) | zeichnet Linie von (x0, y0) nach (x1, y1) |
oled.ellipse(xm, ym, a, b) | zeichnet Ellipse mit Mittelpunkt (xm, ym) und Halbachsen a, b |
oled.circle(xm, ym, radius) | zeichnet Kreis mit Mittelpunkt (xm, ym) und Radius radius |
oled.rectangle(xm, ym, a, b) | zeichnet Rechteck mit Mittelpunkt (xm, ym) und Länge/Breite a, b |
oled.fillRectangle(xm, ym, a, b) | zeichnet gefülltes Rechteck mit Mittelpunkt (xm, ym) und Länge/Breite a, b |
oled.image(filename) | zeichnet Bild aus einer Bilddatei im Format ppm, 128x64 (bzw. 128x32 für tiny), B/W |
Siebensegmentanzeige (4 Ziffern mit TM1637 Driver)
Funktion | Aktion |
disp = FourDigit(scl = 23, dio = 5, lum = 4) | erzeugt eine Displayinstanz für einen Display, der an den GPIO_Pins IO23 und IO5 angeschlossen ist. Standardhelligkeit 4 (0..9) |
disp.erase() |
löscht den Display |
disp.show(text, pos = 0) | zeigt den Text beginnend an Position 0 (Ziffer ganz links) an. Der Text kann mehr als 4 Zeichen enthalten. text kann auch ein Integer sein |
disp.scroll(text) | zeigt den Text als Lauftext an |
disp.toRight() | verschiebt den Text um eine Stelle nach rechts |
disp.toLeft() | verschiebt den Text um eine Stelle nach links |
disp.start() | setzt den Text an die Startposition |
disp.setLuminosity(lum) | setzt die Helligkeit (0..9) |
disp.setColon(enable) | aktiviert/deaktiviert den Doppelpunkt |
OxoRover (2 Gleichstrommotoren über H-Brücke DRV8835
Funktion | Aktion |
mot = Motor(label, speed = 400) | erzeugt eine Motorinstanz mit label 'A' oder 'B' und setzt speed (0...1023) |
mot.setSpeed(speed) |
setzt die Drehzahl (0..1023) |
mot.getSpeed() | gibt die Drehzahl zurück |
mot.forward() | setzt den Motor in Vorwärtsbewegung |
mot.backward() | setzt den Motor in Rückwärtsbewegung |
mot.stop() | stoppt den Motor |
Funktion | Aktion |
gear = Gear( speed = 400) | erzeugt eine Gearinstanz (zwei Motoren) und setzt speed (0..1023) |
mot.setSpeed(speed) |
setzt die Geschwindigkeit (0..1023) |
mot.getSpeed() | gibt die Geschwindigkeit zurück |
mot.forward() | setzt den Rover in Vorwärtsbewegung |
mot.backward() | setzt den Rover in Rückwärtsbewegung |
mot.left() | setzt den Rover in Linksdrehung |
mot.leftArc(radius) | setzt den Rover auf Linksbogen mit ungefährem Radius (in cm, 10...100) |
mot.right() | setzt den Rover in Rechtsdrehung |
mot.rightArc(radius) | setzt den Rover auf Rechtsbogen mit ungefährem Radius (in cm, 10...100) |
mot.stop() | stopp dent Rover |
PCF8574 8-bit Port Expander, PCF8575 16-bit Port Expander
Funktion | Aktion |
pcf = PCF8574(scl = Pin(22), sda = Pin(21), addr = 0x38) | erzeugt eine Expanderinstanz für einen Expander mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
pcf.read_digital(pin) |
gibt den angelegten Wert am Pin (0..7) zurück (als Integer 0, 1) |
pcf.read_all() | gibt den 8-bit Wert aller Pins zurück (als Integer 0..255) |
pcf.read_all_inv() | gibt den bitweise invertieren Wert aller Pins zurück |
pcf.write_digital(pin, value) | setzt den Wert eines Ausgangspins (value = 0, 1) |
pcf.write_all(value) | setzt alle Pins auf den gegebenen Wert (untere 8 Bit des Integer) |
pcf.write_all_inv(value) | dasselbe, aber mit bitweise invertierten Wertigkeiten |
pcf.set_all() | setzt alle Pins auf HIGH |
pcf.clear_all() | setzt alle Pins auf LOW |
pcf.toggle(pin) | invertiert den bestehenden Wert am Pin |
Funktion | Aktion |
pcf = PCF8575(scl = Pin(22), sda = Pin(21), addr = 0x38) | erzeugt eine Expanderinstanz für einen Expander mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
pcf.read_digital(pin) |
gibt den angelegten Wert am Pin (0..15) zurück (als Integer 0, 1) |
pcf.read_all() | gibt den 16-bit Wert aller Pins zurück (als Integer 0..65535) |
pcf.read_all_inv() | gibt den bitweise invertieren Wert aller Pins zurück |
pcf.write_digital(pin, value) | setzt den Wert eines Ausgangspins (value = 0, 1) |
pcf.write_all(value) | setzt alle Pins auf den gegebenen Wert (untere 16 Bit des Integer) |
pcf.write_all_inv(value) | dasselbe, aber mit bitweise invertierten Wertigkeiten |
pcf.set_all() | setzt alle Pins auf HIGH |
pcf.clear_all() | setzt alle Pins auf LOW |
pcf.toggle(pin) | invertiert den bestehenden Wert am Pin |
PWMSound
Funktion | Aktion |
sound = PWMSound(port = 19) | erzeugt eine Soundinstanz für die Ausgabe am gegebenen IO Port (default: 19) |
sound.playTone(freq, duration) |
spielt einen Tone mit gegebener Frequenz (in Hz) und Dauer (in ms) ab |
sound.playSong(song, duration = 170) | spielt den Song in der gegebenen Liste ab. duration ist der Standardwert der Tondauer. Die Liste enhält Töne in Stringnotation 'ton:dauer'. ton ist einer der Buchstaben: 'r', 'C', 'C#', 'D', 'D#', 'E', 'F, 'F#', 'G', 'G#', 'A', 'A#', 'H', 'c', 'c#', 'd', 'd#', 'e', 'f', 'f#', 'g', 'g#', 'a', 'a#', 'h', 'c2', 'c2#', 'd2', 'd2#', 'e2', 'f2', 'f2#', 'g2', 'g2#', 'a2', 'a2#', 'h2', 'c3'. (r: Ruhe). dauer ist ein Multiplikator für die Tondauer. |
statische Konstanten von vordefinierten Songs |
ENTERTAINER, RINGTONE, BIRTHDAY, JUMP_UP, JUMP_DOWN, DADADADUM, POWER_UP, POWER_DOWN, PUNCHLINE, WEDDING, BOOGYWOODY, PRELUDE |
SHT31 Temperatur/Feuchtigkeitssensor (Sensirion)
Funktion | Aktion |
sht = SHT31(scl = Pin(22), sda = Pin(21), addr = 0x44) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
sht.get_temp_humi() |
liefert ein Tupel mit Temperatur (degC) und relativer Luftfeuchtigkeit (%) |
TCS34725 Colorsensor
Funktion | Aktion |
tcs = TCS34725(i2c_address = 0x29, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
tcs.getRGB() |
gibt ein Tupel mit den gemessenen RGB-Werten (0..255) zurück |
rgbToHex(rgb) | gibt die Umwandlung des rgb-Tupels in eine Hexdarstellung (String) zurück |
TSL2561 Lichtsensor
Funktion | Aktion |
tsl = TSL2561(scl = Pin(22), sda = Pin(21), addr = 0x29) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
tsl.getLux() |
gibt die gemessene Lichtintensität (in Lux) zurück |
tsl.getInfrared() | gibt die Intensität im Infrarotbereich zurück |
tsl.getBroadband() | gibt die Intenstität im sichtbaren Bereich zurück |
VL6180X Laser Distanzsensor
Funktion | Aktion |
vl = VL6180X(i2c_address = 0x29, scl = Pin(22), sda = Pin(21)) | erzeugt eine Sensorinstanz für einen Sensor mit gegebener I2C-Adresse, der an IO21 und IO22 angeschlossen ist (defaults für Oxocard) |
vl.distance() |
gibt die Distanz (in mm) zurück |