Nr.14 – Lagesensor

Inhaltsverzeichnis

Lagesensor / Beschleunigungssensor ADXL335 (Gy-61) mit Arduino auslesen

Aufgabe: Der Beschleunigungssensor ADXL335 soll mithilfe eines Arduino-Mikrocontrollers ausgelesen werden. Der Sensor wird hierbei verwendet, um die Lage der x- und y-Achse des Sensors zu ermitteln.

ADXL335, GY-61 Beschleunigungssensor

Der Beschleunigungssensor hat neben der Spannungsversorgung mit 3 bis 5 Volt drei analoge Ausgänge für die Beschleunigung in x, y bzw. z-Richtung. Die Ausgabe erfolgt in Form einer Spannung. Je nach Winkel des Sensors zur horizontalen Achse ist die Spannung für die entsprechende Achse höher oder niedriger. Diese drei Ausgänge können mit Arduino-Boards an den analogen Eingängen ausgelesen werden. Das macht es sehr einfach, die Daten des Beschleunigungssensors zu verarbeiten.

Foto vom Aufbau am Funduino Mikrocontroller

ADXL335, GY-61 am Funduino MEGA2560 R3 Mikrocontroller

Der Programmcode

int x=0; // Benennung von x als Variable für den Sensorwert der x-Achse
int y=0; // Benennung von y als Variable für den Sensorwert der y-Achse
int z=0; // Benennung von z als Variable für den Sensorwert der z-Achse

void setup() 
{
Serial.begin (9600); // Start der seriellen Verbindung für den serial monitor.
}

void loop() 
{
x=analogRead(A0); // Auslesen des Sensorwertes der x-Achse
y=analogRead(A1); // Auslesen des Sensorwertes der y-Achse
z=analogRead(A2); // Auslesen des Sensorwertes der z-Achse
Serial.print (x); // Ausgabe des Sensorwertes der x-Achse an den serial monitor
Serial.print ("    "); // Ausgabe von vier Leerzeichen
Serial.print (y); // Ausgabe des Sensorwertes der y-Achse an den serial monitor
Serial.print ("    "); // Ausgabe von vier Leerzeichen
Serial.println (z); // Ausgabe des Sensorwertes der z-Achse an den serial monitor und Zeilenumsprung durch den Befehl "Serial.println"
delay(100); // Wartezeit zwischen den einzelnen Ausgaben der Sensorwerte
}

Darstellung im seriellen Monitor der Arduino IDE

Die Werte für die x-Achse und y-Achse liegen in horizontaler Lage also ca. bei dem Wert 335. Wenn man den Sensor nun entlang der Achsen kippt, werden diese Werte größer bzw. kleiner. Anhand dieser Veränderung lassen sich dann in Abhängigkeit der Werte andere Funktionen auslösen.

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE