Makefun-logo

Makefun MPU6050 Arduino Hoʻoholo Hoʻoholo

Makefun-MPU6050-Arduino-Gesture-Motion-Tracking-huahana

ʻIke Huahana

Nā kikoʻī

  • Inoa Huahana: ʻO ke ʻano-MotionTracking
  • Manaʻo: V.1.2
  • Hale Waihona Github: Ka loulou Github

Hoʻomaka papa inoa o nā mea hana

ʻO nā pahu i makemake ʻia no ka hoʻohana ʻana iā Gesture-MotionTracking:

  • MPU6050 Module
  • JDY-16 Bluetooth Module
  • NRF24L01+ Module
  • Arduino NANO Papa Mana Mana
  • Papa Berena Mini
  • Nā mīkina lima
  • Laina DuPont kāne a Wahine
  • Batri

Nā ʻōlelo hoʻohana huahana

NANO Mea Hana Hoʻolauna

Lako ikehu

  • Hiki ke hoʻohana ʻia ka Arduino Nano e ka mini-B USB interface, waho 7 ~ 12V DC mana lako ma o ka pilina vin.

Hoʻomanaʻo

  • ʻO ka ATmega168/ATmega328 ma ka Nano he 16KB/32KB Flash memory, 1KB/2KB SRAM, a me 0.5KB/1KB EEPROM.

Hookomo a me ka puka

  • ʻO ka Nano he 14 digital I/O ports, 6 analog inputs, a me nā pine kikoʻī no nā hana like ʻole e like me ke kamaʻilio serial, interrupts, PWM outputs, SPI, etc.

Pāʻani Kūkākūkā

  • Kākoʻo ka Nano i ke kamaʻilio serial ma o UART a loaʻa iā SPI a me I2C nā kaʻa kaʻa kaʻa.

Mea hoʻoiho

  • Hiki ke hoʻolālā ʻia ka Nano me ka hoʻohana ʻana i ka polokalamu Arduino a me ka polokalamu bootloader. Hiki ke hoʻoiho ʻia nā polokalamu ma o ke poʻomanaʻo ICSP.

Nānā

  • Hōʻike ka Nano i kahi hoʻolālā hoʻonohonoho maʻalahi no ka hoʻonohonoho polokalamu maʻalahi me ka ʻole o ka hana lima.

FAQ

Nīnau pinepine

  • Q: Ma hea e loaʻa ai iaʻu nā mea hou a i ʻole nā ​​kumuwaiwai hou aʻe no Gesture-MotionTracking?
    • A: Hiki iā ʻoe ke nānā i ka waihona waihona Github ma ka loulou i hāʻawi ʻia no nā mea hou a me nā kumuwaiwai.
  • Q: Pehea wau e mana ai i ka Arduino Nano?
    • A: Hiki iā ʻoe ke mana i ka Nano me ka hoʻohana ʻana i kahi kikowaena USB mini-B a i ʻole kahi mana waho 7 ~ 12V DC i hoʻopili ʻia ma o ka pine vin.

“`

E hoʻohauʻoli maikaʻi iā ʻoe

1. Hoʻolauna papa inoa mea hana
Hōʻike ʻia nā pahu i makemake ʻia ma ka papa ma lalo. MPU6050 Module
JDY-16 Bluetooth Module NRF24L01+ Module
ʻO Arduino NANO Papa Mana Manaʻo mini nā mīkina lima Papa Berena
Kane i ka Wahine DuPont line Battery

1 1 2 1 2 1 Nui 1

Kiʻi 1: Papa inoa o nā mea hana
4

E hoʻohauʻoli maikaʻi iā ʻoe
2. Hoʻomaka NANO Processor
ʻO ka Arduino Nano microprocessor ʻo ATmega328 (Nano3.0) me ka USB-mini interface, nona nā 14 kikohoʻe hoʻokomo / puka puka (6 o ia mea hiki ke hoʻohana ʻia e like me ka PWM output), 8 analog inputs, a me kahi 16 MHz ceramic resonator, 1 mini. -B pili USB, kahi poʻomanaʻo ICSP a me kahi pihi hoʻihoʻi. ʻO ke kaʻina hana ATmega328 Working voltage 5v Komo voltage (manaʻo ʻia) 7-12v Input voltage (pae) 6-20v Digital IO pine 14 (6 o ia mau mea hiki ke hoʻohana ʻia e like me ka PWM puka) Analog pin input 6 IO pin DC 40 mA Flash Memory 16 a i ʻole 32 KB (ma kahi o 2 KB no ka hoʻouka pahu) SRAM 1KB a i ʻole 2KB EEPROM 0.5 KB a i ʻole 1KB ATmega328 CH340 USB i ka chip port serial Clock 16 MHz
2.1 Mana Mana
ʻO Arduino Nano ka mana lako mana: mini-B USB ka mana mana a me ka pilina vin waho 7 ~ 12V waho DC mana lako.
2.2 Hoʻomanaʻo
Aia ʻo ATmega168/ATmega328 ma ka chip 16KB/32KB Flash, kahi o 2KB i hoʻohana ʻia no Bootloader. Aia kekahi 1KB/2KB SRAM a me 0.5KB/1KB EEPROM.
2.3 Hoʻokomo a hoʻopuka
14 kikohoʻe hoʻokomo a me nā puka puka: Ka voltagʻo 5V, a hiki i kēlā me kēia kahawai ke hoʻopuka a komo i ka ʻoi loa o 40mA. Hoʻolako ʻia kēlā me kēia kahawai me ka 20-50K ohm i loko o ka huki huki ʻana (ʻaʻole pili ʻia e ka paʻamau). Eia kekahi, he mau hana kiko'ī ko kekahi mau pine.
Hōʻailona Serial RX (0), TX (1): Hāʻawi ia i ka hōʻailona hōʻailona hōʻailona me TTL voltage pae, pili i ka pine pili o FT232Rl.
Kūwaho waho (Nā. 2 a me No. 3): Hoʻomaka i ka pine interrupt, hiki ke hoʻonohonoho ʻia i ka ʻaoʻao piʻi, ka ʻaoʻao hāʻule a i ʻole ke kumu hoʻokahi.
Pulse Width Modulation PWM (3, 5, 6, 9, 10, 11): Hāʻawi i 6 channel, 8-bit PWM outputs.
5

E hoʻohauʻoli maikaʻi iā ʻoe
SPI10(SS)11(MOSI)12(MISO)13(SCK):SPI Kūkākūkā Interface. LED (No. 13): Hoʻohana kūikawā ʻia ʻo Arduino e hoʻāʻo i ke kikowaena i mālama ʻia o ka LED. I ka wā i puka mai ai
kiʻekiʻe, hoʻomālamalama ka LED. Ke haʻahaʻa ka puka, ua pio ke LED. 6 mau mea hoʻokomo analog A0 i A5: Loaʻa i kēlā me kēia kahawai ka hoʻonā o 10 bits (ʻo ia hoʻi, he 1024 ʻokoʻa ka hoʻokomo.
nā waiwai), ʻo 0 a 5V ka laulā hōʻailona hoʻokomo, a hiki ke hoʻoponopono ʻia ka palena kiʻekiʻe e AREF. Eia kekahi, he mau hana kiko'ī ko kekahi mau pine. TWI interface (SDA A4 a me SCL A5): Kākoʻo i ka pilina kamaʻilio (kūpono me I2C bus). AREF: ʻO ka voltage o ka hōʻailona hoʻokomo analog. Hoʻoponopono Hoʻihoʻi hou ʻia ka chip microcontroller inā haʻahaʻa ka hōʻailona.
2.4 ʻImi Kūkākūkā
awa Serial: Hiki i ka UART i kūkulu ʻia o ATmega328 ke kamaʻilio me ke awa serial waho ma o ke awa kikohoʻe 0 (RX) a me 1 (TX).
2.5 Mea hoʻoiho
He polokalamu bootloader ka MCU ma ka Arduino Nano, no laila hiki iā ʻoe ke hoʻoiho pololei i ka polokalamu mai ka polokalamu Arduino. Hiki iā ʻoe ke hoʻoiho pololei i ka papahana i ka MCU ma o ke poʻomanaʻo ICSP ma ka Nano.
2.6 Nānā
Hāʻawi ka Arduino Nano i kahi hoʻolālā hoʻonohonoho hou i hiki ke hoʻonohonoho hou ʻia e ka mea hoʻokipa. Ma kēiaʻano, hiki ke hoʻonohonoho houʻia ka polokalamu e ka polokalamu Arduino i ka polokalamu i ka Nano, me ke kaomiʻole i ke pihi reset.

Blumodule hoʻolauna

Blumodule introductionJDY-16

3.1 Nā hiʻohiʻona
Kākoʻo ʻo BLE kiʻekiʻe kiʻekiʻe kiʻekiʻe kiʻekiʻe ka hoʻouna ʻana i ke kamaʻilio ʻana i ka helu 8K Bytes. Hoʻouna a loaʻa i ka ʻikepili me ka palena ʻole byte, kākoʻo i ka 115200 baud rate e hoʻouna mau a loaʻa i ka ʻikepili. Kākoʻo i nā ʻano hana 3 (e ʻike i ka wehewehe ʻana o ka hana aʻo AT+STARTEN). Kākoʻo (serial port, IO, APP) hiamoe ala E kākoʻo iā WeChat Airsync, WeChat applet a me APP kamaʻilio. Kākoʻo i ka 4 channel IO port control and high precision RTC clock. Kākoʻo i ka hana PWM (hiki ke hoʻomalu ʻia e UART, IIC, APP, etc.). Kākoʻo i ke ʻano kamaʻilio UART a me IIC, paʻamau i ke kamaʻilio UART. iBeacon mode (kākoʻo WeChat shake protocol a me Apple iBeacon protocol).
6

E hoʻohauʻoli maikaʻi iā ʻoe
Hoʻokipa i ke ʻano hoʻouna ʻike (ka hoʻouna ʻana i ka ʻikepili ma waena o nā modula noi, ke kamaʻilio a me ke kauā).
ʻO ka hoʻonohonoho ʻana o ka module kamaʻilio kelepona

Makefun-MPU6050-Arduino-Gesture-Motion-Tracking-fig-1

Kiʻi 2: JDY-16 module physical map (1) ʻO ke kaula o Nano a me JDY-16

JDY-16 Module

Arduino NANO

VCC

5V

GND

GND

RXD

D2

TXD

D3

STAT

NC

PWRC

NC

Hoʻoiho i ka polokalamu MotionTrackJDY-16AT_CMD AT_CMD.ino

(2) Nā koi hoʻonohonoho:

E hoʻokō i ka hoʻopaʻa haku-kauā ʻelua JDY-16 Bluetooth modules.

3.2 Nā ʻanuʻu hana

1. Hoʻohui i nā modula Nano a me JDY-16 me ka laina DuPont. 2. E hoʻokomo i ke ʻano kauoha AT E hoʻohui i ka mea hoʻoiho i ke kamepiula a wehe i ke kōkua port serial. E hoʻonoho i ka helu baud i 9600, ka bit data i 8 bits, ka bit stop i ka 1 bit, a ʻaʻohe parity bit.

7

E hoʻohauʻoli maikaʻi iā ʻoe
Ho'āʻo kamaʻilio: Hoʻouna: AT Hope: OK
Kiʻi 3: E hoʻouna i ka palapala kauoha AT 3. E hoʻouna: AT+HOSTEN1rn ————– E hoʻonoho i ke Bluetooth ma ke ʻano nui.
8

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 4: Hoʻonohonoho i ke ʻano hoʻokipa 4. E nānā i ka JDY-16 Bluetooth a puni: 1. Hoʻouna ʻia ke kauā: AT+SCANrn ————— E nīnau i ka helu wahi o ke kauā. +STOP:SCAN
Kiʻi 5: Ke noiʻi nei i nā hāmeʻa Bluetooth peripheral 5. Hoʻohui i ke Bluetooth
Hoʻouna ka mea hoʻokipa: AT+CONN3CA5090A160Frn ————— Helu kauā hoʻopaʻa hoʻokipa Ma hope: OK Hoʻohui ʻia i ka lako mana, hiki ke hoʻopili ʻia nā Bluetooth ʻelua i kekahi i kekahi, e hoʻouna i ka ʻikepili ma o ka mea hoʻokipa Bluetooth, hiki i ke kauā Bluetooth ke loaʻa ka ʻikepili like. A i ʻole hiki iā ʻoe ke hoʻolālā pololei i ke kaʻina hana hoʻonohonoho haku-kauā i mākaukau e hoʻonohonoho i ka haku-kauā Bluetooth, a laila hoʻonohonoho ka mea hoʻokipa i ke kaʻina hana pili a hoʻopili ʻakomi. (E hoʻomanaʻo ʻo ka module Bluetooth wale nō o JDY-16 hiki ke hoʻopili ʻia i kēia manawa)
9

E hoʻohauʻoli maikaʻi iā ʻoe
3.3 Ke ala pili o Nano a me JDY-16
Kiʻi 6: Nano a me JDY-16 kiʻi pili

Makefun-MPU6050-Arduino-Gesture-Motion-Tracking-fig-2
10

E hoʻohauʻoli maikaʻi iā ʻoe

NRF24L01 Wireless Module Introduction

NRF24L01 Wireless Module Introduction

ʻO ka nRF24L01+ module he 2.4G kelepona kelepona i hoʻomohala ʻia e Nordic e pili ana i ka chip nRF24L01. Hoʻopili i ka modulation FSK a hoʻohui i ka protocol Enhanced Short Burst pono'ī o Nordic. Hiki ke hoʻokō ʻia ke kamaʻilio uea ʻole pointto-point a i ʻole 1-a-6. Hiki ke piʻi ka wikiwiki kamaʻilio ʻole i ka 2M (bps). ʻEhā mau ʻano hana o ka NRF24L01: mode transceiver, mode configuration, mode idle, a me ke ʻano pani. ʻO ka palapala'āina kino i hoʻohanaʻia ma kēia hoʻokolohua aia ma kaʻaoʻao hema o ka Figure 7. No ka hoʻokipa paʻa o ka loaʻa Nrf24L01, pono e hoʻohui i ka capacitor 10uf ma waena o VCC a me GUD e like me ka mea i hōʻikeʻia ma ka'ākau.
Kiʻi 7: Nrf24l01+ palapala ʻāina kino a me ke kiʻi solder
4.1 Nā hiʻohiʻona module
2.4GHz , liʻiliʻi liʻiliʻi 15x29mmin me nā antenna Kākoʻo i ka ʻike ʻikepili ʻeono-kanal Vol haʻahaʻa hana.tage: 1.93.6V Kākoʻo ka helu hoʻoili ʻikepili: 1Mbps2Mbps.
ka hoʻokuʻu ʻana, 900nA ma ke ʻano hoʻohaʻahaʻa mana.
Hiki ke hoʻomalu ʻia ka manawa hoʻouna hou a me nā manawa hoʻouna hou e ka polokalamu ʻO ka hana pane aunoa, ma hope o ka loaʻa ʻana o ka ʻikepili kūpono, hoʻouna ʻokoʻa ka module i kahi pane
hōʻailona Loaʻa i ka lako CRC ʻike hewa a me ka helu-a-multipoint kamaʻilio kaohi ʻana i nā kikoʻī chip NRF24L01 e ʻoluʻolu e nānā i ka tonRF24L01 Datasheet.pdf
11

E hoʻohauʻoli maikaʻi iā ʻoe
ʻike pine

Kiʻi 8: Nrf24L01 kiʻi ʻike pin

Hōʻailona Pin

Hana

Kuhikuhi

1 GND

GND

2

+5V

Lako ikehu

3

CE

Laina Mana ma ke ano hana

IN

4

CSN Chip koho hōʻailona, ​​haʻahaʻa pae hana

IN

5

SCK

Uaki SPI

IN

6 MOSI

Hookomo SPI

IN

7 MISO

SPI Hoʻopuka

Iwaho

8

IPQ

Hoʻopuka hoʻopau

Iwaho+

4.2 Manaʻo hoʻokolohua
1. E aʻo e pili ana i nRF24L01+module a pehea e hoʻopili ai me Arduino. 2. Pehea e hoʻohana ai i ka arduino a me nRF24L01 + module e hoʻopau i ka loaʻa a me ka hoʻouna ʻana i ka ʻikepili.

4.3 Nā mea e pono ai no kēia hoʻokolohua
Arduino UNO R3 Motherboard Arduino NANO Motherboard nRF24L01 Module*2 He mau uea.
12

E hoʻohauʻoli maikaʻi iā ʻoe
4.4 Kiʻi hoʻokolohua hoʻokolohua

Kiʻi 9: Nano a me Nrf24L01 kiʻi pili

Arduino a me NRF24L01 mode o ka pilina

arduino Nano

nRF24L01

+3.3V

VCC

GND

GND

7 pine

4pin CSN

4 pine

3pin CE

11 pine

6 pine MOSI

12 pine

7 pine MISO

13 pine

5 pine SCK

arduino Uno +3.3V GND 7 4 11pin 12pin

nRF24L01
VCC GND 4pin CSN 3pin CE 6pin MOSI 7pin MISO

13

E hoʻohauʻoli maikaʻi iā ʻoe

13 pine

5 pine SCK

4.4 Kumu papahana
Kaʻina hana 1 ʻO ka mua, hoʻonohonoho i ka nRF24L01 e hoʻouna i ke ʻano. 2 A laila e kākau i ka helu TX_ADDR o ka hopena loaʻa a me ka ʻikepili TX_PLD e hoʻouna ʻia i loko o ka nRF24L01 buffer area e ke awa SPI i ke kaʻina manawa. Hoʻonohonoho ʻo 3Arduino i ka CE i kiʻekiʻe no ka liʻiliʻi o 10 mau s a hoʻouna i ka ʻikepili ma hope o ka lohi o 130 s. Inā ʻo ka pane kaʻa, komo ka nRF24L01 i ke ʻano hoʻokipa ma hope koke o ka hoʻouna ʻana i ka ʻikepili a loaʻa ka hōʻailona pane. Inā loaʻa ka pane, manaʻo ʻia ua kūleʻa ke kamaʻilio. 4NRF24L01 e hoʻonoho ʻokoʻa iā TX_DS kiʻekiʻe a e hoʻomaʻemaʻe ʻia ka TX_PLD mai ka waihona hoʻouna. Inā ʻaʻohe pane i loaʻa, e hoʻouna hou ʻia ka ʻikepili. Inā hiki ka helu o ka hoʻouna hou ʻana (ARC_CNT) i ka palena kiʻekiʻe, ua hoʻonohonoho ʻia ʻo MAX_RT kiʻekiʻe a ʻaʻole e holoi ʻia ʻo TX_PLD; MAX_RT Ke hoʻonoho ʻia ʻo TX_DS kiʻekiʻe, haʻahaʻa ka IRQ no ka hoʻomaka ʻana i ke keakea MCU. Ke holomua ka hoʻouna hope, inā haʻahaʻa ka CE, e komo ka nRF24L01 i ke ʻano standby. 5Inā loaʻa ka ʻikepili i ka waihona hoʻoili a kiʻekiʻe ʻo CE, hoʻomaka ka hoʻouna hou ʻana; inā ʻaʻohe ʻikepili i ka waihona hoʻoili a kiʻekiʻe ʻo CE, e komo ka nRF24L01 i ke ʻano standby 2. Loaʻa i ke kaʻina ʻikepili 1I ka loaʻa ʻana o ka ʻikepili i ka nRF24L01, e ʻoluʻolu e hoʻonohonoho i ka nRF24L01 e loaʻa mua ke ʻano. 2 A laila e hoʻopaneʻe i nā 130s i ka mokuʻāina e kali ai no ka hōʻea ʻana o ka ʻikepili. Ke ʻike ka mea hoʻokipa i kahi helu kūpono a me ka CRC, mālama ʻo ia i ka ʻeke ʻikepili ma ka waihona hoʻokipa. I ka manawa like, ua hoʻonohonoho ʻia ka hōʻailona interrupt RX_DR a haʻahaʻa ka IRQ e haʻi aku i ka MCU e kiʻi i ka ʻikepili. 3Inā ho'āla ʻia ka pane ʻokoʻa i kēia manawa, e hoʻokomo ka mea hoʻokipa i ka hōʻailona pane echo status transmit i ka manawa like. Ke holomua ka hoʻokipa hope, inā haʻahaʻa ka CE, e hele ka nRF24L01 i ke ʻano hana ʻole 1.
NRF24L01 transceiver ho'āʻo polokalamu e ʻoluʻolu e nānā i ka "MotionTracknRF24l01+program"

14

E hoʻohauʻoli maikaʻi iā ʻoe

Mpu6050 Introduction

ʻO MPU6050 ka mea mua o ka honua 6-axis motion processing component me 3-axis gyroscope a me 3-axis accelerator. Hiki iā ia ke hoʻopili i nā mea ʻike magnetic ʻē aʻe a i ʻole nā ​​​​mea ʻike ʻē aʻe 'digital motion processing (DMP) ma o ka lua I2C awa. Hoʻopuka ka mīkini wikiwiki wikiwiki i kahi ʻenehana helu fusion 9-axis piha i ka host MCU ma ke ʻano o kahi kahawai data hoʻokahi e ka awa I2C.
Hiki mai ka puʻupuʻu MPU6050 me kahi submodule DMP hoʻoili ʻikepili, ua kūkulu ʻia i loko o ka mīkini kānana algorithm, me ka hoʻohana ʻana i ka ʻikepili puka DMP ua hiki ke hoʻokō pono i nā koi i nā noi he nui. ʻAʻole pono mākou i kā mākou polokalamu e hana i ke kānana. E kūkulu kēia papa i nā mīkina lima haʻuki piha e pili ana i ka heluhelu ʻana i ka DMP ma ke ʻano he ʻikepili puka ma o Arduino.
Kiʻi 10: mpu6050 module kino palapala
Nā hiʻohiʻona ʻO ka ʻikepili helu helu i hoʻohui ʻia o ka puka kikohoʻe o 6 axis a i ʻole 9 axis rotation matrix, quaternion a me Euler
ʻano kihi. 3-axis angular velocity sensor (gyroscope) me 131 LSBs/°/sec sensitivity and full-range sensitive range
o ±250, ±500, ±1000, a me ±2000°/sec. Ka mana polokalamu, 3-axis accelerator me ka mana o ka papahana o ±2g, ±4g, ±8g, a me ±16g. Hoʻemi ka mīkini Digital Motion Processing (DMP) i ka ukana o ka ʻikepili helu fusion paʻakikī,
ka hoʻonohonoho ʻana i ka sensor, a me ka ʻike ʻana.
15

E hoʻohauʻoli maikaʻi iā ʻoe
Kākoʻo ka waihona ʻikepili hoʻoili neʻe i ka Android, Linux, a me Windows. ʻO nā ʻenehana calibration i kūkulu ʻia no ka wehe ʻana i ka manawa hana a me ka sensor magnetic e hoʻopau i nā hoʻohana '
pono hou no ka calibration. ʻIke wela puka kikohoʻe. ʻO ka lako voltagʻO ka e o VDD he 2.5V±5%3.0V±5%3.3V±5%, a ʻo VDDIO he 1.8V±5%. Gyro hana i kēia manawa: 5mA, gyroscope standby manawa: 8A; ʻO ka hoʻokō ʻana i kēia manawa: 8A,
ʻO ke ʻano hoʻōla mana wikiwiki i kēia manawa: 8A@10Hz. A hiki i 400kHz mode wikiwiki I2C, a i ʻole 20MHz SPI hoʻokipa hoʻokipa serial. ʻO ka pūʻolo liʻiliʻi liʻiliʻi a lahilahi loa no ka huahana lawe lima (4x4x0.9mm QFN).
5.2 Papahana Module

Kiʻi 11: Hoʻolālā o ka module mpu6050
5.3 Kūkākūkā ma waena o Nano a me mpu6050

5.3.1 Hui Kaapuni
Hoʻohana ka ʻikepili ʻikepili o ka module MPU6050 i hoʻohui ʻia i ka protocol bus I2C, no laila pono mākou i ke kōkua o ka waihona Wire e kamaʻilio ma waena o NANO a me MPU6050. ʻO ka pilina pili o ka papa NANO penei:

MPU6050 Module VCC

Arduino NANO 5V

16

E hoʻohauʻoli maikaʻi iā ʻoe

GND SCL SDA XDA XCL ADD INT

GND A5 A4 NC NC NC NC/GND

Kiʻi 12: Ke kiʻi hoʻohui o Nano a me mpu6050
ʻIke ʻia ka MPU6050 kākau a me ka heluhelu ʻana i nā ʻikepili i loko o ka chip, ʻo nā helu inoa inoa he 1 byte, ʻo ia hoʻi, 8 mau bits o ka wahi helu. E ʻoluʻolu e nānā iā “RMMPU-6000A.pdf” 1.1. Ma mua o ka kākau ʻana i ka ʻikepili i ka hāmeʻa i kēlā me kēia manawa, e hoʻā mua i ke ʻano hoʻoili uea a kuhikuhi i ka helu kaʻa o ka hāmeʻa. ʻO ka helu wahi kaʻa o MPU6050 ʻo 0x68 (ʻo 0x69 ka helu wahi inā kiʻekiʻe ka pine AD0). A laila e kākau i kahi byte o ka helu hoʻomaka hoʻopaʻa inoa, a laila kākau i ka ʻikepili o kēlā me kēia lōʻihi. E kākau mau ʻia kēia mau ʻikepili i ka helu hoʻomaka i ʻōlelo ʻia, a e kākau ʻia ka lōʻihi o kēia manawa i ka papa inoa o kēia helu helu. E hoʻopau i ke ʻano hoʻoili uea ma hope o ka pau ʻana o ke kākau ʻana. sampLe code kākau i ka byte 0 i ka 0x6B kakau o ka MPU6050.
Wire.beginTransmission(0x68); // Strat i ka lawe ʻana o MPU6050
17

E hoʻohauʻoli maikaʻi iā ʻoe
Wire.write(0x6B); // E wehewehe i ka helu inoa Wire.write(0); // Kākau i hoʻokahi byte o ka ʻikepili Wire.endTransmission(ʻoiaʻiʻo); // Hoʻopau i ka hoʻoili ʻana, ʻoiaʻiʻo ka hoʻokuʻu ʻana i ka pahi
Heluhelu ʻikepili mai MPU-6050
He like ka heluhelu a me ke kākau ʻana, e wehe mua i ke ʻano hoʻololi Wire, a laila kākau i kahi byte o ka helu hoʻomaka. A laila, heluhelu i ka ʻikepili o ka helu wahi i ʻōlelo ʻia i loko o ka cache o ka waihona Wire a hoʻopau i ke ʻano kaʻa. ʻO ka hope, heluhelu i ka ʻikepili mai ka cache. ʻO ka exampHoʻomaka ka code me ka papa inoa 0x3B o MPU6050 a heluhelu i 2 bytes o ka ʻikepili:
Wire.beginTransmission(0x68); // Strat i ka hoʻoili ʻana o ka MPU6050 Wire.write (0x3B); // E wehewehe i ka helu inoa Wire.requestFrom(0x68, 2, ʻoiaʻiʻo); // Heluhelu i ka ʻikepili i ka cache Wire.endTransmission(ʻoiaʻiʻo); // Hoʻopili i ke ʻano hoʻoili int val = Wire.read() << 8 | Wire.read(); // He 16-bit integer ʻelua bytes
Hoʻokō kikoʻī
Pono e hoʻomaka ʻia ka waihona Wire ma ka hana hoʻonohonoho: Wire.begin ();
Pono ʻoe e hoʻomaka i ka hāmeʻa ma mua o ka hana ʻana i kekahi hana ma ka MPU6050, a ua lawa ke kākau ʻana i kahi byte i kāna 0x6B. Hana ʻia ia ma ka hana hoʻonohonoho, e like me ka mea i hōʻike ʻia ma ka pauku 1.1.
MPU6050 Hōʻikeʻikepili
ʻO ka ʻikepili a mākou e makemake ai aia ma ka papa inoa 14 byte o 0x3B a i 0x48. E hōʻano hou ʻia kēia mau ʻikepili me kahi alapine hou a hiki i 1000HZ. Aia ka helu wahi o ka papa inoa a me ka inoa o ka ʻikepili ma lalo nei. E hoʻomaopopo he 2 bytes kēlā me kēia ʻikepili.
0x3B, ʻo ka ʻāpana axis X o ka accelerometer ʻo ACC_X 0x3D, ʻo ka ʻāpana axis Y o ka accelerometer ʻo ACC_Y 0x3F, ʻo ka māhele axis Z o ka accelerometer ʻo ACC_Z 0x41, ʻo ka mahana o kēia manawa ʻo TEMP 0x43, ka wikiwiki angular a puni ke axis X0R_X45. , ka wikiwiki angular a puni ke axis Y GYR_Y
18

E hoʻohauʻoli maikaʻi iā ʻoe
0x47, ka wikiwiki angular a puni ka Z axis GYR_Z ʻO ka wehewehe ʻana o ka puʻupuʻu MPU6050: e alo i ka chip iā ia iho a hoʻohuli i ka kikokikona o ka ʻili i ke kihi pololei. I kēia manawa, lawe ʻia ke kikowaena o ka puʻupuʻu ma ke ʻano he kumu, ʻo ka ʻaoʻao ma ka ʻākau ʻo ke koʻi X, a ʻo ke kūpaʻa ʻo ka axis Y, e kuhikuhi ana iā ʻoe iho ʻo ke koʻi Z, e like me ka mea i hōʻike ʻia ma lalo nei.
Kiʻi 13: mpu6050 rotation a me ka angular velocity diagram Mālama wale mākou i ke ʻano o ka accelerometer a me ka angular velocity meter data. I kēia manawa ua kamaʻāina mākou i ka hoʻohana ʻana o mpu6050 ma o ʻelua mau hoʻokolohua. 5.3.2 Hoao 1 Heluhelu Accelerometer
ʻO nā ʻāpana koʻi ʻekolu o ka accelerometer, ACC_X, ACC_Y a me ACC_Z he 16-bit pūlima pūlima, e hōʻike ana i ka wikiwiki o ka hāmeʻa ma ʻekolu mau kuhikuhi axial. Ke lawe ʻia ka waiwai maikaʻi ʻole, ʻino ka wikiwiki ma ke axis coordinate a maikaʻi ka waiwai maikaʻi.
ʻO nā ʻāpana holo wikiwiki ʻekolu i loko o ka nui o ka gravitational acceleration g, a me ka laulā o ka wikiwiki e hiki ke hōʻike ʻia, ʻo ia hoʻi, hiki ke hoʻonohonoho like ʻia ka hoʻonui ʻana, a ʻehā mau hoʻonui koho: 2g, 4g, 8g, a me 16g. Lawe iā ACC_X ma ke ʻano he example, ina ua hoonohoia ka hoonui i 2g (pa'amau), 'o ia ho'i, ke lawe 'o ACC_X i ka waiwai li'ili'i loa -32768, 'o ka holo 'ana o kēia manawa he 2 manawa o ka 'umekaumaha acceleration ma ke ala pololei o ke axis X, a pela aku. ʻIke loa,
19

E hoʻohauʻoli maikaʻi iā ʻoe

ʻo ka haʻahaʻa haʻahaʻa, ʻoi aku ka maikaʻi o ka pololei, a ʻoi aku ka kiʻekiʻe o ka hoʻonui, ʻoi aku ka nui o ka laulā, i hoʻonohonoho ʻia e like me ka noi kikoʻī.

AFS_SEL 0 1 2 3

ʻO ka laulā piha ±2g ±4g ±8g ±16g

LSB Nani 16384LSB/g 8192LSB/g 4096LSB/g 2048LSB/g

ʻO ka pilina ma waena o ka hoʻololi ʻana o ka accelerometer axis ʻekolu a me ka module penei:

Kiʻi 14: ʻO ka hoʻololi ʻana o ka module Mpu6050 a me ke ʻano wikiwiki ʻO ka ʻikepili i heluhelu ʻia e MPU6050 e loli ana, no laila pono e hōʻoia. ʻO ia hoʻi, i ka wā e noho ana ka puʻupuʻu i kahi kūlana paʻa, ʻaʻole pono kēia heluhelu e like me ka ʻole. Akā, loaʻa iā ia kahi offset. No exampe, heluhelu mākou i 200 waiwai ma 10ms manawa a laila awelika lākou. Ua kapa ʻia kēia waiwai ʻaʻohe offset. Loaʻa ka heluhelu calibrated ma ka unuhi ʻana i ka offset zero mai kēlā me kēia heluhelu. No ka mea, ʻaʻole pono ka waiwai kumu o ACC_X a me ACC_Y, hiki ke hoʻohālikelike ʻia nā offset heluhelu ʻelua e ka helu helu. Pono e hana ʻia ʻo ACC_Z i hoʻokahi ʻanuʻu. Ma ke kaʻina hana o ka helu helu, unuhi ʻia ka gravity acceleration g o ke axis Z no kēlā me kēia heluhelu. Inā he 2g ka hoʻonui wikiwiki ʻana, a laila e unuhi ʻia ka 16384, a laila hoʻokō ʻia ka helu helu mean calibration. Hiki ke hana ʻia ka calibration maʻamau i kēlā me kēia manawa e hoʻomaka ai ka ʻōnaehana, a laila pono ʻoe e hana i kahi kālepa ma waena o ka pololei a me ka manawa hoʻomaka.
20

E hoʻohauʻoli maikaʻi iā ʻoe
5.3.2.1 Manaʻo hoʻokolohua
Ma ka hoʻololi ʻana i ka mpu6050 e nānā i ka pilina ʻikepili puka ma waena o nā koʻi ʻekolu o ka accelerometer.
5.3.2.2 Hoʻokolohua Code Code LocationMotionTrackLessonmpu6050_accel mpu6050_accel.ino
21

E hoʻohauʻoli maikaʻi iā ʻoe

#include “Wire.h” // Pono e hoʻokomo ʻia ʻo I2Cdev a me MPU6050 ma ke ʻano he hale waihona puke, a i ʻole ka .cpp/.h. files // no nā papa ʻelua pono ma ke ala komo o kāu papahana #include “I2Cdev.h” #include “MPU6050.h” #define LED_PIN 13 MPU6050 accelgyro; struct RAW_type {
uint8_t x; uint8_t y; uint8_t z; }; int16_t ax, ay, az; int16_t gx, gy, gz; struct RAW_type accel_zero_offsent; char str[512]; bool blinkState = wahahee ; lana AcceRatio = 16384.0; lana accx,accy,accz;

ʻaʻohe hoʻonohonoho () {

int i ;

int32_t ax_zero = 0,ay_zero = 0,az_zero = 0 ;

// hui i ka pahi I2C (ʻaʻole hana maʻalahi ka waihona I2Cdev)

Wire.begin();

Serial.begin(115200);

// hoʻomaka i ka mea hana

Serial.println(“Hoʻomaka i nā mea I2C…”);

accelgyro.initialize();

lohi(500);

accelgyro.setFullScaleAccelRange(MPU6050_ACCEL_FS_2);

Serial.println("E ho'āʻo ana i nā pilina o nā mea hana ...");

Serial.println(accelgyro.testConnection() ? “Hoʻohui MPU6050

2 2

kūleʻa" : "Ua hāʻule ka pilina MPU6050");

E hoʻohauʻoli maikaʻi iā ʻoe
no( i = 0 ; i < 200 ; i++) {
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); ax_zero += koʻi ; ay_zero += ay ; az_zero += az ; } accel_zero_offsent.x = ax_zero/200 ; accel_zero_offsent.y = ay_zero/200 ; accel_zero_offsent.z = az_zero/200 ; Serial.print(accel_zero_offsent.x); Serial.print("t"); Serial.print(accel_zero_offsent.y); Serial.print("t"); Serial.print(accel_zero_offsent.z); Serial.print(“n”); PinMode(LED_PIN, OUTPUT); }
void loop() { // heluhelu i nā ana accel/gyro maka mai ka lohi o ka mea hana (1000); accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); sprintf(str,”%d,%d,%dn”,ax-accel_zero_offsent.x, ayaccel_zero_offsent.y ,az-accel_zero_offsent.z); Serial.print(str); accx = (float)( ax-accel_zero_offsent.x )/AcceRatio; accy = (float)( ay-accel_zero_offsent.y )/AcceRatio ; accz = (float)( az-accel_zero_offsent.z )/AcceRatio ; Serial.print(accx);Serial.print("gt"); Serial.print(accy);Serial.print(“gt”); Serial.print(accz);Serial.print(“gn”);
blinkState = !blinkState; digitalWrite(LED_PIN, blinkState); }
23

E hoʻohauʻoli maikaʻi iā ʻoe
1. E hoʻololi i 90 degere a puni ke koʻi X Ke hoʻohuli ʻia ke koʻi X i 90 degere, piʻi mālie ke koʻi Y a piʻi mālie ke koʻi Z.
iho malie ilalo. Ke hiki pono ke axis i 90 degere, no ka mea aia ke axis Y ma ka aoao ku e i ka umekaumaha, o ka puka ana o ke axis Y he 1g (1g==9.8m/s^2), oiai e emi ana ka waiwai o ke axis Z mai 1 a 0. 2. E hoʻi i ke kūlana mua a hoʻohuli i ka huli ʻana 90 degere
Ke hoʻi ʻoe i ke kūlana mua, e hoʻemi mālie ʻia ka waiwai axis Y i ka 0, ʻoiai ke piʻi mālie nei ke koʻi Z i 1. A laila e hoʻohuli i ka 90 degere ma ka ʻaoʻao ʻaoʻao, a e emi mālie ka axis Y a hiki i -1, no ka mea, ʻo ka Y. axis i kulike me ka umekaumaha kuhikuhi, a me ka acceleration waiwai pono ole. E emi mālie ke koʻi Z i 0. 3. E hoʻi i ke kūlana mua
E wehewehe penei: A laila e hoʻi i ke kūlana mua mai ka huli ʻana 90 degere. I kēia manawa, hoʻihoʻi mālie ʻia ka ʻikepili o ka axis Y a me ka Z-axis i ka waiwai mua, ʻo ka Y-axis he 0, a ʻo ka Z-axis ʻo 1.
Ma hope o ka nānā ʻana i ka hoʻololi ʻana o ka axis X, ua like ke ʻano o ka rotation o ka Y-axis, no laila ʻaʻole mākou e kamaʻilio e pili ana iā ia me nā kikoʻī. I kēia manawa, e kamaʻilio e pili ana i ke koʻi Z, no ka mea, i ka wā e kaʻapuni ai i ke koʻi Z, ua like ia me ke koli ʻana i 90 degere i ka hema a me ka ʻākau. I kēia manawa, ʻo 1 mau ka puka o ka axis Z, a ʻo ka axis X a me ka axis Y he orthogonal i ke axis gravity, no laila ʻo nā mea i hoʻopuka ʻia he 0, ʻoiaʻiʻo, ʻo ia ka waiwai ma lalo o nā kūlana static. . Inā hoʻokomo ʻia ka hāmeʻa ma kahi kaʻa, ʻaʻole pono ke koʻi X a me Y i ka 0 ke huli ke kaʻa i ka hema a me ka ʻākau.
24

E hoʻohauʻoli maikaʻi iā ʻoe
Ka hopena hoʻokolohua

5.3.3 Hoʻokolohua 2 Heluhelu ʻikepili mai Gyro

ʻO nā ʻāpana velocity angular GYR_X, GYR_Y a me GYR_Z, ka mea e hoʻohuli a puni ʻekolu koʻi hoʻonohonoho o X, Y a me Z, he mau helu helu 1-bit. Mai ke kumu a hiki i ke axis o ka hoʻololi ʻana, maikaʻi ka waiwai no ka huli ʻana i ka uaki a me ka maikaʻi ʻole no ka huli ʻana i ka counterclockwise. ʻO nā ʻāpana ʻeleʻele ʻekolu i nā degere / kekona. ʻO ka laulā velocity angular hiki ke hōʻike ʻia, ʻo ia hoʻi, hiki ke hoʻonohonoho like ʻia ka hoʻonui. He 4 mau hoʻonui koho: 250 degere / kekona, 500 degere / kekona, 1000 degere / kekona, 2000. Degere / kekona. Lawe iā GYR_X ma ke ʻano he example, inā hoʻonoho ʻia ka hoʻonui ʻana i 250 degere/kekona, ʻo ia hoʻi, ke lawe ka GYR i ka waiwai kiʻekiʻe maikaʻi o 32768, ʻo ka velocity angular i kēia manawa ʻo 250 degere/kekona ma ka uaki; inā hoʻonoho ʻia i 500 degere / kekona, ʻo ka waiwai o kēia manawa o 32768 e hōʻike ana i kēia manawa ʻo ka velocity angular he 500 degere / kekona i ka manawa. ʻIke loa, ʻoi aku ka haʻahaʻa o ka hoʻonui, ʻoi aku ka maikaʻi o ka pololei, a ʻoi aku ka kiʻekiʻe o ka hoʻonui, ʻoi aku ka nui o ka laulā.

AFS_SEL 0 1 2 3

Ka laulā piha ±250°/s ±500°/s ±1000°/s ±2000°/s

LSB Sensitivity
131LSB/°/s 65.5LSB/°/s 32.8LSB/°/s 16.4LSB/°/s

25

E hoʻohauʻoli maikaʻi iā ʻoe
Kahi papahana "MotionTrackLessonmpu6050_gryo mpu6050_gryo.ino" Code Experiment
#include “Wire.h”
// Pono e hoʻokomo ʻia ʻo I2Cdev a me MPU6050 ma ke ʻano he hale waihona puke, a i ʻole ka .cpp/.h files // no nā papa ʻelua pono ma ke ala komo o kāu papahana #include “I2Cdev.h” #include “MPU6050.h” #define LED_PIN 13
MPU6050 accelgyro;
struct RAW_type {
uint8_t x; uint8_t y; uint8_t z; };
int16_t ax, ay, az; int16_t gx, gy, gz; struct RAW_type accel_zero_offsent ,gyro_zero_offsent;
bool blinkState = wahaheʻe; char str[512];
26

E hoʻohauʻoli maikaʻi iā ʻoe
lana pi = 3.1415926; lana AcceRatio = 16384.0; lana GyroRatio = 131.0; float Rad = 57.3; //180.0/pi; lana gyrox, gyroy, gyroz;
void setup() { int i ; int32_t ax_zero = 0,ay_zero = 0,az_zero = 0,gx_zero =0 ,gy_zero =
0,gz_zero = 0 ; // hui I2C bus (I2Cdev hale waihona puke ʻaʻole hana maʻalahi kēia) Wire.begin ();
Serial.begin(115200);
// hoʻomaka i ka polokalamu // Serial.println ("Hoʻomaka i nā mea I2C ...");
accelgyro.initialize(); lohi(500); accelgyro.setFullScaleGyroRange(MPU6050_GYRO_FS_250);
Serial.println("E ho'āʻo ana i nā pilina o nā mea hana ..."); Serial.println(accelgyro.testConnection() ? “Ua holomua ka pilina MPU6050” : “Holo ka pilina MPU6050”); no( i = 0 ; i < 200 ; i++) {
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); gx_zero += gx ; gy_zero += gy ; gz_zero += gz ; } gyro_zero_offsent.x = gx_zero/200 ; gyro_zero_offsent.y = gy_zero/200 ;
27

E hoʻohauʻoli maikaʻi iā ʻoe
gyro_zero_offsent.z = gz_zero/200; PinMode(LED_PIN, OUTPUT); }
void loop() { // heluhelu i nā ana accel/gyro maka mai ka mea hana accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
//sprintf(str,”%d,%d,%dn”, gx-gyro_zero_offsent.x ,gygyro_zero_offsent.y, gz-gyro_zero_offsent.z);
//Serial.print(str); gyrox = (float)(gx-gyro_zero_offsent.x)/AcceRatio; gyroy = (float)(gy-gyro_zero_offsent.y)/AcceRatio ; gyroz = (float)(gz-gyro_zero_offsent.z)/AcceRatio ; Serial.print(gyrox);Serial.print(“gt”); Serial.print(gyroy);Serial.print(“gt”); Serial.print(gyroz);Serial.print(“gn”);
lohi(100); // blink LED e hōʻike i ka hana blinkState = !blinkState; digitalWrite(LED_PIN, blinkState); }
Ke hoʻololi mākou i ka ʻaoʻao maikaʻi o ka x-axis, ʻike mākou he maikaʻi ka ʻikepili gyrox i paʻi ʻia, inā ʻaʻole ia he ʻino.
28

E hoʻohauʻoli maikaʻi iā ʻoe
5.4 Ka Ikepili Noi
Ma hope o ka hoʻololi ʻana i ka ʻikepili heluhelu o ka accelerometer a me ka angular speed meter a me lākou i nā waiwai kino, ua unuhi ʻokoʻa ka ʻikepili e like me nā noi like ʻole. Ma kēia mokuna, lawe ʻia ke ʻano hoʻohālike o ka mokulele ma ke ʻano he example e helu i ke ano lele o keia manawa ma muli o ka wikiwiki a me ka velocity angular.
5.4.1 Ke Ana Hoʻohālike
Hiki iā mākou ke noʻonoʻo i ka accelerometer ma ke ʻano he pōpō i loko o kahi pahu pahu kūpona maikaʻi i paʻa i waenakonu o ka pahu e kahi puna. Ke neʻe nei ka pahu, hiki ke helu ʻia ka waiwai o ka wikiwiki o kēia manawa mai ke kūlana o ka pōlele noʻonoʻo e like me ka hōʻike ʻana ma lalo nei.
29

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 15: ʻO ka waiwai o ka hoʻemi ʻana i ke kaumaha
Inā mākou e kau i ka ikaika hema ma luna o ka pahu, a laila maopopo ka pahu i ka wikiwiki hema, a laila e pili ka pōpō noʻonoʻo i loko o ka pahu ma ka ʻaoʻao ʻākau o ka pahu ma muli o ka inertia. E like me ka mea i hōʻike ʻia ma kēia kiʻi:
Kiʻi 16: ʻO ka wikiwiki o kahi mea e neʻe ana i ka ʻākau
I mea e hōʻoiaʻiʻo ai i ke ʻano kino o ka ʻikepili, hōʻailona ka MPU6050 accelerometer i nā waiwai kūʻē i nā koʻi ʻekolu o ka pōleʻa noʻonoʻo e like me ka wikiwiki maoli. Ke hookiekieia ke kulana poepoe no'ono'o i mua o ke ko'i, he 'ino'ole ka 'wikiwiki o ke ko'i, a ke ho'olele 'ia ke kūlana poepoe no'ono'o i ke axis maika'i'ole, 'o ka wikiwiki o ke axis.
30

E hoʻohauʻoli maikaʻi iā ʻoe
maikaʻi ka heluhelu ʻana. Wahi a ka loiloi i luna, ke kau mākou i ka chip MPU6050 ma ka pae kūloko, aia ka ʻili o ka chip i ka lewa, i kēia manawa ma muli o ka umekaumaha, aia ke kūlana o ka pōleʻa i ka ʻaoʻao maikaʻi ʻole o Z axis, no laila ka Z. ʻO ka heluhelu ʻana i ka wikiwiki o ka axis he maikaʻi, a ʻo "g". E hoʻomanaʻo, ʻaʻole kēia ka wikiwiki o ka umekaumaha akā ʻo ka wikiwiki o ka neʻe kino, hiki ke hoʻomaopopo ʻia: ua like ka wikiwiki o ka umekaumaha me kāna waiwai hoʻokele ponoʻī, akā ma ka ʻaoʻao ʻē aʻe, ʻo ia ke kumu e noho paʻa ai ka chip.
5.4.2 Ke kumu hoʻohālike Roll-pitch-yaw a me ka helu ʻano
ʻO kahi kumu hoʻohālike maʻamau no ka hōʻike ʻana i ke ʻano lele o kēia manawa o kahi mokulele e hoʻokumu i ka ʻōnaehana hoʻonohonoho e like me ka mea i hōʻike ʻia ma lalo nei a e hōʻike ana i ka hoʻololi ʻana o ke axis X e "Roll", ka hoʻololi ʻana o ke axis Y e "Pitch", ka hoʻololi ʻana o ka Z. axis e "Yaw".
Kiʻi 17: Ke kumu hoʻohālike Roll-pitch-yaw
No ka mea hiki i ka MPU6050 ke kiʻi i ka piʻi ʻana o nā koʻi ʻekolu a kū mau ka gravity i lalo, hiki iā mākou ke helu i ke ʻano o kēia manawa e like me ka wikiwiki o ka gravity.
31

E hoʻohauʻoli maikaʻi iā ʻoe
pili i ka chip. No ka ʻoluʻolu, loaʻa iā mākou ka chip e kū pono ana i lalo i ka mokulele i hōʻike ʻia ma luna, a ʻo nā mea hoʻonohonoho i kūpono loa me ka ʻōnaehana coordinate o ka mokulele. ʻO ka wikiwiki i loko o nā koʻi ʻekolu e hana i kahi vector hoʻolalelale "a (x, y, z)". Ke manaʻo nei ʻo ka chip ma ke ʻano o ka neʻe laina like ʻole, a laila pono ke "a" e kū pololei i ka honua, ʻo ia hoʻi, ka ʻaoʻao ʻino o ke koʻi Z, a ʻo ka lōʻihi |a|=g=sqrt{x^2+ y^2+z^2} (e like me ka wikiwiki o ka umekaumaha akā ʻo ka ʻaoʻao kūʻē, e ʻike ana ma ka Pauku 3.1). Inā kahuli ka puʻupuʻu (pūnaewele hoʻonohonoho), ʻaʻole e hui hou ka ʻaoʻao ʻino o ke koʻi Z me ka "a" no ka mea e piʻi mau ana ka vector acceleration a i luna. Ke ʻike nei i lalo.

Kiʻi 18: Ke kŘkohu helu huina kanaka
No ka maʻalahi, ʻo ka ʻaoʻao maikaʻi o Z axis o ka ʻōnaehana hoʻonohonoho ma luna (ka ʻōpū a me ke alo o ka chip) i lalo, a ʻo ke koʻi X ma ka ʻākau (ke kuhikuhi o ka mokulele lele). I kēia manawa, hoʻokumu ʻia ka huina Roll "" (melemele) o ka puʻupuʻu e ka vector wikiwiki a me kāna kuhi (x, 0, z) ma ka mokulele XZ, ʻo ka Pitch angle "" ('ōmaʻomaʻo) i hoʻokumu ʻia e ka vector acceleration. a me kāna kuhi ʻana ma ka mokulele YZ. ʻO ke kiko

Hiki ke helu i ka huina hoonui ma waena o nā vectors ʻelua: unuhi maʻalahi:

. Ma hope

a

.

32

E hoʻohauʻoli maikaʻi iā ʻoe
E hoʻomaopopo i ka hiki i ka hana arccos ke hoʻihoʻi i nā waiwai maikaʻi, pono ʻoe e lawe i nā waiwai maikaʻi a maikaʻi ʻole o ka huina e like me nā kūlana like ʻole. Inā maika'i ka axis y, loa'a i ka huina Roll ke kumu waiwai 'ino'ole, a inā 'ino'ole ke axis X, 'ino'ole ka huina Pitch.
5.4.3 Pilikia Angle Yaw
No ka mea, ʻaʻohe kuhikuhi, ʻaʻole hiki ke helu ʻia ka huina o kēia manawa o ka Yaw, hiki iā mākou ke loaʻa ka hoʻololi ʻana o Yaw, ʻo ia hoʻi, ka wikiwiki angular GYR_Z. ʻOiaʻiʻo, hiki iā mākou ke hoʻohana i ke ʻano o GYR_Z integral no ka helu ʻana i ke kihi Yaw o kēia manawa (e like me ka waiwai mua), ma muli o ka pololei o ke ana ʻana, ke neʻe nei ka waiwai i helu ʻia, ʻaʻohe manaʻo ma hope o kahi manawa. Eia naʻe, i ka hapa nui o nā noi, e like me nā UAV, ʻo GRY_Z wale nō ke koi ʻia.
Inā pono ʻoe e kiʻi i ka huina piha o Yaw, a laila koho i ka MPU9250, he 9-axis motion tracking chip, hiki iā ia ke hāʻawi i ka 3-axis compass i nā ʻikepili hou, no laila hiki iā mākou ke helu i ka huina Yaw e like me ke kuhikuhi ʻana o ke kahua magnetic o ka honua, ʻAʻole i ʻōlelo ʻia ke ʻano kikoʻī ma aneʻi.
5.5 Hoʻoponopono ʻikepili a me ka hoʻokō
Hāʻawi ʻo MPU6050 chip i ka ʻikepili me kahi walaʻau koʻikoʻi, i ka wā e hana ai ka chip i kahi kūlana paʻa, hiki ke lele ka ʻikepili ma mua o 2%. Ma waho aʻe o ka walaʻau, aia nō kekahi mau offsets, ʻo ia hoʻi, ʻaʻole e koli ka ʻikepili a puni ka wahi hana static, no laila e calibrated mua ka offset data, a laila e hoʻopau i ka walaʻau ma ke kānana algorithm. ʻO ka hopena o ka kānana Kalman he mea kānalua loa ia no ka ʻikepili me ka nui o ka walaʻau. Maanei ʻaʻole mākou e noʻonoʻo i nā kikoʻī algorithmic, hiki iā ʻoe ke kuhikuhi http://www.starlino.com/imu_guide.html.
5.5.1 Hoʻokolohua 3 imu_kalman loaʻa iā Roll a Pitch ʻO ka pahuhopu e hōʻike i ke kūlana neʻe 3D o ka mpu6050 i ka manawa maoli ma o ka heluhelu ʻana i ka mpu6050, a me ka hoʻouna ʻana i ka wikiwiki manawa maoli ACCEL_X, ACCEL_Y, ACCEL_Z ʻikepili a me gyro data GYRO_YX, , a me GYRO_Z i ka papahana hana.
5.5.2 Code Experiment Code Arduino hoʻokolohua code "MotionTrackLessonmpu6050mpu6050.ino" hiki ke loaʻa i ka roll a pitch Running result penei:
33

E hoʻohauʻoli maikaʻi iā ʻoe
Ma hope o ka hoʻouka ʻana i ka papahana i ka papa mana mana nui ʻo Arduino NANO, wehe i ka papahana Processing "MotionTrackProcessing_demompu6050mpu6050.pde"
me ka lako polokalamu Processing (download address https://www.processing.org). E hoʻomaopopo ʻo ka helu ma "[]" ʻaʻole ia ka helu awa o Arduino NANO, akā ʻo ka helu serial o ke awa kamaʻilio. Pono ʻoe e wehe i ka luna mana o ke kamepiula i view ka helu serial. No exampʻO kaʻu hōʻike ʻo COM1, a me ka port serial i hoʻohana ʻia no kā mākou hana. Hoʻomaka ia me ka subscript 0. No laila ua hoʻololi au i ka waiwai ma "[ ]" i ka papahana nui Processing i 0. Ke pau nā loli, kaomi i ka Run Sketch e holo i ka Processing..
34

E hoʻohauʻoli maikaʻi iā ʻoe
35

E hoʻohauʻoli maikaʻi iā ʻoe
lawe mai i ka hana.serial.*;
Serial myPort; // numble port serila
lana [] RwEst = lana hou[3]; byte[] inBuffer = paita hou[100];
Pfont font; hope int VIEW_SIZE_X = 1080,VIEW_SIZE_Y = 720;
ʻaʻohe hoʻonohonoho () {
nui(1080, 720, P3D); myPort = Serial hou(kēia, Serial.list()[0], 9600); // myPort = Serial hou (kēia, "/dev/ttyUSB0", 9600); // hoʻouka Font CourierNew type /date font = loadFont(“CourierNewPSMT-32.vlw”); }
void readSensors() {inā (myPort.available() > 0) {inā (myPort.readBytesUntil('n', inBuffer) > 0) { String inputString = new String(inBuffer); String [] inputStringArr = split(inputString,','); RwEst[0] = lana(inputStringArr[0]); RwEst[1] = lana(inputStringArr[1]); RwEst[2] = lana (inputStringArr[2]); } }
}
36

E hoʻohauʻoli maikaʻi iā ʻoe
void buildBoxShape() {//box(60, 10, 40); noStroke(); beginShape(QUADS);
//Z+ hoʻopiha(#00ff00); piko(-30, -5, 20); piko(30, -5, 20); piko(30, 5, 20); piko(-30, 5, 20);
//Zfill(#0000ff); piko(-30, -5, -20); piko(30, -5, -20); piko(30, 5, -20); piko(-30, 5, -20);
//Xfill(#ff0000); piko(-30, -5, -20); piko(-30, -5, 20); piko(-30, 5, 20); piko(-30, 5, -20);
//X+ hoʻopiha(#ffff00); piko(30, -5, -20); piko(30, -5, 20); piko(30, 5, 20); piko(30, 5, -20);
//Yfill(#ff00ff); piko(-30, -5, -20); piko(30, -5, -20); piko(30, -5, 20); piko(-30, -5, 20);
37

E hoʻohauʻoli maikaʻi iā ʻoe
//Y+ hoʻopiha(#00ffff); piko(-30, 5, -20); piko(30, 5, -20); piko(30, 5, 20); vertex(-30, 5, 20);
endShape(); }
ʻaʻohe drawCube () { pushMatrix (); // normalize3DVec(RwEst); unuhi(300, 450, 0); pālākiō(4, 4, 4); rotateX(HALF_PI * -RwEst[1]); //rotateY(HALF_PI * -0.5); rotateZ(HALF_PI * -RwEst[0]); buildBoxShape(); popMatrix();
}
void draw() { // getInclination(); readSensors(); hope(#214565); hoʻopiha(#ffffff); textFont(momona, 20); kikokikona(“RwEst :n” + RwEst[0] + “n” + RwEst[1] + “n” + RwEst[2], 220, 180); // hōʻike i nā koʻi pushMatrix (); unuhi(450, 250, 0); hahau(#ffffff); // scale(100, 100, 100); laina(0, 0, 0, 100, 0, 0); laina(0, 0, 0, 0, -100, 0); laina(0, 0, 0, 0, 0, 100); laina(0, 0, 0, -RwEst[0], RwEst[1], RwEst[2]); popMatrix(); drawCube();
} 38

E hoʻohauʻoli maikaʻi iā ʻoe
Hiki iā mākou ke ʻike i ka hopena o kā mākou holo ʻana penei:
Kiʻi 19: Ke hana nei i nā hōʻike hōʻike

Ke kumu o ka hoʻomalu ʻana i nā neʻe

Ma o ka loaʻa ʻana o ka ʻikepili mua o mpu6050 e kiʻi i ka Roll angle a me Pitch, hoʻokumu mākou i nā leka aʻe. E kāohi i ka mea hoʻoneʻe mīkini haʻahaʻa: Hiki iā mākou ke hoʻomalu i kekahi mea mīkini haʻahaʻa ma o ka loaʻa ʻana o ka wikiwiki a me ke kuhikuhi ma o mpu6050.
Ma ka heluhelu ʻana i ka ʻikepili mpu6050 i hōʻoia ʻia i ka wikiwiki ACCEL_X, ACCEL_Y, ACCEL_Z a me ka ʻikepili gyroscope GYRO_X, GYRO_Y, GYRO_Z i ka hana hoʻoponopono quaternion, hōʻike ka papahana i nā mokuʻāina ʻo Roller a me Pitch o ka mpu6050 i ka manawa maoli.
6.1 Ke kumu hoʻohālike koʻikoʻi koʻikoʻi o ka heihei
I mea e maʻalahi ai ka hoʻomalu ʻana o ke kaʻa, ua hoʻokumu mākou i kēia ʻano hoʻohālike o ke kuhikuhi o ke kaʻa me ke kihi coordinate.
39

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 20: Hoʻohui ʻia nā kihi kuhikuhi heihei E like me ka mea i hōʻike ʻia ma luna nei, wehewehe mākou i ke alo o ke kaʻa he 90 degere, 270 degere i ka hope, 180 degere ma ka ʻākau, a me 0/360 degere ma ka hema. 0~90 kū no ka ʻaoʻao mua ʻākau. 90~180 kū no ka hema mua 180~270 no ka hema hope a me 270~360 no ka akau hope. Pēlā nō, hoʻokomo mākou i ka mpu6050 ma nā mīkina lima haʻuki. Ua kūkulu mākou i kēia ʻano hoʻohālike.
40

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 21: Hoʻonohonoho kuhikuhi o nā mīkina lima haʻuki Ma o ka 5.5.2 Roll-pitch-yaw data model, kaʻapuni nā mīkina lima haʻuki a puni ke kiʻi Y (huli i ke kua o ka lima hema a ʻākau) a loaʻa iā mākou ke kihi Pitch. Ke hoʻololi nei a puni X (hoʻohuli i hope a i waho) loaʻa iā mākou ke kihi Roll. I kēia manawa ua ʻike mākou i nā hoʻonohonoho o ke kihi ʻano a me nā koina angular o ke kaʻa, e wehewehe mākou iā ia i ke ʻano. Ke hili ʻia nā mīkina lima haʻuki i ka ʻaoʻao mua ʻākau, e like me ka mea i hōʻike ʻia ma ke kiʻi ma lalo nei, inā lākou i loko o ka ʻōnaehana coordinate, ua hili lākou i ka ʻāpana 0 a 90 degere.
41

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 22: Kiʻikuhi kiʻi o nā mīkina lima haʻuki e hili ana i ka ʻaoʻao mua ʻākau.
42

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 23: Kiʻi kiʻi kiʻi o ka neʻe mua ʻana o ke kaʻa Ma o ke ʻano o nā mīkina lima haʻuki, pono mākou e helu i ka degere kihi o ka neʻe ʻana o ka mīkini haʻahaʻa. No laila, ua kūkulu mākou i kēia ʻano hoʻohālike ʻekolu
Kiʻi 24: Ke kiʻi hoʻohālike stereo e pili ana i nā mīkina lima haʻuki No ka maʻalahi o ka hōʻike ʻana, ʻo ka ʻaoʻao kūpono Z-axis o ka ʻōnaehana hoʻonohonoho luna (ke alo o ka mīkina lima hoʻoneʻe) i luna, a ʻo ka ʻaoʻao X-axis maikaʻi (ka ʻaoʻao ʻākau o ka mīkina lima haʻuki) aia ma ka ʻākau. I ka moku'āina mua, e mau ana nā mīkina lima haʻuki i ka lever like me XY. I kēia manawa, ua hōʻike ʻia ka ʻaoʻao o nā mīkina lima haʻuki e OB, a ʻo ka huina Roll (ʻeleʻele) ka huina ma waena o ka vector holo wikiwiki OB a me kāna kuhi (x, 0, z) ma ka mokulele XZ, a me ka ʻO ka huina pila (ʻulaʻula) kona kuhi ʻana ma ka mokulele YZ ( ʻO ka huina ma waena o 0, y, a me z). ʻO ke kala polū ka degere kahi e hana ai nā mīkina lima haʻuki i ke kuhi (x, o, y) ma ka mokulele XY. Hoʻohana mākou i kēia kihi e hoʻomalu i ke kihi hoʻokele o ke kaʻa haʻahaʻa. Ua loaʻa iā mākou ka Roll a me Pitch ma o ka hoʻokolohua 5.6.1 mua. I kēia manawa, helu mākou i ke degere ma ke ʻano hoʻohālike. Ma ke Kiʻi BA OA AB OB sin(Pitch) BD OD BD OBsin(Roll)
43

E hoʻohauʻoli maikaʻi iā ʻoe
tandegree FE BD hewa(Roll) Roll
OE AB sin(Pitch) Pitch deg ree arctan( Roll )
Pitch Ma luna ua loaʻa iā mākou ke kihi cosine hoʻokele, pono mākou e hoʻonui i ka coefficient i ka degere coordinate. 180 57.3 He kānana kihi wale nō ka nānā ʻana ma luna inā hili ʻia e like me ka ʻaoʻao ʻākau i luna. Pēlā nō, ke hili ʻia nā mīkina lima haʻuki i ka ʻaoʻao hema
Kiʻi 25: Kiʻikuhi kiʻi o nā mīkina lima haʻuki e hili ana i ka ʻaoʻao hema mua deg ree arctan( Pitch)*57.3 900
E kaʻa like, i ka wā e hili ʻia nā mīkina lima haʻuki i ka hema
44

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 26: Hōʻike kiʻi o ka ʻaoʻao hema hope o nā mīkina lima haʻuki deg ree arctan( Roll )*57.3 1800
Pitch Like, ke hili ʻia nā mīkina lima haʻuki i ka ʻaoʻao ʻākau
Kiʻi 27: Hōʻike kiʻi o ka ʻaoʻao hope ʻākau o nā mīkina lima haʻuki
45

E hoʻohauʻoli maikaʻi iā ʻoe
deg ree arctan( Pitch)*57.3 2700 Roll
I kēia manawa, e kamaʻilio kākou e pili ana i ka mālama ʻana i ka māmā holo o ke kaʻa. Mai ka kiʻi ma luna aʻe hiki iā mākou ke ʻike no nā mīkina lima haʻuki i ka mpu6050 a me ka mokulele XY plane tilt angle, hoʻohana mākou i kēia mokulele e hōʻike.

B'OB ka huina o ka inclination e pili ana i ka moku'āina mua me ka hoʻohana ʻana i kēia degere o ke kāʻei e hoʻomalu i ka wikiwiki o

ke kaʻa.

B'OB=OBF arcsin( OF ) arcsin( OE2 EF 2 )

OB

OB

EF=BD OE=AB

OBF arcsin( sin2 (Roll) sin2 (Pitch)) arcsin( Roll2 Pitch2 )

ʻO ka ʻaoʻao ma luna ka ʻoki arc. Pono mākou e hoʻonui i ka coefficient. ʻO ka laulā o kēia kihi ʻo (0~90). Hoʻohana pololei mākou i kēia kihi e like me ka wikiwiki o ke kaʻa.

46

E hoʻohauʻoli maikaʻi iā ʻoe

lana CalculateSpeed(float roll, float pitch) {
lana inclination = asin(sqrt(roll*roll +pitch*pitch))*Rad; hoʻihoʻi inclination; }

Void

{

helu static int = 0;

static int SendSpeed ​​= 0, SendDegree = 0;

helu++;

māmā = CalculateSpeed(roll, pitch);

inā ((-0.2 <= pitch) && (pitch <= 0.2) && (-0.2 <= roll) && (roll <= 0.2)) {

degere = 90;

SendSpeed ​​= 0;

SendDegree += 90;

} 'ē aʻe inā (pitch < 0 && roll < 0) {

degere = atan(roll/pitch)*Rad;

SendDegree += ((unsigned int)(degree/10))*10;

} 'ē a'e inā (pitch > 0 && roll < 0) {

degere = atan(-pitch/roll)*Rad + 90;

SendDegree += ((unsigned int)(degree/10))*10;

} a'e inā (pitch > 0 && roll > 0) {

degere = atan(roll/pitch)*Rad + 180;

} a'e inā (pitch < 0 && roll > 0) {

degere = atan(-pitch/roll)*Rad + 270;

SendDegree += ((unsigned int)(degree/10))*10;

} ʻē aʻe {

degere = 90;

SendSpeed ​​= 0;

SendDegree = 90;

}

SendDegree = (int)(wikiwiki/10)*10;

inā (degere <30 || degere > 330) {

SendDegree = 0;

}

inā (helu >= 3) {

helu = 0;

Send_Direction(SendDegree/3);

Hoʻouna_Speed(SendSpeed);

SendDegree = 0;

SendSpeed ​​= 0;

4 7

}

E hoʻohauʻoli maikaʻi iā ʻoe

Kūkākūkā

E hoʻohana i ka Bluetooth e hoʻomalu i ke kaʻa, ʻoiaʻiʻo ke hoʻohana nei i ka polokalamu Android e hoʻouna i nā ʻōlelo aʻoaʻo i ka Arduino

port serial ma o Bluetooth e hoʻomalu i ke kaʻa. No ka mea e pili ana i ke kamaʻilio uea ʻole, kekahi o nā mea nui

ʻO nā pilikia ke kamaʻilio ma waena o nā mea ʻelua. Akā ʻaʻohe "ʻōlelo" maʻamau ma waena o lākou,

no laila pono e hoʻolālā i nā protocol kamaʻilio e hōʻoia i ka pilina kūpono ma waena o Android a me

Arduino. ʻO ke kaʻina hana nui: ʻike ka Android i ke kauoha hoʻomalu a hoʻopili iā ia i loko o ka

packet pili, a laila hoʻouna ʻia i ka module Bluetooth (JDY-16), loaʻa iā JDY-16 ka ʻikepili a hoʻouna i

ʻO Arduino, a laila ʻike ʻo Arduino i ka ʻikepili a laila hana i ka hana pili. ʻO ke ʻano o ka lā i hoʻopaʻa ʻia

Hoʻouna ʻia ka Android e like me lalo, he 8 mau kahua.

Kūkākūkā ʻIkepili Length ʻAno Mea Hana Hana Mana Mana Nānā Kūlana

Poʻomanaʻo

Ka helu helu helu helu helu helu hope

Ma nā kahua 8 ma luna, hoʻohana mākou i kahi kino hana e hōʻike ai.

typedef struct {
char start_code i kau ʻole ʻia; unsigned char len; ʻano char unsigned; unsigned char addr; unsigned short int hana; unsigned char *data; huina int pokole i kakauinoa ole ia; char end_code; }ST_protocol;

// 8bit 0xAA
// 16 bit // n bit // helu helu // 8 bit 0x55

ʻO ka "Protocol Header" ke ʻano o ka hoʻomaka ʻana o ka ʻeke, e like me ka hoʻohālikelike ʻana o 0xAA. "Loaʻa ʻikepili" koe wale ka lōʻihi o ka ʻikepili kūpono o nā code hoʻomaka a me ka hopena o ka ʻikepili. ʻO ke ʻano o ka hāmeʻa ʻo ia hoʻi ke ʻano o nā mea hana "Device address" ʻo ia ka helu wahi i hoʻonohonoho ʻia no ka hoʻokele "Function code" ʻo ia ke ʻano o nā hana pono e hoʻomalu ʻia, nā ʻano hana a mākou e kākoʻo nei e like me kēia.

48

E hoʻohauʻoli maikaʻi iā ʻoe
typedef enum {
E_BATTERY = 1, E_LED = 2, E_BUZZER = 3, E_INFO = 4, E_ROBOT_CONTROL = 5, E_ROBOT_CONTROL_SPEED = 6, E_TEMPERATURE = 7, E_IR_TRACKING = 8, E_ULTRASONIC = 9_DE10, HANA ;
"ʻIkepili" 'o ia hoʻi ka waiwai hoʻomalu kiko'ī o kahi kaʻa, e like me ka wikiwiki, ke kihi. ʻO "Checksum" ka hopena o nā ʻāpana ʻikepili ʻokoʻa a i ʻole i helu ʻia o ke aʻo mana. ʻO "Protocol end code" ka ʻāpana hope o ka ʻeke ʻikepili i ka wā e loaʻa ai kēia ʻikepili, ʻo ia hoʻi ua hoʻouna ʻia ka pūʻulu ʻikepili, a ua mākaukau no ka loaʻa ʻana o ka pūʻulu ʻikepili aʻe, ma aneʻi mākou i kuhikuhi ʻia ʻo 0x55. No exampʻAe, hiki ke ʻike ʻia kahi ʻeke piha e like me "AA 070101065000 5F55", kahi: "07" ʻo ia ka lōʻihi o ka ʻikepili Transmission 7 bytes. ʻO "06" ka "ʻano mea hana", e like me ka moto, LED, buzzer a pēlā aku. ʻO ka 06 maʻaneʻi e pili ana i ka wikiwiki o ka hoʻounaʻana, aʻo ka 05 e pili ana i ka kuhikuhi kuhikuhi. ʻO "50 (a i ʻole 0050)" ka ʻikepili hoʻomalu, ʻo 0x50 i ka hexadecimal he 80 ke hoʻololi ʻia i ka binary, ʻo ia hoʻi ka waiwai wikiwiki ʻo 80. Inā ʻo 05 ka ʻikepili, ʻo ia ke ʻano o ke kuhikuhi hoʻomalu, ʻo ia ka 80 degere (i mua). “005F” he helu helu helu ʻia ʻo 0x07+0x01+0x01+0x06+0x50=0x5F. ʻO "55" ka helu hope o ka Protocol, e hōʻike ana i ka hopena o ka hoʻoili ʻikepili.
49

E hoʻohauʻoli maikaʻi iā ʻoe

Hoʻokolohua piha

8.1 Nrf24L01 kaohi uila
8.1.1 Ka hoʻomalu ʻana i ke kaʻa akamai Hummer-bot Hoʻohui e like me ka laina hoʻohui o ka mokuna mua, a laila hoʻohui i ka pā maloʻo 9v i ka
Arduino NANO, a hoʻoiho i ka papahana. Ma hope o ka mana, hoʻouna ka module Nrf24L01 i ka ʻikepili i ka Hummer-Bot Nrf24L01, a laila hoʻoponopono i ke kūlana o ka mīkina lima e hoʻomalu i ke kaʻa multi-function Hummer-Bot, no laila ua hānau ʻia ke kaʻa i mālama ʻia e nā mīkina lima haʻuki!
50

E hoʻohauʻoli maikaʻi iā ʻoe
Kiʻi 28: ʻO ka loulou papahana hummer-bot kaohi o ka lolouila haʻahaʻa: https://github.com/keywish/keywish-hummer-bot-Hummer-Bot-Multi-function loulou kūʻai kaʻaBuy ma Amazon
https://www.amazon.com/dp/B078WM15DK E hoʻomalu i ka wikiō hōʻike manaʻo ʻo Gesture-MotionTrackingvideoControl_Hunner-bot.mp4 8.1.2 ʻO ke kaʻa akamai ʻo Beetle-bot.
Kiʻi 29: Manaʻo Manaʻo Beetle-bot ʻIke ma Beetle-bot https://github.com/keywish/keywish-beetle-bot
51

E hoʻohauʻoli maikaʻi iā ʻoe
8.2 Mana o ke ano kama'ilio Bluetooth
Hoʻohui e like me ke kelepona Bluetooth, a laila e hoʻopili i ka pākaukau maloʻo 9v i ka Arduino NANO a hoʻoiho i ka polokalamu (MotionTrackLessonMotionTrack_Bluetooth MotionTrack_Bluetooth.ino). E nānā pono ʻoe e hoʻololi i ka helu MAC o ka Bluetooth o ka kamepiula haʻahaʻa. Ma hope o ka hoʻohana ʻana, hoʻopili ʻia nā mīkina lima haʻuki i ka module Bluetooth o ke kaʻa.
52

E hoʻohauʻoli maikaʻi iā ʻoe
8.2.1 Kāohi ʻana i ke ʻano ʻo Aurora-Racing
Kiʻi 30: Manaʻo ʻIke Huahana Aurora-Racing: https://github.com/keywish/Aurora-Racing Hoʻokumu wikiō: giteeMotionTrackvideo Control_RacingCar.mp4
53

E hoʻohauʻoli maikaʻi iā ʻoe
8.2.2 Ka hoomalu ana i ka Panther-tank
Kiʻi 31: Kāohi Mana Pather-tank No nā mea hana hana Panther-tank, e ʻoluʻolu e nānā i https://github.com/keywish/keywish-panther-tank
54

E hoʻohauʻoli maikaʻi iā ʻoe
8.2.3 Kaʻa kaulike hoʻomalu ʻana
Kiʻi 32: Kaʻa kaulike liʻiliʻi no ka ʻike huahana Balance, e ʻoluʻolu e nānā https://github.com/keywish/mini-balance-car
55

Palapala / Punawai

Makefun MPU6050 Arduino Hoʻoholo Hoʻoholo [pdf] Palapala Aʻo
MPU6050 Module, JDY-16 Bluetooth Module, NRF24L01 Module, MPU6050 Arduino Gesture Motion Tracking, MPU6050, Arduino Gesture Motion Tracking, Gesture Motion Tracking, Motion Tracking, Tracking

Nā kuhikuhi

Waiho i kahi manaʻo

ʻAʻole e paʻi ʻia kāu leka uila. Hōʻailona ʻia nā kahua i makemake ʻia *