getHumidityAbsolute()->float
Nur Oxocard-Science
Gibt die aktuelle absolute Luftfeuchtigkeit in g/m^3 zurück. Dieser Wert gibt die Menge an Wasserdampf (Feuchtigkeit) in der Luft an, unabhängig von der Temperatur.
Die maximale absolute Luftfeuchtigkeit von warmer Luft bei 30°C beträgt etwa 30g Wasserdampf.
Die maximale absolute Luftfeuchtigkeit von kalter Luft bei 0°C beträgt ca. 5 g Wasserdampf.
Die absolute Luftfeuchtigkeit wurde mit der folgenden Formel berechnet:
getAmbientLux()->long
Nur Oxocard Science
Gibt die Lichtintensität in Lux zurück.
Lux | Flächen |
---|---|
0,0001 | Mondloser, bedeckter Nachthimmel (Sternenlicht) |
0.002 | Mondloser, klarer Nachthimmel mit Luftglühen |
0.05-0.3 | Vollmond in einer klaren Nacht |
3.4 | Dunkelgrenze der bürgerlichen Dämmerung bei klarem Himmel |
20-50 | Öffentliche Bereiche mit dunkler Umgebung |
50 | Familienwohnzimmerbeleuchtung (Australien, 1998) |
80 | Bürogebäude Flur/Toilettenbeleuchtung |
100 | Sehr dunkler, bedeckter Tag |
150 | Bahnsteig eines Bahnhofs |
320-500 | Bürobeleuchtung |
400 | Sonnenaufgang oder Sonnenuntergang an einem klaren Tag. |
1000 | Tag mit Überstrahlung; typische TV-Studiobeleuchtung |
10'000–25'000 | Volles Tageslicht (keine direkte Sonne) |
32'000–100'000 | Direktes Sonnenlicht |
getAccelerationXY()->vector
Gleich wie die getAcceleration()-Funktion, jedoch ohne die Z-Achse.
Der Rückgabewert ist vom Typ vector. Diese Klasse enthält zwei Objektvariablen x und y die vom Typ float sind.
v:vector
v = getAccelerationXY()
getMicrophoneFrequency()->int
Nur Oxocard-Science
Gibt die aktuell dominanteste Frequenz in Hz zurück.
Die Frequenz wird mit Hilfe der Fast Fourier Transformation (fft) berechnet. Mögliche Werte sind: 250Hz, 375Hz, 500Hz, …, 15375Hz
getMicrophoneDecibel()->byte
Nur Oxocard-Science
Gibt den aktuellen Geräuschpegel als Byte-Wert in Dezibel zurück.
Der Geräuschpegel wird anhand der Mikrofon-Amplitude berechnet:
noise = 20 * log10(micAmp) - 20
Beispiel:
def onDraw():
db = getMicrophoneDecibel()
h = map(db, 0, 150, 0, 255)
clear()
fill(255,255,255)
drawRectangle(110, 240-h, 20, 240)
update()
Dieses Beispiel zeichnet einen Balken auf dem Display, dessen Höhe vom aktuellen Geräuschpegel abhängt. Puste auf das Mikrofon oder decke es ab, um die Wirkung zu sehen.
getMicrophoneAmplitude()->long
Nur Oxocard-Science
Gibt die aktuell dominanteste Mikrofonamplitude als Long-Wert zurück.
Die Amplitude wird mit Hilfe der Fast Fourier Transformation (fft) berechnet.
Beispiel:
def onDraw():
amp = getMicrophoneAmplitude()
h = map(amp, 0, 50000, 0, 255)
clear()
fill(255,255,255)
drawRectangle(110, 240-h, 20, 240)
update()
Dieses Beispiel zeichnet einen Balken auf dem Display mit einer Höhe, die von der Mikrofonamplitude abhängt. Puste auf das Mikrofon, um die Wirkung zu sehen.
getETOH()->float
Nur Oxocard-Science
Gibt den aktuellen ETOH-Wert in ppm zurück.
ETOH (bzw. Ethanol) ist eine flüchtige, brennbare, farblose Flüssigkeit und gehört zu den organischen chemischen Verbindungen.
Zu beachten ist, dass der ZMOD4410-Sensor eine Aufwärmzeit von etwa 2 Minuten benötigt. In dieser Zeit wird immer -1 zurückgegeben.
Beispiel:
def onDraw():
etoh = getETOH()
print(etoh)
delay(10000)
Dieses Beispiel gibt den ETOH-Wert alle 10 Sekunden im Terminal aus.
getTVOC()->float
Nur Oxocard-Science
Gibt den aktuellen TVOC in mg/m3 zurück.
TVOC steht für Total Volatile Organic Compounds und beschreibt die Menge an gas- und dampfförmigen Substanzen organischen Ursprungs in der Luft.
Als Referenz:
Wert | Zustand |
---|---|
<0.3 | Sehr gut |
0.3-1.0 | Gut |
1.00-3.00 | Mittel |
3.0-10.0 | Schlecht |
>10.0 | Sehr schlecht |
Beachte, dass der ZMOD4410-Sensor eine Aufwärmzeit von etwa 2 Minuten benötigt. In dieser Zeit wird immer -1 zurückgegeben.
Beispiel:
def onDraw():
tvoc = getTVOC()
print(tvoc)
delay(10000)
Dieses Beispiel gibt den TVOC-Wert alle 10 Sekunden im Terminal aus.
getIAQ()->float
Nur Oxocard-Science
Gibt die aktuelle IAQ-Einstufung zurück.
IAQ steht für Indoor Air Quality und nimmt normalerweise einen Wert zwischen 0 und 5 an:
Wert | Level | Zustand |
---|---|---|
≤1,99 | 1 | Sehr gut |
2.00-2.99 | 2 | Gut |
3.00-3.99 | 3 | Mittel |
4.00-4.99 | 4 | Schlecht |
≥5.00 | 5 | Sehr schlecht |
Beachten Sie, dass der ZMOD4410-Sensor eine Aufwärmzeit von etwa 2 Minuten benötigt. In dieser Zeit wird immer -1 zurückgegeben.
Der IAQ-Wert wird nicht direkt gemessen, sondern mit einem speziellen Algorithmus von Renesas berechnet.
Beispiel:
def onDraw():
iaq = getIAQ()
print(iaq)
delay(10000)
Dieses Beispiel gibt den IAQ-Wert alle 10 Sekunden im Terminal aus.
getCO2()->float
Nur Oxocard-Science
Gibt den aktuellen CO2-Wert in ppm zurück.
Beachte, dass der ZMOD4410-Sensor eine Aufwärmzeit von etwa 2 Minuten benötigt. In dieser Zeit wird immer -1 zurückgegeben.
Der CO2-Wert wird nicht direkt gemessen, sondern mit einem speziellen Algorithmus von Renesas berechnet. Der Startwert ist immer 400ppm und ändert sich mit der Zeit. Werte unter 1000ppm sind gut und Werte unter 800ppm sind ausgezeichnet.
Beispiel:
def onDraw():
co2 = getCO2()
print(co2)
delay(10000)
Dieses Beispiel gibt den CO2-Wert alle 10 Sekunden im Terminal aus.
getAmbientIR()->long
Nur Oxocard-Science
Liefert eine Zahl je nach Stärke der Infrarotstrahlung (Wertebereich 0 bis 2^18).
Da die meisten Fernbedienungen von TV’s mit Infrarot kommunizieren, lassen sich diese Signale mit einem einfachen Programm sichtbar machen:
def onDraw():
ir = getAmbientIR()
clear()
textFont(FONT_ROBOTO_32)
drawText(10,10,ir)
update()
getAmbientRGB()->color
Nur Oxocard-Science
Gibt das aktuelle Umgebungslicht als rote, grüne und blaue (RGB) Farbwerte zurück. Das Umgebungslicht wird mit dem APDS-9251 Sensor gemessen und so berechnet, dass es in den 0… 255 Bereich passt.
Beispiel:
def onDraw():
ambient:color
ambient = getAmbientRGB()
print("R = " + ambient.r + "; G = " + ambient.g + "; B = " + ambient.b)
delay(5000)
Dieses Beispiel gibt die gemessenen RGB-Farben alle 5 Sekunden im Terminal aus.
getPressure()->float
Nur Oxocard-Science
Gibt den aktuellen barometrischen Druck in mbar zurück. Der barometrische Druck wird mit dem Sensor MS560702BA03-50 mit einer Genauigkeit von ±1,5 mbar gemessen.
Beispiel:
def onDraw():
pres = getPressure()
print(pres)
delay(10000)
Dieses Beispiel gibt den gemessenen Luftdruck alle 10 Sekunden im Terminal aus.
getHumidity()->float
Nur Oxocard-Science
Gibt die aktuelle Luftfeuchtigkeit in %RH zurück. Die Luftfeuchtigkeit wird mit dem SHTC3-Sensor mit einer Genauigkeit von ±2 %RH gemessen.
Da Feuchtesensoren im Allgemeinen einen erheblichen Offset haben können, wird empfohlen, den Offset über das Einstellungsmenü der Oxocard-Science zu kalibrieren.
Beispiel:
def onDraw():
humi = getHumidity()
print(humi)
delay(10000)
Dieses Beispiel gibt die gemessene Luftfeuchtigkeit alle 10 Sekunden im Terminal aus.
getTemperature()->float
Nur Oxocard-Science
Gibt die aktuelle Temperatur als float in °C zurück. Die Temperatur wird mit dem SHTC3-Sensor mit einer Genauigkeit von ±0,2 °C gemessen.
Da Temperatursensoren im Allgemeinen einen erheblichen Offset haben können, wird empfohlen, den Offset über das Einstellungsmenü auf der Oxocard-Science zu kalibrieren.
Beispiel:
def onDraw():
temp = getTemperature()
print(temp)
delay(10000)
Dieses Beispiel gibt die gemessene Temperatur alle 10 Sekunden im Terminal aus.
getAcceleration()->vector3D
Ermittelt die aktuellen Beschleunigungswerte in den drei Achsen x,y und z. Die Werte sind in Milli-G (G ~ 9.81m/s^2). Je nach Richtung werden die Werte >0 oder <0 angegeben.
Der Rückgabewert ist von Typ vector3D. Diese Klasse enthält drei Objektvariablen x,y, und z, die vom Typ float sind.
Beispiel:
def onDraw():
push()
background(0,0,0)
stroke(255,255,255)
v:vector3D
v = getAcceleration()
v1 = vector(x=v.x,y=v.y)
v1.mulScalar(90)
translate(120,120)
noStroke()
fill(100,100,100)
drawCircle(0,0,28)
noFill()
stroke(255,255,255)
drawCircle(-v1.x,v1.y,30)
update()
delay(50)
pop()
Dieses Beispiel zeichnet eine Wasseruhr. Wenn die Karte schön horizontal ausgerichtet ist, werden die beiden Kreise zentriert.
getButton()->byte
Prüft, ob ein Button gedrückt wurde.
0 = kein Button
1 = mitte
2 = auf
3 = rechts
4 = runter
5 = links
b = getButton()
Mit dieser Funktion kann nur jeweils EIN Button abgefragt werden.
getButtons()->buttons
Prüft, ob mehrere Buttons gedrückt wurden.
Die Funktion erzeugt ein Objekt der Klasse buttons.
Die Klasse ist hat folgende Objektvarianblen: up, down, left, right, middle. Diese Werte haben alle den Typ “bool”, d.h. können true oder false sein.
Mit dieser Funktion können mehrere Buttonclicks gleichzeitig abgefragt werden.
def onDraw():
background(0,0,0)
b:buttons = getButtons()
if b.left and b.right:
background(255,0,0)
update()