GY-61 mit ADXL335: 3-Achsen-MEMS-Beschleunigungsmesser


ADXL-335-Datasheet


  1. Wir testen das Modul an einem Arduino.
    		 

      Diese Werte stammen von einem Arduino Nano, jedoch um zweiten Fall erfolgte die Zeitmessung erst nach den Ausgaben.
    	GY-61-testen-1.ino                  GY-61-testen-1.ino
    	428µs,395,357,299                   394,358,293,964µs  
    	340µs,394,357,332                   393,357,342,832µs
    	340µs,393,357,345                   393,357,360,844µs
    	340µs,394,357,349                   394,358,358,832µs
    	336µs,393,357,351                   394,357,353,832µs
    	...
    Wir sehen in diesem Beispiel, dass die Serial.print()-Anweiung eine merkliche Laufzeit aufweist.
    Gelingt es dir, das gegebene Programm entsprechend umzustellen?
  2. Wir testen das Modul an einem Arduino.
    		 


      Jetzt ist der Einfluss der Ausgabe-Anweisung auf die Laufzeit sehr gering.
    	   ...
    	   394,358,350,340µs
    	   ...
    	   
  3. Wir machen eine Erweiterung im Programm, um die Laufzeit im loop()-Bereich besser zu verstehen.
    		 


    Die delay()-Anweiung in der Zeile 20 bestimmt die Anzahl der Messwerte pro Sekunde.
    Wenn später andere Programme seriell auf die Daten des Arduino zugreifen möchten, ist die Angabe wichtig.
    	   delay-Wert im ms:                      0      1      10      100
    	   Anzahl der Messungen pro Sekunde:    493    453      89       10
    	   
    Sollte mehr Daten auf die serielle Schnittstelle geschrieben werden, als von dieser gelesen werde, kommt es zu einen Datenstau bzw. Datenverlust.
  4. Die folgende Variante bestimmt einige statistische Wert.
    		 


    Es werden Mittelwert, kleinster und größter Wert der drei Messwerte bestimmt.
  5. Wir wollen nun aus den Messwerten die Lage des Sensors bestimmen.
    Dazu legen wir die Platine mit dem Sensor waagerecht auf den Tisch und starten das Programm auf dem Arduino neu.  
    		 


    In 'setup()' wird 'messen(1000)' aufgerufen. Während dieser Zeit sollte der Sensor waagerecht auf dem Tisch liegen.


       ...