Sommario:
- Passaggio 1: hardware richiesto:
- Passaggio 2: collegamento hardware:
- Passaggio 3: codice per il monitoraggio del movimento:
- Passaggio 4: applicazioni:
Video: Rilevamento del movimento utilizzando MPU-6000 e Particle Photon: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
MPU-6000 è un sensore di rilevamento del movimento a 6 assi con accelerometro a 3 assi e giroscopio a 3 assi incorporati. Questo sensore è in grado di tracciare in modo efficiente la posizione esatta e la posizione di un oggetto nel piano tridimensionale. Può essere impiegato nei sistemi che richiedono l'analisi della posizione con la massima precisione.
In questo tutorial è stata illustrata l'interfaccia del modulo sensore MPU-6000 con il fotone particellare. Per leggere i valori di accelerazione e angolo di rotazione, abbiamo utilizzato la particella con un adattatore I2c. Questo adattatore I2C rende la connessione al modulo sensore facile e più affidabile.
Passaggio 1: hardware richiesto:
I materiali necessari per svolgere il nostro compito includono i componenti hardware menzionati di seguito:
1. MPU-6000
2. Fotone particellare
3. Cavo I2C
4. Scudo I2C per fotoni di particelle
Passaggio 2: collegamento hardware:
La sezione sui collegamenti hardware spiega fondamentalmente le connessioni di cablaggio richieste tra il sensore e il fotone della particella. Garantire connessioni corrette è la necessità di base mentre si lavora su qualsiasi sistema per l'output desiderato. Quindi, i collegamenti necessari sono i seguenti:
L'MPU-6000 funzionerà su I2C. Ecco lo schema elettrico di esempio, che mostra come cablare ciascuna interfaccia del sensore.
Di default, la scheda è configurata per un'interfaccia I2C, quindi consigliamo di utilizzare questo collegamento se sei altrimenti agnostico. Tutto ciò di cui hai bisogno sono quattro fili!
Sono necessarie solo quattro connessioni pin Vcc, Gnd, SCL e SDA e questi sono collegati con l'aiuto del cavo I2C.
Queste connessioni sono mostrate nelle immagini sopra.
Passaggio 3: codice per il monitoraggio del movimento:
Iniziamo ora con il codice particellare.
Durante l'utilizzo del modulo sensore con arduino, includiamo la libreria application.h e spark_wiring_i2c.h. La libreria "application.h" e spark_wiring_i2c.h contiene le funzioni che facilitano la comunicazione i2c tra il sensore e la particella.
L'intero codice particella è riportato di seguito per comodità dell'utente:
#include#include // L'indirizzo I2C dell'MPU-6000 è 0x68(104) #define Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; void setup() { // Imposta variabile Particle.variable("i2cdevice", "MPU-6000"); Particle.variable("xAccl", xAccl); Particle.variable("yAccl", yAccl); Particle.variable("zAccl", zAccl); Particle.variable("xGyro", xGyro); Particle.variable("yGyro", yGyro); Particle.variable("zGyro", zGyro); // Inizializza la comunicazione I2C come Master Wire.begin(); // Inizializza la comunicazione seriale, imposta baud rate = 9600 Serial.begin(9600); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro di configurazione del giroscopio Wire.write(0x1B); // Intervallo di fondo scala = 2000 dps Wire.write(0x18); // Arresta la trasmissione I2C Wire.endTransmission(); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro di configurazione dell'accelerometro Wire.write(0x1C); // Intervallo di fondo scala = +/-16g Wire.write(0x18); // Arresta la trasmissione I2C Wire.endTransmission(); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro di gestione dell'alimentazione Wire.write(0x6B); // PLL con riferimento xGyro Wire.write(0x01); // Arresta la trasmissione I2C Wire.endTransmission(); ritardo(300); } void loop() { unsigned int data[6]; // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro dati Wire.write(0x3B); // Arresta la trasmissione I2C Wire.endTransmission(); // Richiedi 6 byte di dati Wire.requestFrom(Addr, 6); // Legge 6 byte di dati if (Wire.available() == 6) { data[0] = Wire.read(); data[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read(); data[4] = Wire.read(); data[5] = Wire.read(); } ritardo(800); // Converti i dati xAccl = ((data[1] * 256) + data[0]); if (xAccl > 32767) { xAccl -= 65536; } yAccl = ((dati[3] * 256) + dati[2]); if (yAccl > 32767) { yAccl -= 65536; } zAccl = ((dati[5] * 256) + dati[4]); if (zAccl > 32767) { zAccl -= 65536; } ritardo(800); // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro dati Wire.write(0x43); // Arresta la trasmissione I2C Wire.endTransmission(); // Richiedi 6 byte di dati Wire.requestFrom(Addr, 6); // Legge 6 byte di dati if (Wire.available() == 6) { data[0] = Wire.read(); data[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read(); data[4] = Wire.read(); data[5] = Wire.read(); } // Converti i dati xGyro = ((data[1] * 256) + data[0]); if (xGyro > 32767) { xGyro -= 65536; } yGyro = ((data[3] * 256) + data[2]); if (yGyro > 32767) { yGyro -= 65536; } zGyro = ((data[5] * 256) + dati[4]); if (zGyro > 32767) { zGyro -= 65536; } // Invia i dati al dashboard Particle.publish("Acceleration in X-Axis: ", String(xAccl)); ritardo(1000); Particle.publish("Acceleration in Y-Axis: ", String(yAccl)); ritardo(1000); Particle.publish("Accelerazione nell'asse Z: ", String(zAccl)); ritardo(1000); Particle.publish("Asse X di rotazione: ", String(xGyro)); ritardo(1000); Particle.publish("Asse Y di rotazione: ", String(yGyro)); ritardo(1000); Particle.publish("Asse Z di rotazione: ", String(zGyro)); ritardo(1000); }
La funzione Particle.variable() crea le variabili per memorizzare l'output del sensore e la funzione Particle.publish() visualizza l'output sulla dashboard del sito.
L'uscita del sensore è mostrata nell'immagine sopra come riferimento.
Passaggio 4: applicazioni:
MPU-6000 è un sensore di rilevamento del movimento, che trova la sua applicazione nell'interfaccia di movimento di smartphone e tablet. Negli smartphone questi sensori possono essere impiegati in applicazioni come comandi gestuali per applicazioni e controllo del telefono, giochi avanzati, realtà aumentata, acquisizione e visualizzazione di foto panoramiche e navigazione pedonale e veicolare. La tecnologia MotionTracking può convertire telefoni cellulari e tablet in potenti dispositivi intelligenti 3D che possono essere utilizzati in applicazioni che vanno dal monitoraggio della salute e del fitness ai servizi basati sulla posizione.
Consigliato:
Telecamera di rilevamento del movimento Raspberry Pi nell'alloggiamento del proiettore: 3 passaggi
Telecamera di rilevamento del movimento Raspberry Pi in alloggiamento Floodlight: è da un po' che sto armeggiando con i Raspberry Pi e li uso per una piccola varietà di cose, ma principalmente come telecamera CCTV per monitorare la mia casa mentre sono via con la possibilità di visualizzare in remoto un live streaming ma ricevere anche e-mail di scatti di immagini
Robot di Halloween con rilevamento del volto e rilevamento del sorriso: 8 passaggi (con immagini)
Monitoraggio del viso e rilevamento del sorriso Robot di Halloween: Halloween sta arrivando! Abbiamo deciso di costruire qualcosa di interessante. Incontra i robot Ghosty e Skully. Possono seguire il tuo viso e sanno quando sorridi per ridere con te! Questo progetto è un altro esempio dell'utilizzo dell'app iRobbie che converte l'iPhone in
Rilevamento del movimento utilizzando Raspberry Pi: 4 passaggi
Rilevamento del movimento utilizzando Raspberry Pi: In questo tutorial, impareremo come utilizzare il sensore PIR (Passive InfraRed) con Raspberry Pi, al fine di costruire un semplice rilevatore di movimento. Viene utilizzato per rilevare il movimento di persone, animali o altri oggetti. Sono comunemente usati a burg
Guardiano V1.0 --- Aggiornamento della telecamera spioncino della porta con Arduino (caratteristiche di registrazione del rilevamento del movimento e scosse elettriche): 5 passaggi
Guardiano V1.0 ||| Aggiornamento della telecamera spioncino della porta con Arduino (funzioni di registrazione del rilevamento del movimento e scosse elettriche): ho ordinato una telecamera spioncino ma quando la uso, mi sono reso conto che non esiste una funzione di registrazione automatica (attivata dal rilevamento del movimento). Poi ho iniziato a indagare su come funziona. Per registrare un video, dovresti 1- tenere premuto il pulsante di accensione per quasi 2 secondi
Presa controllata dal movimento - Da una luce di rilevamento del movimento: 6 passaggi
Presa controllata dal movimento - Da una luce di rilevamento del movimento: Immagina di essere un dolcetto o scherzetto che va nella casa più spaventosa del quartiere. Dopo aver superato tutti i ghoul, i fantasmi e i cimiteri, arrivi finalmente all'ultimo percorso. Puoi vedere le caramelle in una ciotola davanti a te! Ma poi improvvisamente un gho