Eğitimler
Memsic2125
Memsic 2125 ( veri sayfası ), artı veya eksi 2g'ye kadar hızlanmayı ölçebilen iki eksenli bir ivmeölçerdir . Basit bir dijital arayüze sahiptir: iki pim (her eksen için bir tane) süresi o eksenin ivmesine karşılık gelen darbeler yayar. Bu darbenin uzunluğunu ölçerek, mikrosaniye cinsinden , pulseIn () işlevini kullanarak, hızlanma oranını belirlemek ve bu verileri amaçlarınız için kullanmak mümkündür.
Gerekli Donanım
- Arduino veya Genuino Kurulu
- Memsic 2125 İvmeölçer
- bağlantı telleri
- breadboard
Devre
Sensörü breadboard'unuza doğru şekilde yönlendirmek için Memsic üzerindeki küçük üçgeni kullanın. Memsic 2125'in 5V ve GND pinlerini karttaki güç ve toprak bağlantı noktalarına bağlayın. Kartın dijital pimini 2 ivmeölçerin X çıkış pimine ve dijital pimi 3 Y çıkış pimine bağlayın.
Arduino veya Genuino'nuzun seri veri iletebilmesi için bilgisayarınıza bağlı olması gerekir.
büyütmek için resme tıklayın
Şematik
büyütmek için resme tıklayın
Kod
İvmeölçer konumundan okunan değerleri görmek için Arduino Yazılımının Seri İzleyicisini (IDE) açın.
Memsic2125
Read the Memsic 2125 two-axis accelerometer. Converts the pulses output by the
2125 into milli-g's (1/1000 of Earth's gravity) and prints them over the
serial connection to the computer.
The circuit:
- X output of accelerometer to digital pin 2
- Y output of accelerometer to digital pin 3
- +V of accelerometer to +5V
- GND of accelerometer to ground
created 6 Nov 2008
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http:egitim.aspx?e=Memsic2125
*/
// these constants won't change:
const int xPin = 2; // X output of the accelerometer
const int yPin = 3; // Y output of the accelerometer
void setup() {
// initialize serial communications:
Serial.begin(9600);
// initialize the pins connected to the accelerometer as inputs:
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
}
void loop() {
// variables to read the pulse widths:
int pulseX, pulseY;
// variables to contain the resulting accelerations
int accelerationX, accelerationY;
// read pulse from x- and y-axes:
pulseX = pulseIn(xPin, HIGH);
pulseY = pulseIn(yPin, HIGH);
// convert the pulse width into acceleration
// accelerationX and accelerationY are in milli-g's:
// Earth's gravity is 1000 milli-g's, or 1 g.
accelerationX = ((pulseX / 10) - 500) * 8;
accelerationY = ((pulseY / 10) - 500) * 8;
// print the acceleration
Serial.print(accelerationX);
// print a tab character:
Serial.print("\t");
Serial.print(accelerationY);
Serial.println();
delay(100);
}
See Also
- pinMode()
- pulseIn()
- serial.begin()
- serial.print()
- ADXL3xx- Bir ADXL3xx ivmeölçer okuyun.
- Knock- Bir piezo elemanı ile darbelerini tespit edin.
- Ping- Ultrasonik bir mesafe bulucu ile nesneleri tespit edin.