Der ADXL335 ist wahrscheinlich der gängigste 3-Achsen Beschleunigungssensor, zuverlässig und günstig in der Herstellung. Kein Wunder, dass auch viele Breakout-Boards für den Arduino gibt, die dieses Accelerometer als Sensor verwenden.
Der ADXL335 verfügt über 3 analoge Ausgänge für die X-, Y- und Z-Achse. Diese geben eine Spannung aus, die sich proportional zur auf die Achse einwirkenden Beschleunigung verhält. Diese Spannung kann einfach über die Analogpins am Arduino abgefragt werden.
Wie man das Breakout-Board an den Arduino anschließt, die Beschleunigungswerte ausliest und über den Serial Plotter der Arduino IDE visualisiert, zeige ich im folgenden Video:
Hier der 1. Arduino Sketch, der im Video verwendet wird:
int xA;
int yA;
int zA;
void setup() {
Serial.begin(9600);
}
void loop() {
xA = analogRead(A0);
yA = analogRead(A1);
zA = analogRead(A2);
Serial.print(xA);
Serial.print(",");
Serial.print(yA);
Serial.print(",");
Serial.print(zA);
Serial.println();
delay(20);
}
Und der 2. Sketch, der die Orientierung des Sensors als Text am seriellen Monitor ausgibt:
int xA;
int yA;
int zA;
void setup() {
Serial.begin(9600);
}
void loop() {
xA = analogRead(A0);
yA = analogRead(A1);
zA = analogRead(A2);
if (xA > 395) {
Serial.println(" X - - ist oben");
}
else if (yA > 395) {
Serial.println(" - Y - ist oben");
}
else if (zA > 395) {
Serial.println(" - - Z ist oben");
}
delay(100);
}
Das STL-File der im Video gezeigten 3-Achsen-Halterung für den Sensor findet ihr hier auf Thingiverse.
Das im Video verwendete Accelerometer-Modul mit dem 3-Achsen-Beschleunigungssensor ADXL335 stammt aus einem Elegoo Ultimate Starter Kit, das ich als umfangreiche Sammlung von Bauteilen für den Einstieg empfehlen kann.
Gute Infos, danke!
Wie rechne ich jetzt den genauen Winkel aus?
Hallo,
danke für die Info.
Wo schließe ich dann das digitale Display für die Anzeige der Winkelgrade an?
Gibt es dafür noch erforderliche Programmschritte?
Habt Ihr dafür einen link?
Freundliche Grüße
Gerhard