Sommario:

Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi
Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi

Video: Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi

Video: Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi
Video: Домашняя автоматизация с использованием акселерометра 2024, Dicembre
Anonim
Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python
Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python

Pensando 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 davvero utile a chi ama la montagna e i viaggi di lavoro.

Senza dubbio, un vero e proprio brillante periodo di valutazione avanzata dei dati, l'IoT è alle porte. Come amanti dei gadget e della programmazione, crediamo che Raspberry Pi, il micro PC Linux, abbia trattato le capacità creative delle persone in generale, portando con sé un'esplosione di metodologie innovative. Quindi quali sono i possibili risultati che possiamo fare se abbiamo un Raspberry Pi e un accelerometro a 3 assi nelle vicinanze? Dovremmo scoprirlo! In questo compito, rileveremo l'accelerazione su 3 assi, X, Y e Z utilizzando Raspberry Pi e ADXL345, un accelerometro a 3 assi. Quindi dovremmo osservare in questa escursione per fabbricare un quadro per misurare l'accelerazione tridimensionale verso l'alto o G-Force.

Passaggio 1: hardware di base richiesto

Hardware di base che richiediamo
Hardware di base che richiediamo
Hardware di base che richiediamo
Hardware di base che richiediamo
Hardware di base che richiediamo
Hardware di base che richiediamo

I problemi sono stati minori per noi dato che abbiamo un sacco di cose in giro su cui lavorare. Tuttavia, sappiamo quanto sia difficile per gli altri assemblare la parte giusta in tempo perfetto dal punto opportuno e ciò è giustificato indipendentemente da ogni centesimo. Quindi ti aiuteremo in tutte le regioni. Leggere quanto segue per ottenere un elenco completo delle parti.

1. Lampone Pi

Il primo passo è stato l'acquisizione di una scheda Raspberry Pi. Questo minuscolo computer a bassa potenza fornisce una base economica e generalmente semplice per iniziative di elettronica, Internet of Things (IoT), Smart Cities, istruzione scolastica.

2. Scudo I2C per Raspberry Pi

La cosa principale che manca davvero al Raspberry Pi è una porta I²C. Quindi, per questo, il connettore TOUTPI2 I²C ti dà la sensazione di utilizzare Rasp Pi con più dispositivi I²C. È accessibile su DCUBE Store

3. Accelerometro a 3 assi, ADXL345

Prodotto da Analog Devices, l'ADXL345 è un accelerometro a 3 assi a bassa potenza con misurazione a 13 bit ad alta risoluzione fino a ±16 g. Abbiamo acquistato questo sensore da DCUBE Store

4. Cavo di collegamento

Avevamo il cavo di collegamento I2C accessibile al DCUBE Store

5. Cavo micro USB

Il minimo confuso, ma il più rigoroso per quanto riguarda la necessità di alimentazione è il Raspberry Pi! L'approccio più semplice per accendere il Raspberry Pi è tramite il cavo Micro USB.

6. L'accesso al Web è una necessità

L'accesso al Web può essere abilitato tramite un cavo Ethernet (LAN) associato a una rete locale e al Web. D'altra parte, puoi associarti a una rete wireless utilizzando un dongle wireless USB, che richiederà la configurazione.

7. Cavo HDMI/Accesso remoto

Con il cavo HDMI a bordo, puoi collegarlo a una TV digitale o a un monitor. Bisogno di risparmiare denaro! Raspberry Pi può essere ottenuto in remoto utilizzando strategie distintive come SSH e Accesso sul Web. Puoi usare il software open source PuTTY.

Passaggio 2: collegamento dell'hardware

Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware

Fai il circuito secondo lo schema apparso. Disegna uno schema e segui la configurazione deliberatamente.

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.

Prescriviamo l'utilizzo del cavo I2C in quanto confuta la necessità di esaminare i pinout, le saldature e il malessere causato anche dal più piccolo errore. Con questo cavo plug and play di base, puoi introdurre, scambiare dispositivi o aggiungere facilmente più dispositivi a un'applicazione. Questo rende le cose semplici.

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 la nostra impresa, abbiamo bisogno di una connessione web per il nostro Raspberry Pi. Per questo, hai alternative come interfacciare un cavo Ethernet (LAN) con il sistema domestico. Inoltre, come opzione, tuttavia, un percorso utile è utilizzare un connettore WiFi. A volte per questo, è necessario un driver per farlo funzionare. Quindi inclina verso quello con Linux nella rappresentazione.

Alimentazione elettrica

Collega il cavo Micro USB alla presa di alimentazione di Raspberry Pi. Accendilo e siamo a posto.

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.

Passaggio 3: codifica Python per Raspberry Pi

Codifica Python per Raspberry Pi
Codifica Python per Raspberry Pi

Il codice Python per il sensore Raspberry Pi e ADXL345 è accessibile nel nostro repository Github.

Prima di passare al codice, assicurati di leggere le linee guida fornite nel documento Leggimi e configura il tuo Raspberry Pi come da esso. Si fermerà semplicemente per un minuto per farlo.

Un accelerometro è un dispositivo che misura la corretta accelerazione; l'accelerazione corretta non è la stessa dell'accelerazione coordinata (velocità di variazione della velocità). I modelli a singolo e multiasse dell'accelerometro sono accessibili per identificare l'ampiezza e la direzione dell'accelerazione corretta, come quantità vettoriale, e possono essere utilizzati per rilevare l'orientamento, coordinare l'accelerazione, le vibrazioni, gli urti e la caduta in un mezzo resistivo.

Il codice è chiaro davanti a te ed è nella struttura più semplice che puoi immaginare e non dovresti avere problemi.

# 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. # ADXL345 # Questo codice è progettato per funzionare con il Mini Modulo I2C ADXL345_I2CS disponibile da dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modulo/

import smbus

tempo di importazione

# Ottieni l'autobus I2C

bus = smbus. SMBus(1)

# Indirizzo ADXL345, 0x53(83)

# Seleziona il registro della velocità di larghezza di banda, 0x2C(44) # 0x0A(10) Modalità normale, Velocità dati in uscita = 100 Hz bus.write_byte_data(0x53, 0x2C, 0x0A) # Indirizzo ADXL345, 0x53(83) # Seleziona il registro di controllo dell'alimentazione, 0x2D(45) # 0x08(08) Auto Sleep disabilita bus.write_byte_data(0x53, 0x2D, 0x08) # Indirizzo ADXL345, 0x53(83) # Seleziona registro formato dati, 0x31(49) # 0x08(08) Autotest disabilitato, 4 fili interfaccia # Risoluzione completa, intervallo = +/-2g bus.write_byte_data(0x53, 0x31, 0x08)

tempo.sonno(0.5)

# Indirizzo ADXL345, 0x53(83)

# Rilegge i dati da 0x32(50), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x53, 0x32) data1 = bus.read_byte_data(0x53, 0x33)

# Converti i dati in 10 bit

xAccl = ((data1 & 0x03) * 256) + data0 se xAccl > 511: xAccl -= 1024

# Indirizzo ADXL345, 0x53(83)

# Rilegge i dati da 0x34(52), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x53, 0x34) data1 = bus.read_byte_data(0x53, 0x35)

# Converti i dati in 10 bit

yAccl = ((data1 & 0x03) * 256) + data0 se yAccl > 511: yAccl -= 1024

# Indirizzo ADXL345, 0x53(83)

# Rilegge i dati da 0x36(54), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x53, 0x36) data1 = bus.read_byte_data(0x53, 0x37)

# Converti i dati in 10 bit

zAccl = ((data1 & 0x03) * 256) + data0 se zAccl > 511: zAccl -= 1024

# 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

Passaggio 4: la praticità del codice

La praticità del codice
La praticità 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 l'output su Monitor. Dopo pochi istanti, mostrerà tutti i parametri. Dopo esserti assicurato che tutto funzioni facilmente, puoi portare questa impresa a un compito più grande.

Passaggio 5: applicazioni e funzionalità

L'ADXL345 è un accelerometro a 3 assi piccolo, sottile, a bassissima potenza con misurazione ad alta risoluzione (13 bit) fino a ±16 g. L'ADXL345 è appropriato per le applicazioni del telefono cellulare. Quantifica l'accelerazione statica di gravità nelle applicazioni di rilevamento dell'inclinazione e inoltre l'accelerazione dinamica imminente a causa del movimento o dello shock. Altre applicazioni includono cellulari, strumentazione medica, dispositivi di puntamento e di gioco, strumentazione industriale, dispositivi di navigazione personale e protezione dell'unità disco rigido (HDD).

Passaggio 6: conclusione

Spero che questo compito motivi ulteriori sperimentazioni. Questo sensore I2C è straordinariamente flessibile, economico e accessibile. Poiché è un sistema in larga misura impermanente, ci sono modi interessanti per ampliare questo compito e persino migliorarlo.

Ad esempio, puoi iniziare con l'idea di un inclinometro utilizzando ADXL345 e Raspberry Pi. Nel progetto di cui sopra, abbiamo utilizzato calcoli di base. Puoi improvvisare il codice per valori G, angoli di inclinazione (o inclinazione), elevazione o depressione di un oggetto rispetto alla gravità. Quindi puoi controllare le opzioni di avanzamento come gli angoli di rotazione per il rollio (asse da davanti a dietro, X), beccheggio (asse da lato a lato, Y) e imbardata (asse verticale, Z). Questo accelerometro visualizza le forze G 3-D. Quindi potresti utilizzare questo sensore in vari modi che puoi considerare.

Per tua comodità, abbiamo un affascinante esercizio video didattico su YouTube che potrebbe aiutarti nelle tue indagini. La fiducia in questa impresa motiva ulteriori esplorazioni. Continua a contemplare! Tenete a mente di cercare, poiché ne vengono continuamente fuori altri.

Consigliato: