Hallo,
ich binn gerade dabei mit einem ADXL345 Beschleunigungssensor zu experimentieren.
Dafür hab ich den Beispielcode der Adafruit_ADXL345 Libary vereinfacht:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
/* Assign a unique ID to this sensor at the same time */
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(1);
void setup(void)
{
Serial.begin(9600);
Serial.println("Accelerometer Test"); Serial.println("");
/* Initialise the sensor */
if(!accel.begin())
{
/* There was a problem detecting the ADXL345 ... check your connections */
Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");
while(1);
}
/* Set the range to whatever is appropriate for your project */
accel.setRange(ADXL345_RANGE_16_G);
// displaySetRange(ADXL345_RANGE_8_G);
// displaySetRange(ADXL345_RANGE_4_G);
// displaySetRange(ADXL345_RANGE_2_G);
/* Display additional settings (outside the scope of sensor_t) */
Serial.println("");
}
void loop(void)
{
/* Get a new sensor event */
sensors_event_t event;
accel.getEvent(&event);
Serial.println(event.acceleration.x); //Die Beschleunigung des Events wird auf den Seriellen Monitor geschrieben
delay(100);
}
Den loop Teil verstehe ich so, dass mit
sensors_event_t event;
ein Objekt erstellt wird, das Verschiedene Variablenwerte aufnehmen kann.
Zum Beispiel für die Beschleunigung in Richtung der x,y oder z-Achse.
Mit
accel.getEvent(&event);
werden die Daten, die aus dem Modul ausgelesen werden dann gespeichert, und zwar in die Variablen des Objekts "event".
Das "&event" gibt deshalb die Speicheradressen der Variablen des Objekts "event" an. Da sollen die Infos, die aus dem Modul kommen reingeschrieben werden, um sie später zum Beispiel mit
event.acceleration.x
verwenden zu können.
Ist das soweit korrekt?
Ich hab etwas in der Art bisher noch nicht gemacht und binn mir noch ein bischen unsicher...