Diese Bibliotheken werden für die Programmierung von Modellen mit dem RX-Controller benötigt.
Nach dem Importieren der Bibliotheken werden die Komponenten mithilfe verschiedener Funktionen initialisiert. Diese Initialisierungen sind entscheidend, um das System korrekt zu konfigurieren und sicherzustellen, dass jeder Sensor und Aktor betriebsbereit ist. Ohne diese Initialisierungen könnte das Programm nicht mit den Hardwarekomponenten kommunizieren, und Operationen wie das Auslesen von Sensoren oder das Aktivieren von Aktoren wären nicht möglich.
Um Sensoren und Aktoren verwenden zu können, müssen die entsprechenden Factories zuerst initialisiert werden. Diese bereiten das System darauf vor, Objekte zu erstellen, die die Hardwarekomponenten repräsentieren.
rx_factory.init_controller_factory()
rx_factory.init_input_factory()
rx_factory.init_output_factory()
rx_factory.init_motor_factory()
rx_factory.init_i2c_factory()
Der fischertechnik RX Controller ermöglicht die Verbindung und Trennung verschiedener Sensoren und Aktoren an unterschiedlichen Ports und bietet so eine große Flexibilität bei der Gestaltung und dem Bau von Projekten. Im Folgenden werden die Arten von Sensoren beschrieben, die angeschlossen werden können, wie sie konfiguriert und initialisiert werden und wofür sie verwendet werden.
Initialisierung:
RX_I5_photo_resistor = rx_factory.input_factory.create_photo_resistor(controller, 5)
Initialisierung:
RX_I7_ultrasonic_distance_meter = rx_factory.input_factory.create_ultrasonic_distance_meter(controller, 7)
Initialisierung:
RX_I6_color_sensor = rx_factory.input_factory.create_color_sensor(controller, 6)
Initialisierung:
RX_I1_ntc_resistor = rx_factory.input_factory.create_ntc_resistor(controller, 1)
Initialisierung:
RX_I3_trail_follower = rx_factory.input_factory.create_trail_follower(controller, 3)
RX_I4_trail_follower = rx_factory.input_factory.create_trail_follower(controller, 4)
Initialisierung:
RX_I4_photo_transistor = rx_factory.input_factory.create_photo_transistor(controller, 4)
Initialisierung:
RX_I8_mini_switch = rx_factory.input_factory.create_mini_switch(controller, 8)
Initialisierung:
RX_I2_reed_switch = rx_factory.input_factory.create_mini_switch(controller, 2)
Initialisierung:
RX_I2C_1_gesture_sensor = rx_factory.i2c_factory.create_gesture_sensor(controller, 1)
Initialisierung:
RX_I2C_2_environment_sensor = rx_factory.i2c_factory.create_environment_sensor(controller, 2)
Initialisierung:
RX_I2C_3_combined_sensor = rx_factory.i2c_factory.create_combined_sensor(controller, 3)
Zusammenfassung: Für jeden Sensortyp muss der richtige Port basierend auf der Anwendungskonfiguration ausgewählt werden, und der Sensor muss mithilfe der bereitgestellten Factories initialisiert werden. Diese anfängliche Konfiguration ist entscheidend, um sicherzustellen, dass die Sensoren ordnungsgemäß funktionieren und genaue Daten liefern. Im nächsten Teil wird beschrieben, wie diese Sensoren verwendet und ihre Daten interpretiert werden können.
Die an den fischertechnik RX Controller angeschlossenen Sensoren lassen sich je nach Art des erzeugten Signals und der bereitgestellten Informationen in digitale und analoge Sensoren unterteilen. Im Folgenden wird beschrieben, welche Informationen aus diesen Sensoren gewonnen werden können und wie diese Daten verwendet werden können.
Digitale Sensoren: Digitale Sensoren liefern diskrete Werte, üblicherweise „ein“ oder „aus“ (1 oder 0), „offen“ oder „geschlossen“ oder eine andere Form binärer Werte.
Analoge Sensoren: Analoge Sensoren liefern kontinuierliche Werte, die innerhalb eines bestimmten Bereichs variieren und physikalische Größen wie Licht, Temperatur, Abstand usw. darstellen.
Zusammenfassung: Digitale und analoge Sensoren liefern eine Vielzahl von Daten, die verwendet werden können, um mit der Umgebung zu interagieren, automatisierte Systeme zu steuern oder Daten für Analysen zu sammeln. Digitale Sensoren liefern binäre Werte, die für einfache Steuerentscheidungen nützlich sind, während analoge Sensoren kontinuierliche Werte liefern, die eine präzise Messung physikalischer Größen ermöglichen. Die korrekte Interpretation dieser Daten ist entscheidend für das effiziente Funktionieren jedes auf dem fischertechnik RX Controller basierenden Systems.
Der RGB-Gesten-Sensor ist ein fortschrittliches Gerät, das mehrere Funktionen in einem einzigen Chip kombiniert. Er kann Gesten erkennen sowie Umgebungslicht, RGB-Licht (Rot, Grün, Blau) und Nähe messen. Nachfolgend finden Sie eine detaillierte Beschreibung der Funktionen des Sensors, der verfügbaren Funktionen und der abrufbaren Werte.
Initialisierung des Sensors: Um den RGB-Gas-Sensor verwenden zu können, muss er zunächst korrekt initialisiert werden. Dies erfolgt durch das Erstellen einer Instanz des Sensors über die I2C-Factory.
RX_I2C_1_gesture_sensor = rx_factory.i2c_factory.create_gesture_sensor(controller, 1)
Dieser Code erstellt das Objekt RX_I2C_1_gesture_sensor, das dem I2C-Port 1 zugewiesen wird. Nach der Initialisierung können Sie die verschiedenen Funktionen konfigurieren und Daten vom Sensor abrufen.
Gestenerkennung: Der RGB-Gesten-Sensor kann verschiedene Handbewegungen wie hoch, runter, links und rechts erkennen. Diese Funktion ist nützlich, um Geräte ohne physischen Kontakt zu steuern.
Aktivierung der Gestenerkennung:
RX_I2C_1_gesture_sensor.enable_gesture()
Abruf erkannter Gesten:
gesture = RX_I2C_1_gesture_sensor.get_gesture()
print(gesture)
Deaktivierung der Gestenerkennung:
RX_I2C_1_gesture_sensor.disable_gesture()
Messung von RGB-Licht: Der Sensor kann die Intensität des Lichts in den RGB-Farbkomponenten erfassen und so eine genaue Darstellung der Umgebungslichtfarbe liefern.
Aktivierung des Lichtsensors:
RX_I2C_1_gesture_sensor.enable_light()
Abruf von RGB-Daten:
rgb_values = RX_I2C_1_gesture_sensor.get_rgb() print(f"Rot: {rgb_values[0]}, Grün: {rgb_values[1]}, Blau: {rgb_values[2]}")
Abruf von HEX-Werten:
hex_value = RX_I2C_1_gesture_sensor.get_hex()
print(f"Farbe im HEX-Format: {hex_value}")
Abruf von HSV-Werten:
hsv_values = RX_I2C_1_gesture_sensor.get_hsv()
print(f"Farbton: {hsv_values[0]}, Sättigung: {hsv_values[1]}, Helligkeit: {hsv_values[2]}")
Deaktivierung des Lichtsensors:
RX_I2C_1_gesture_sensor.disable_light()
Messung des Umgebungslichts: Zusätzlich zu den RGB-Messungen kann der Sensor eine Umgebungslichtmessung bereitstellen, die nützlich ist, um die allgemeinen Lichtverhältnisse zu bestimmen.
Abruf des Umgebungslichts:
ambient_light = RX_I2C_1_gesture_sensor.get_ambient()
print(f"Umgebungslicht: {ambient_light}")
Näherungserkennung: Der RGB-Gas-Sensor kann die Nähe von Objekten basierend auf der Menge des reflektierten Infrarotlichts erkennen.
Aktivierung der Näherungserkennung:
RX_I2C_1_gesture_sensor.enable_proximity()
Abruf von Näherungsdaten:
proximity = RX_I2C_1_gesture_sensor.get_proximity()
print(f"Nähe: {proximity}")
Deaktivierung der Näherungserkennung:
RX_I2C_1_gesture_sensor.disable_proximity()
Zusammenfassung: Der RGB-Gesten-Sensor ist ein vielseitiges Gerät, das Gestenerkennung, RGB-Licht- und Umgebungslichtmessung sowie Näherungserkennung in einem einzigen Chip kombiniert. Dadurch ist er ideal für Anwendungen mit fortschrittlichen Benutzeroberflächen, automatischer Lichtanpassung und Sicherheitssystemen geeignet. Der Sensor bietet eine umfangreiche Schnittstelle zur Interaktion mit der Umgebung durch detaillierte und präzise Daten.
Der BME680 ist ein integrierter Umweltsensor, der verschiedene Parameter wie Temperatur, relative Luftfeuchtigkeit, Luftdruck und Luftqualität messen kann. Diese Funktionen machen ihn ideal für Anwendungen in der Umweltüberwachung, HLK-Systemen, Wetterstationen und anderen IoT-Geräten (Internet der Dinge). Die Fähigkeiten des Sensors, seine Initialisierung und die Erfassung der verschiedenen Daten werden unten beschrieben.
Initialisierung des Umweltsensors: Um den Umweltsensor zu verwenden, muss er zunächst korrekt initialisiert werden. Dies geschieht durch das Erstellen einer Instanz des Sensors über die I2C-Factory.
RX_I2C_2_environment_sensor = rx_factory.i2c_factory.create_environment_sensor(controller, 2)
Dieser Code erstellt das Objekt RX_I2C_2_environment_sensor, das dem I2C-Port 2 zugewiesen wird. Nach der Initialisierung können die vom Sensor bereitgestellten Umweltdaten abgerufen werden.
Funktionen des Sensors
Temperatur abrufen:
temperature = RX_I2C_2_environment_sensor.get_temperature()
print(f"Temperatur: {temperature} °C")
Relative Luftfeuchtigkeit abrufen:
humidity = RX_I2C_2_environment_sensor.get_humidity()
print(f"Relative Luftfeuchtigkeit: {humidity} %")
Luftdruck abrufen:
pressure = RX_I2C_2_environment_sensor.get_pressure()
print(f"Luftdruck: {pressure} hPa")
Messung der Luftqualität (IAQ)
Der Umweltsensor kann die Innenraumluftqualität (IAQ) messen, indem er flüchtige organische Verbindungen (VOCs) in der Luft erkennt.
Luftqualität als Zahl abrufen:
iaq_number = RX_I2C_2_environment_sensor.get_indoor_air_quality_as_number()
print(f"Luftqualität (IAQ): {iaq_number}")
Luftqualität als Text abrufen:
iaq_text = RX_I2C_2_environment_sensor.get_indoor_air_quality_as_text()
print(f"Luftqualität (IAQ): {iaq_text}")
Kalibrierung des Sensors
Der Umweltsensor erfordert möglicherweise eine Kalibrierungsphase, um die Genauigkeit der Luftqualitätsmessungen sicherzustellen.
Kalibrierung des Sensors:
RX_I2C_2_environment_sensor.calibrate()
Überprüfung des Kalibrierungsbedarfs:
needs_calibration = RX_I2C_2_environment_sensor.needs_calibration()
if needs_calibration:
print("Der Sensor erfordert eine Kalibrierung.")
Zusammenfassung: Der Umweltsensor bietet eine umfassende Reihe von Umweltmessungen, einschließlich Temperatur, Luftfeuchtigkeit, Luftdruck und Luftqualität. Diese Daten sind entscheidend für eine Vielzahl von Anwendungen, von der Umweltüberwachung bis hin zu intelligenten HLK-Systemen. Die Fähigkeit, die Luftqualität zu messen, ist besonders wichtig in Umgebungen, in denen die Luftqualität die Gesundheit und das Wohlbefinden beeinflussen kann.
Der Kombinationssensor, der einen Beschleunigungsmesser, ein Gyroskop und ein Magnetometer umfasst, liefert Messungen von Bewegung, Orientierung und Magnetfeld. Dieses Gerät ist ideal für Anwendungen in der Robotik, Bewegungserkennung, Gerätestabilisierung und Navigation. Im Folgenden finden Sie eine detaillierte Beschreibung der Funktionen, der Initialisierung und der Datenerfassung dieses Sensors.
Initialisierung des Kombinationssensors: Um den Kombinationssensor zu verwenden, müssen alle seine Komponenten (Beschleunigungsmesser, Magnetometer, Gyroskop) mit den gewünschten Einstellungen initialisiert werden.
controller.RX_I2C_3_combined_sensor.init_accelerometer(2, 8, False)
controller.RX_I2C_3_combined_sensor.init_magnetometer(25)
controller.RX_I2C_3_combined_sensor.init_gyrometer(250, 12, False)
Datenerfassung des Kombinationssensors:
Aufruf der Beschleunigung:
acc_x = controller.RX_I2C_3_combined_sensor.get_acceleration_x()
acc_y = controller.RX_I2C_3_combined_sensor.get_acceleration_y()
acc_z = controller.RX_I2C_3_combined_sensor.get_acceleration_z()
print(f"Beschleunigung - X: {acc_x} g, Y: {acc_y} g, Z: {acc_z} g")
Magnetfeld abrufen:
mag_x = controller.RX_I2C_3_combined_sensor.get_magnetic_field_x()
mag_y = controller.RX_I2C_3_combined_sensor.get_magnetic_field_y()
mag_z = controller.RX_I2C_3_combined_sensor.get_magnetic_field_z()
print(f"Magnetfeld - X: {mag_x} µT, Y: {mag_y} µT, Z: {mag_z} µT")
Rotationsgeschwindigkeit abrufen:
rot_x = controller.RX_I2C_3_combined_sensor.get_rotation_x()
rot_y = controller.RX_I2C_3_combined_sensor.get_rotation_y()
rot_z = controller.RX_I2C_3_combined_sensor.get_rotation_z()
print(f"Rotationsgeschwindigkeit - X: {rot_x} °/s, Y: {rot_y} °/s, Z: {rot_z} °/s")
Zusammenfassung: Der Kombinationssensor bietet eine umfassende Lösung zur Messung von Bewegung, Orientierung und Magnetfeld. Mit der Fähigkeit, Beschleunigung, Magnetfeld und Rotationsgeschwindigkeit zu messen, ist dieser Sensor äußerst nützlich für Anwendungen in der Robotik, Navigation, Gerätestabilisierung und anderen Bewegungssteuerungssystemen. Jede der erfassten Messungen liefert ein detailliertes Verständnis des Zustands und der Bewegung des angeschlossenen Geräts, was eine breite Palette von Anwendungen ermöglicht, von der Sturzerkennung bis hin zur Positions- und Orientierungserfassung.