Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

4 Schritt:Schritt 1: Materialien Schritt 2: Schritt 3: Programmierung Schritt 4: Hochladen und Verwenden

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus
Während eines Physik-Klasse waren wir Vorformen eines Physikexperiment, das accleration aufgrund graivty messen - 9.8m / s ^ 2, und während wir keine neue Physik Entdeckungen nicht machen Ich hatte eine Idee zur Verbesserung des Experiments. Die Art, wie das Experiment gearbeitet war, einen NXT mit einem angeschlossenen acclerometer weg von einem Balkon fallen und jemand darunter fangen würde. Das Problem war, dass, wenn sie es verpasst € 200 würde auf dem Boden aufschlug und zerbrechen. Nach einigen Recherchen habe ich festgestellt, dass für 50 € können Sie einen Arduino mit einem Beschleunigungsmesser, die genauso gut funktioniert und hat weniger Signalrauschen zu bauen.

Einige Vorteile für die MMA7361 Acceleromter sind, dass sie gesetzt zu erkennen +/- 1,5 g oder +/- 6g werden. Ich habe auch einen sehr geringen Stromverbrauch und der geringen Größe sogar mit dem Breakout-Board macht es zum idealen Passform für jedes Projekt. Nicht zu vergessen die relativ niedrigen cost.Step 1 erwähnen: Materialien



Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus
1x Arduino Uno (a Mega ermöglicht es Ihnen, mehr Daten zu speichern, aber es ist auch größer und teurer)
MMA7361 1x Acceleromter - Sparkfun hat man mit einem Breakout-Board
1x Proto Schild / perf Bord

Die alle Projekt Extras:
Lot
Überschriften
Draht
LEDs
Drucktasten
Widerstände
Ein- / Ausschalter
etc.Step 2:

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

Je nachdem, ob Sie ein Proto Board oder perf Bord Lot alle Drähte von der Breakout-Board, auf dem Arduino dem entsprechenden Stift.

Schlaf - 13
Selftest / STP - 12
ZeroG / 0G - 11
GWählen / GSEL - 10
X-Achse - A0
Y-Achse - A1
Z-Achse - A2
VDD - 3,3 V

Weiter zu befestigen 2 Tasten und 2 weitere LEDs auf 4 anderen pinsStep 3: Programmierung

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus
Es gibt nur ein paar Variablen, die Sie auf, was Sie aufnehmen möchten ändern. Der Code ist relativ kommentierte die hoffentlich helfen. Unten ist die Readme fie in der ZIP-Datei.

Sie müssen auch auf den Beschleunigungsmesser-Bibliothek hinzufügen. Wenn Sie nicht hinzugefügt haben, eine Bibliothek zu erstellen, bevor Sie einen Ordner namens "libraries" in Ihrem Arduino Sketch Ordner und löschen Sie dann den Beschleunigungsmesser-Ordner innerhalb des Ordners der angeschlossenen Bibliotheken in Ihren neuen Ordner "Bibliotheken".

total_points - steuert die Anzahl der aufgezeichneten Datenpunkten

const unsigned long loop_time - steuert, wie oft Daten aufgezeichnet ex. 5 von 5 ms entspricht.

Damit das Programm richtig funktioniert die AcceleroMMA7361 Bibliothek muss, um Ihren Arduino Library-Ordner hinzugefügt werden, und das Programm neu gestartet.

Die maximale Anzahl von Datenpunkten, die auf dem Arduino SRAM gesammelt werden können, ist 700. Zusätzliche Datenpunkte können mit einer SD-Karte oder zusätzlichen Speicher gesammelt werden.

Der Skalierungsfaktor für die gefundenen Werte "x": ((x / 100) -1) / Erdbeschleunigung). Beschleunigung der Schwerkraft entspricht etwa 9,8. Die skalierten Werte werden in Einheiten von m / s ^ 2.

So ändern Sie, wie oft Datenpunkte offen die Programmdatei gesammelt und ändern Sie die Konstante ganze Zahl loop_time, um die gewünschte Zeit. Diese Zahl ist in Millisekunden.

Die LEDs entsprechen jeweils einer der Tasten und die folgende Aktion. Die Taste am weitesten von dem Beschleunigungsmesser schaltet sich die grüne LED auf und zeichnet Werte. Die LED erlischt bei nochmaligem Drücken und Werte stoppt gesammelt. Die rote LED entspricht der Schaltfläche in der Nähe des Beschleunigungsmesser und leuchtet, wenn Werte werden an den seriellen Monitor übertragen.

Die rote LED zweimal zu Beginn blinken, um anzuzeigen, dass der Start-up-Schleife und die Kalibrierung abgeschlossen ist und die Daten können nun jetzt gesammelt werden.

Die grundlegendste Code für diese, um sicherzustellen, alles funktioniert ist:
Wenn etwas flach ausgeruht die Z-Achse sollte etwa 1 und die X- und Y-Achse 0 jeder lesen.

AcceleroMMA7361 accelero;
int x;
int y;
int z;
Leere setup ()
{
Serial.begin (9600);
accelero.begin (13, 12, 11, 10, A0, A1, A2);
accelero.setARefVoltage (5); // Setzt die AREF Spannung bis 3,3 V
accelero.setSensitivity (LOW); // Wird die Empfindlichkeit auf 6G +/-
accelero.calibrate ();
}
Leere Schleife ()
{
x = accelero.getXAccel ();
y = accelero.getYAccel ();
z = accelero.getZAccel ();
Serial.print ("\ nx:");
Serial.print (x);
Serial.print ("\ ty:");
Serial.print (y);
Serial.print ("\ tz:");
Serial.print (z);
Serial.print ("\ tG * 10 ^ -2");
Verzögerung (500); // Machen es lesbar
} Schritt 4: Hochladen und Verwenden

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

Beschleunigungsmesser-Schild für Physik Klasse und darüber hinaus

Nun öffnen Sie einfach die Arduino Programm Upload befestigt und öffnen Sie die serielle Monitor, um die Druckdaten zu sehen. Beachten Sie, dass Sie subtrahieren 1 oder 100 * 10 ^ -2 aus den Ergebnissen, denn das ist die Konstante der Schwerkraft. So, wenn sie im freien Fall ist, wird es zu lesen, die -1 * = -9,8 -9.8m / s ^ 2 - die konstante Beschleunigung von Schwerkraft.

Es gibt auch einige Programme, die mit der Bibliothek, die Sie testen können und aus ändern sich kam. Ich hoffe, Sie genießen dieses und informieren Sie mich bitte Ihre Ergebnisse!