Агуулгын хүснэгт:

Arduino Nano-MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуурын заавар: 4 алхам
Arduino Nano-MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуурын заавар: 4 алхам

Видео: Arduino Nano-MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуурын заавар: 4 алхам

Видео: Arduino Nano-MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуурын заавар: 4 алхам
Видео: MKS Robin Nano v2.0 - A4988 or DRV8825 Install Guide 2024, Оны зургадугаар сарын
Anonim
Image
Image

MMA8452Q нь ухаалаг, бага чадалтай, гурван тэнхлэгтэй, багтаамж сайтай, бичил машинтай 12 битийн нарийвчлалтай хурд хэмжигч юм. Хэрэглэгчийн програмчлагдах уян хатан сонголтуудыг акселерометрт суулгасан функцүүдийн тусламжтайгаар хангадаг бөгөөд хоёр таслалтын зүүгээр тохируулж болно. Энэ нь хэрэглэгчийн сонгож болох ± 2g/± 4g/± 8g хэмжээтэй бөгөөд өндөр нэвтрүүлэх шүүлтүүрээр шүүсэн өгөгдөл, мөн бодит цаг хугацаанд шүүлтүүргүй өгөгдлийг агуулсан болно. Энд түүний Arduino нанотой хийсэн жагсаал байна.

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Ардуино Нано

2. MMA8452Q

3. I²C кабель

4. I²C Arduino Nano -ийн бамбай

Алхам 2: Холболт:

Холболт
Холболт
Холболт
Холболт
Холболт
Холболт
Холболт
Холболт

Arduino Nano -ийн I2C бамбайг аваад Nano -ийн голын дээгүүр зөөлөн түлхээрэй.

Дараа нь I2C кабелийн нэг үзүүрийг MMA8452Q мэдрэгч рүү, нөгөө үзүүрийг I2C бамбай руу холбоно.

Холболтыг дээрх зураг дээр харуулав.

Алхам 3: Код:

Код
Код

MMMA8452Q-ийн arduino кодыг манай github репозитороос татаж авах боломжтой- DCUBE Дэлгүүр.

Энд линк байна.

Бид мэдрэгчийн Arduino самбартай I2c холболтыг хөнгөвчлөх зорилгоор Wire.h номын санг агуулдаг.

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

// Хүсэл зоригийн лицензээр тараасан.

// Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй нийцсэн тохиолдолд ашиг, үнэгүй ашиглах боломжтой.

// MMA8452Q

// Энэ код нь MMA8452Q_I2CS I2C Mini модультай ажиллахад зориулагдсан болно.

#оруулах

// MMA8452Q I2C хаяг нь 0x1C (28)

#Addr 0x1C -ийг тодорхойлно уу

хүчингүй тохиргоо ()

{

// I2C холболтыг MASTER болгон эхлүүлэх

Wire.begin ();

// Цуваа холбоог эхлүүлэх, дамжуулах хурд = 9600

Цуваа эхлэх (9600);

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Хяналтын бүртгэлийг сонгоно уу

Wire.write (0x2A);

// StandBy горим

Wire.write (0x00);

// I2C дамжуулалтыг зогсоох

Wire.endTransmission ();

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Хяналтын бүртгэлийг сонгоно уу

Wire.write (0x2A);

// Идэвхтэй горим

Wire.write (0x01);

// I2C дамжуулалтыг зогсоох

Wire.endTransmission ();

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Хяналтын бүртгэлийг сонгоно уу

Wire.write (0x0E);

// Хүрээг +/- 2g болгож тохируулна уу

Wire.write (0x00);

// I2C дамжуулалтыг зогсоох

Wire.endTransmission ();

саатал (300);

}

хоосон давталт ()

{

гарын үсэг зураагүй int өгөгдөл [7];

// 7 байтын өгөгдөл хүсэх

Wire.requestFrom (Addr, 7);

// 7 байтын өгөгдлийг уншина уу

// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

хэрэв (Утас. боломжтой () == 7)

{

өгөгдөл [0] = Wire.read ();

өгөгдөл [1] = Wire.read ();

өгөгдөл [2] = Wire.read ();

өгөгдөл [3] = Wire.read ();

өгөгдөл [4] = Wire.read ();

өгөгдөл [5] = Wire.read ();

өгөгдөл [6] = Wire.read ();

}

// Өгөгдлийг 12 бит болгон хөрвүүлэх

int xAccl = ((өгөгдөл [1] * 256) + өгөгдөл [2]) / 16;

хэрэв (xAccl> 2047)

{

xAccl -= 4096;

}

int yAccl = ((өгөгдөл [3] * 256) + өгөгдөл [4]) / 16;

хэрэв (yAccl> 2047)

{

yAccl -= 4096;

}

int zAccl = ((өгөгдөл [5] * 256) + өгөгдөл [6]) / 16;

хэрэв (zAccl> 2047)

{

zAccl -= 4096;

}

// Өгөгдлийг цуваа монитор руу гаргадаг

Serial.print ("X-Axis дахь хурдатгал:");

Serial.println (xAccl);

Serial.print ("Y-Axis дахь хурдатгал:");

Serial.println (yAccl);

Serial.print ("Z-Axis дахь хурдатгал:");

Serial.println (zAccl);

саатал (500);

}

Алхам 4: Өргөдөл:

MMA8452Q нь электрон луужингийн програмууд, хөрөг/ландшафт, дээш/доош, зүүн/баруун, арын/урд байрлалыг тодорхойлох, тэмдэглэлийн дэвтэр, цахим уншигч, зөөврийн компьютерын уналт ба чөлөөт уналтыг илрүүлэх зэрэг статик чиг баримжаа илрүүлэлтийг багтаасан төрөл бүрийн програмуудтай. Виртуал бодит байдал, тоглоомын 3D хэрэглэгчийн байр суурийн талаархи санал хүсэлт, алхам хэмжигч алхам тоолох, HDD-ийн уналт бууралт, GPS-ийн нөөцлөлт гэх мэт бодит цагийн үйл ажиллагааны дүн шинжилгээ гэх мэт чиг баримжааны илрүүлэлт.

Зөвлөмж болгож буй: