Përmbajtje:
- Hapi 1: Kërkohet harduer:
- Hapi 2: Bashkimi i harduerit:
- Hapi 3: Kodi për Ndjekjen e Lëvizjes:
- Hapi 4: Aplikimet:
Video: Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Foton Particle: 4 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Bosht dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të përdoret në sistemet që kërkojnë analiza të pozicionit me saktësinë më të lartë.
Në këtë tutorial është ilustruar ndërfaqja e modulit të sensorit MPU-6000 me fotonin e grimcave. Për të lexuar vlerat e nxitimit dhe këndit të rrotullimit, ne kemi përdorur grimcë me një përshtatës I2c. Ky përshtatës I2C e bën lidhjen me modulin e sensorit të lehtë dhe më të besueshëm.
Hapi 1: Kërkohet harduer:
Materialet e kërkuara për të kryer detyrën tonë përfshijnë përbërësit e mëposhtëm të harduerit:
1. MPU-6000
2. Fotoni i grimcave
3. Kabllo I2C
4. Mburoja I2C për fotonin e grimcave
Hapi 2: Bashkimi i harduerit:
Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe fotonit të grimcave. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:
MPU-6000 do të punojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.
Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik. Gjithçka që ju nevojitet janë katër tela!
Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.
Këto lidhje demonstrohen në fotot e mësipërme.
Hapi 3: Kodi për Ndjekjen e Lëvizjes:
Le të fillojmë me kodin e grimcave tani.
Ndërsa përdorim modulin e sensorit me arduino, ne përfshijmë bibliotekën application.h dhe spark_wiring_i2c.h. Biblioteka "application.h" dhe spark_wiring_i2c.h përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe grimcës.
I gjithë kodi i grimcave është dhënë më poshtë për lehtësinë e përdoruesit:
#përfshijnë #përfshijnë // MPU-6000 Adresa I2C është 0x68 (104) #përcakto Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; void setup () {// Cakto ndryshoren Particle.variable ("i2cdevice", "MPU-6000"); Grimca. E ndryshueshme ("xAccl", xAccl); Particle.variable ("yAccl", yAccl); Particle.variable ("zAccl", zAccl); Grimca. E ndryshueshme ("xGyro", xGyro); Grimca. E ndryshueshme ("yGyro", yGyro); Grimca. E ndryshueshme ("zGyro", zGyro); // Filloni komunikimin I2C si Master Wire.filloni (); // Filloni komunikimin serik, vendosni normën e baud = 9600 Serial.filloni (9600); // Filloni transmetimin I2C Wire.beginTransmission (Addr); // Zgjidh regjistrin e konfigurimit të xhiroskopit Wire.write (0x1B); // Gama e shkallës së plotë = 2000 dps Wire.write (0x18); // Ndaloni transmetimin I2C Wire.endTransmission (); // Filloni transmetimin I2C Wire.beginTransmission (Addr); // Zgjidh regjistrin e konfigurimit të përshpejtuesit Wire.write (0x1C); // Gama e shkallës së plotë = +/- 16g Wire.write (0x18); // Ndaloni transmetimin I2C Wire.endTransmission (); // Filloni transmetimin I2C Wire.beginTransmission (Addr); // Zgjidh regjistrin e menaxhimit të energjisë Wire.write (0x6B); // PLL me referencë xGyro Wire.write (0x01); // Ndaloni transmetimin I2C Wire.endTransmission (); vonesë (300); } void loop () {të dhëna int pa shenjë [6]; // Filloni transmetimin I2C Wire.beginTransmission (Addr); // Zgjidh regjistrin e të dhënave Wire.write (0x3B); // Ndaloni transmetimin I2C Wire.endTransmission (); // Kërkoni 6 bajt të dhëna Wire.requestFrom (Addr, 6); // Lexoni 6 bajt të dhëna nëse (Wire.available () == 6) {data [0] = Wire.read (); të dhëna [1] = Wire.read (); të dhëna [2] = Wire.read (); të dhëna [3] = Wire.read (); të dhëna [4] = Wire.read (); të dhëna [5] = Wire.read (); } vonesë (800); // Shndërroni të dhënat xAccl = ((të dhënat [1] * 256) + të dhënat [0]); nëse (xAccl> 32767) {xAccl -= 65536; } yAccl = ((të dhënat [3] * 256) + të dhënat [2]); nëse (yAccl> 32767) {yAccl -= 65536; } zAccl = ((të dhënat [5] * 256) + të dhënat [4]); nëse (zAccl> 32767) {zAccl -= 65536; } vonesë (800); // Filloni transmetimin I2C Wire.beginTransmission (Addr); // Zgjidh regjistrin e të dhënave Wire.write (0x43); // Ndalo transmetimin I2C Wire.endTransmission (); // Kërkoni 6 bajt të dhëna Wire.requestFrom (Addr, 6); // Lexoni 6 bajt të dhëna nëse (Wire.available () == 6) {data [0] = Wire.read (); të dhëna [1] = Wire.read (); të dhëna [2] = Wire.read (); të dhëna [3] = Wire.read (); të dhëna [4] = Wire.read (); të dhëna [5] = Wire.read (); } // Shndërroni të dhënat xGyro = ((të dhënat [1] * 256) + të dhënat [0]); nëse (xGyro> 32767) {xGyro -= 65536; } yGyro = ((të dhënat [3] * 256) + të dhënat [2]); nëse (yGyro> 32767) {yGyro -= 65536; } zGyro = ((të dhënat [5] * 256) + të dhënat [4]); nëse (zGyro> 32767) {zGyro -= 65536; } // Dalja e të dhënave në pult Particle.publish ("Përshpejtimi në boshtin X:", String (xAccl)); vonesa (1000); Particle.publish ("Përshpejtimi në Boshtin Y:", String (yAccl)); vonesa (1000); Particle.publish ("Përshpejtimi në Boshtin Z:", String (zAccl)); vonesa (1000); Particle.publish ("Boshti X i rrotullimit:", String (xGyro)); vonesa (1000); Particle.publish ("Y-Axis of Rotation:", String (yGyro)); vonesa (1000); Particle.publish ("Z-Boshti i Rrotullimit:", String (zGyro)); vonesa (1000); }
Funksioni Particle.variable () krijon variablat për të ruajtur daljen e sensorit dhe funksioni Particle.publish () shfaq daljen në pultin e faqes.
Dalja e sensorit tregohet në figurën e mësipërme për referencën tuaj.
Hapi 4: Aplikimet:
MPU-6000 është një sensor i përcjelljes së lëvizjes, i cili gjen aplikimin e tij në ndërfaqen e lëvizjes së telefonave inteligjentë dhe tabletave. Në telefonat inteligjentë, këta sensorë mund të përdoren në aplikacione të tilla si komandat e gjesteve për aplikacionet dhe kontrollin e telefonit, lojërat e zgjeruara, realiteti i shtuar, kapja dhe shikimi panoramik i fotografive dhe navigimi i këmbësorëve dhe automjeteve. Teknologjia MotionTracking mund të shndërrojë celularët dhe tabletët në pajisje të fuqishme inteligjente 3D që mund të përdoren në aplikacione duke filluar nga monitorimi i shëndetit dhe fitnesit deri tek shërbimet e bazuara në vendndodhje.
Recommended:
Matja e lagështisë duke përdorur HYT939 dhe Foton Particle: 4 Hapa
Matja e lagështisë duke përdorur HYT939 dhe Foton Particle: HYT939 është një sensor dixhital i lagështisë i cili punon në protokollin e komunikimit I2C. Lagështia është një parametër kryesor kur bëhet fjalë për sistemet mjekësore dhe laboratorët, kështu që për të arritur këto qëllime ne u përpoqëm të ndërlidhnim HYT939 me pi mjedër. Une
Matja e Përshpejtimit duke Përdorur H3LIS331DL dhe Foton Particle: 4 Hapa
Matja e Përshpejtimit Duke Përdorur H3LIS331DL dhe Foton Particle: H3LIS331DL, është një nxitues linear me 3 boshte me fuqi të ulët me fuqi të ulët që i përket familjes “nano”, me ndërfaqe serike digjitale I²C. H3LIS331DL ka peshore të plota të zgjedhura nga përdoruesi prej ± 100g/± 200g/± 400g dhe është i aftë të masë përshpejtimet me
Matja e Përshpejtimit duke Përdorur BMA250 dhe Foton Particle: 4 Hapa
Matja e Përshpejtimit Duke Përdorur BMA250 dhe Foton Grimcash: BMA250 është një nxitues i vogël, i hollë, me fuqi ultra të ulët, me 3 boshte me matje me rezolucion të lartë (13-bit) deri në ± 16 g. Të dhënat dalëse dixhitale janë të formatuara si plotësuese 16-bitësh dy dhe janë të arritshme përmes ndërfaqes dixhitale I2C. Mat masat statike
Monitorimi i Temperaturës dhe Lagështisë Duke Përdorur SHT25 dhe Foton Particle: 5 Hapa
Monitorimi i Temperaturës dhe Lagështisë duke Përdorur SHT25 dhe Parton Photon: Kohët e fundit kemi punuar në projekte të ndryshme që kërkonin monitorim të temperaturës dhe lagështisë dhe më pas kuptuam se këto dy parametra në të vërtetë luajnë një rol kryesor në të pasurit një vlerësim të efikasitetit të punës të një sistemi. Të dy në industrinë
Ndjekja e lëvizjes së syve duke përdorur sensorin infra të kuqe: 5 hapa
Ndjekja e lëvizjes së syve duke përdorur sensorin infra të kuqe: Kam përdorur një sensor infra të kuqe për të ndjerë lëvizjet e syve dhe për të kontrolluar LED. Bëra sytë me sy me LED Tape NeoPixel