Makefun MPU6050 Arduino Hoʻoholo Hoʻoholo
![]()
ʻ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
![]()
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
![]()
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 |

