Sommario:
- Passaggio 1: hardware di base richiesto
- Passaggio 2: collegamento dell'hardware
- Passaggio 3: codifica Python per Raspberry Pi
- Fase 4: L'applicabilità del codice
- Passaggio 5: applicazioni e funzionalità
- Passaggio 6: conclusione
Video: Controllo del movimento con Raspberry Pi e LIS3DHTR, accelerometro a 3 assi, utilizzando Python: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
La bellezza ci circonda, ma di solito abbiamo bisogno di camminare in un giardino per conoscerla. - Rumi
Come gruppo istruito che sembriamo essere, investiamo la stragrande maggioranza della nostra energia lavorando prima dei nostri PC e telefoni cellulari. Pertanto, spesso lasciamo che il nostro benessere prenda il secondo posto, non trovando mai veramente un'occasione ideale per andare in palestra o una lezione di fitness e di norma preferendo il fast food a scelte molto più vantaggiose. La notizia edificante è che se tutto ciò di cui hai bisogno è un po' di assistenza con la tenuta dei registri o per monitorare i tuoi progressi, puoi utilizzare l'innovazione di oggi per produrre alcuni gadget per aiutarti.
La tecnologia si sta sviluppando rapidamente. Coerentemente, sentiamo il vento di qualche nuova innovazione che cambierà il mondo e il modo in cui impariamo in esso. Quando ti piacciono i PC, la programmazione e i robot o ti piace semplicemente armeggiare, c'è una benedizione tecnologica là fuori. Raspberry Pi, il micro computer Linux a scheda singola, è dedicato a migliorare il modo in cui impari con la tecnologia innovativa, ma è anche la chiave per migliorare l'apprendimento dell'istruzione in tutto il mondo. Quindi quali sono i possibili risultati di quello che possiamo fare se abbiamo un Raspberry Pi e un accelerometro a 3 assi nelle vicinanze? Che ne dici di trovare questo! In questo compito, controlleremo l'accelerazione su 3 assi perpendicolari, X, Y e Z utilizzando Raspberry Pi e LIS3DHTR, un accelerometro a 3 assi. Quindi dovremmo vedere in questo viaggio creare un sistema per controllare l'accelerazione tridimensionale o G-Force.
Passaggio 1: hardware di base richiesto
I problemi sono stati minori per noi dal momento che abbiamo un'enorme quantità di cose in giro su cui lavorare. In ogni caso, sappiamo quanto sia fastidioso per gli altri accumulare la parte giusta in tempi immacolati dal posto utile e che si difende prestando poca attenzione ad ogni centesimo. Quindi ti aiuteremo. Seguire l'accompagnamento per ottenere un elenco completo delle parti.
1. Lampone Pi
Il primo passo è stato ottenere una scheda Raspberry Pi. Il Raspberry Pi è un PC basato su Linux a scheda singola. Questo piccolo PC offre una potenza di calcolo eccezionale, utilizzata come parte delle attività dei gadget e operazioni semplici come fogli di calcolo, preparazione di testi, scansione web ed e-mail e giochi.
2. Scudo I2C per Raspberry Pi
La preoccupazione principale che il Raspberry Pi è veramente assente è una porta I²C. Quindi, per questo, il connettore TOUTPI2 I²C ti dà la sensazione di utilizzare Rasp Pi con QUALSIASI dispositivo I²C. È disponibile su DCUBE Store
3. Accelerometro a 3 assi, LIS3DHTR
Il LIS3DH è un accelerometro lineare a tre assi a bassissima potenza ad alte prestazioni appartenente alla famiglia “nano”, con uscita standard di interfaccia seriale digitale I2C/SPI. Abbiamo acquistato questo sensore da DCUBE Store
4. Cavo di collegamento
Abbiamo acquistato il cavo di collegamento I2C da DCUBE Store
5. Cavo micro USB
Il più piccolo sconcertato, ma il più severo nella misura in cui ha bisogno di energia è il Raspberry Pi! Il modo più semplice per affrontare è l'uso del cavo Micro USB.
6. L'accesso al Web è una necessità
INTERNET i bambini non dormono MAI
Ottieni il tuo Raspberry Pi associato a un cavo Ethernet (LAN) e collegalo al tuo router di rete. Opzionale, cerca un connettore WiFi e utilizza una delle porte USB per accedere al sistema remoto. È una decisione acuta, semplice, piccola e scadente!
7. Cavo HDMI/Accesso remoto
Il Raspberry Pi ha una porta HDMI che puoi collegare in modo specifico a uno schermo o a una TV con un cavo HDMI. Opzionale, puoi utilizzare SSH per associarti al tuo Raspberry Pi da un PC Linux o Macintosh dal terminale. Allo stesso modo, PuTTY, un emulatore di terminale gratuito e open source, sembra un'alternativa decente.
Passaggio 2: collegamento dell'hardware
Fai il circuito secondo lo schema apparso. Disegna un diagramma e segui lo schema con precisione. L'immaginazione è più importante della Conoscenza.
Collegamento di Raspberry Pi e I2C Shield
Soprattutto, prendi il Raspberry Pi e individua l'I2C Shield su di esso. Premi delicatamente lo Shield sui pin GPIO di Pi e abbiamo finito con questa progressione semplice come una torta (vedi lo snap).
Collegamento del sensore e Raspberry Pi
Prendi il sensore e interfaccia il cavo I2C con esso. Per il corretto funzionamento di questo Cavo, richiamare l'Uscita I2C SEMPRE associata all'Ingresso I2C. Lo stesso deve essere preso dopo per il Raspberry Pi con lo shield I2C montato su di esso i pin GPIO.
Appoggiamo l'uso del cavo I2C in quanto annulla la necessità di esaminare i pinout, il fissaggio e il disagio causato anche dal più piccolo errore. Con questo fondamentale cavo di collegamento e riproduzione, puoi presentare, scambiare gadget o aggiungere più gadget a un'applicazione in modo efficace. Ciò facilita il peso del lavoro fino a un livello significativo.
Nota: il filo marrone dovrebbe seguire in modo affidabile la connessione di terra (GND) tra l'uscita di un dispositivo e l'ingresso di un altro dispositivo
La rete web è fondamentale
Per rendere vincente il nostro sforzo, abbiamo bisogno di un'associazione Internet per il nostro Raspberry Pi. Per questo, hai scelte come l'interfacciamento di un cavo Ethernet (LAN) con la rete domestica. Inoltre, in alternativa, sia come sia, un corso accomodante è quello di utilizzare un connettore USB WiFi. Di norma per questo, è necessario un driver per farlo funzionare. Quindi inclina verso quello con Linux nella descrizione.
Alimentazione elettrica
Collega il cavo Micro USB alla presa di alimentazione di Raspberry Pi. Dai un pugno e siamo pronti.
Connessione allo schermo
Possiamo avere il cavo HDMI associato a un altro schermo. In alcuni casi, devi accedere a un Raspberry Pi senza interfacciarlo a uno schermo o potresti dover visualizzare alcuni dati da esso da qualche altra parte. In teoria, ci sono approcci innovativi e finanziariamente esperti per fare in quanto tale. Uno di questi sta utilizzando -SSH (accesso remoto da riga di comando). Puoi anche utilizzare il software PUTTY per questo. Questi sono per utenti avanzati. Quindi i dettagli non sono inclusi qui.
Passaggio 3: codifica Python per Raspberry Pi
Il codice Python per il sensore Raspberry Pi e LIS3DHTR è accessibile nel nostro GithubRepository.
Prima di procedere al codice, assicurati di leggere le regole fornite nell'archivio Leggimi e configura il tuo Raspberry Pi in base ad esso. Sarà solo una tregua per un momento per fare tutte le cose considerate.
Un accelerometro è un gadget elettromeccanico che misurerà le forze di accelerazione. Questi poteri potrebbero essere statici, simili alla forza di gravità costante che tira i tuoi piedi, oppure potrebbero essere alterabili, provocati dallo spostamento o dalla vibrazione dell'accelerometro.
L'accompagnamento è il codice Python e puoi clonare e regolare il codice in qualsiasi modo ti inclini.
# Distribuito con una licenza di libero arbitrio.# Usalo come preferisci, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate. # LIS3DHTR # Questo codice è progettato per funzionare con il Mini Modulo LIS3DHTR_I2CS I2C disponibile su dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modulo/
import smbus
tempo di importazione
# Ottieni l'autobus I2C
bus = smbus. SMBus(1)
# Indirizzo LIS3DHTR, 0x18(24)
# Seleziona registro di controllo1, 0x20(32) # 0x27(39) Modalità di accensione, selezione velocità dati = 10 Hz # X, Y, Z-Axis abilitato bus.write_byte_data(0x18, 0x20, 0x27) # Indirizzo LIS3DHTR, 0x18(24) # Seleziona registro di controllo4, 0x23(35) # 0x00(00) Aggiornamento continuo, selezione fondo scala = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)
tempo.sonno(0.5)
# Indirizzo LIS3DHTR, 0x18(24)
# Rilegge i dati da 0x28(40), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)
# Converti i dati
xAccl = data1 * 256 + data0 se xAccl > 32767: xAccl -= 65536
# Indirizzo LIS3DHTR, 0x18(24)
# Rilegge i dati da 0x2A(42), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)
# Converti i dati
yAccl = data1 * 256 + data0 se yAccl > 32767: yAccl -= 65536
# Indirizzo LIS3DHTR, 0x18(24)
# Rilegge i dati da 0x2C(44), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)
# Converti i dati
zAccl = data1 * 256 + data0 se zAccl > 32767: zAccl -= 65536
# Invia i dati allo schermo
print "Accelerazione nell'asse X: %d" %xAccl print "Accelerazione nell'asse Y: %d" %yAccl print "Accelerazione nell'asse Z: %d" %zAccl
Fase 4: L'applicabilità del codice
Scarica (o git pull) il codice da Github e aprilo nel Raspberry Pi.
Esegui i comandi per compilare e caricare il codice nel terminale e vedere il rendimento sullo schermo. Prendendo dopo un paio di minuti, dimostrerà ciascuno dei parametri. Seguendo la garanzia che tutto funzioni senza sforzo, puoi portare questa sfida a un'impresa più degna di nota.
Passaggio 5: applicazioni e funzionalità
Prodotto da STMicroelectronics, il LIS3DHTR ha un fondo scala selezionabile dinamicamente dall'utente di ±2g/±4g/±8g/±16g ed è in grado di misurare accelerazioni con velocità dei dati in uscita da 1Hz a 5kHz. Il LIS3DHTR è appropriato per le funzioni attivate dal movimento e il rilevamento della caduta libera. Quantifica l'accelerazione statica di gravità nelle applicazioni di rilevamento dell'inclinazione e inoltre l'accelerazione dinamica in arrivo a causa del movimento o dello shock. Altre applicazioni includono riconoscimento clic/doppio clic, risparmio energetico intelligente per dispositivi portatili, contapassi, orientamento del display, dispositivi di input per giochi e realtà virtuale, riconoscimento e registrazione degli impatti e monitoraggio e compensazione delle vibrazioni.
Passaggio 6: conclusione
Fidati di questa impresa stimola ulteriori sperimentazioni. Questo sensore I2C è straordinariamente adattabile, modesto e disponibile. Dal momento che si tratta di un framework impermanente ad un livello impressionante, ci sono modi interessanti per espandere questo compito e migliorarlo anche.
Ad esempio, puoi iniziare con l'idea di un pedometro utilizzando LIS3DHTR e Raspberry Pi. Nel compito di cui sopra, abbiamo utilizzato calcoli fondamentali. L'accelerazione può essere il parametro rilevante per analizzare il governo di una camminata. Puoi controllare le tre componenti del movimento per un individuo che sono in avanti (rollio, X), laterale (beccheggio, Y) e verticale (asse di imbardata, Z). Viene registrato uno schema tipico di tutti e 3 gli assi. Almeno 1 asse avrà valori di accelerazione periodica relativamente grandi. Quindi la direzione del picco e un algoritmo sono essenziali. Tenendo conto dei parametri dei passi (Filtro digitale, Rilevamento picco, Finestra temporale, ecc.) di questo algoritmo, è possibile riconoscere e contare i passi, nonché misurare la distanza, la velocità e, in una certa misura, le calorie bruciate. Quindi potresti utilizzare questo sensore in vari modi che puoi considerare. Confidiamo che ti piaccia! Cercheremo di fare una resa funzionante di questo pedometro prima piuttosto che dopo, la configurazione, il codice, la parte che calcola i mezzi per separare camminata e corsa e calorie bruciate.
Per tua consolazione, abbiamo un video intrigante su YouTube che può aiutarti nel tuo esame. La fiducia in questa impresa motiva ulteriori esplorazioni. Continua a rimuginare! Ricordati di prenderti cura di te, poiché ne emergono continuamente altri.
Consigliato:
Raspberry Pi - Tutorial Python per accelerometro a 3 assi ADXL345: 4 passaggi
Raspberry Pi - Tutorial Python per accelerometro a 3 assi ADXL345: ADXL345 è un accelerometro a 3 assi piccolo, sottile, a bassissima potenza con misurazione ad alta risoluzione (13 bit) fino a ±16 g. I dati di uscita digitale sono formattati come complemento a due a 16 bit ed è accessibile tramite l'interfaccia digitale I2 C. Misura il
Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi
Raspberry Pi MMA8452Q Accelerometro digitale a 3 assi a 12 bit/8 bit Tutorial Python: MMA8452Q è un accelerometro microlavorato a tre assi, capacitivo, intelligente, a bassa potenza con 12 bit di risoluzione. Le opzioni flessibili programmabili dall'utente sono fornite con l'ausilio di funzioni integrate nell'accelerometro, configurabili su due interruzioni
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: 3 passaggi (con immagini)
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: spero che penserete che questa sia la GRANDE idea per la vostra giornata! Questa è una voce del concorso Instructables Robotics che si chiuderà il 2 dicembre 2019. Il progetto è arrivato alla fase finale di valutazione e non ho avuto il tempo di fare gli aggiornamenti che volevo! Io ho
Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi
Accelerometro a 3 assi, ADXL345 con Raspberry Pi Utilizzo di Python: pensare a un gadget in grado di controllare il punto in cui il tuo fuoristrada è inclinato per indugiare. Non sarebbe piacevole nel caso in cui qualcuno si adeguasse quando c'è la possibilità di ribaltarsi? Ovviamente sì. sarebbe vero
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: 10 passaggi
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: guida passo passo su come configurare Raspbian e comunicare con un dispositivo SPI utilizzando la libreria SPI bcm2835 (NON bit banged!) Questo è ancora molto preliminare… ho bisogno di aggiungere immagini migliori del collegamento fisico e lavorare su un po' del codice scomodo