Sommario:

Raspberry Pi Impact Force Monitor!: 16 passaggi (con immagini)
Raspberry Pi Impact Force Monitor!: 16 passaggi (con immagini)

Video: Raspberry Pi Impact Force Monitor!: 16 passaggi (con immagini)

Video: Raspberry Pi Impact Force Monitor!: 16 passaggi (con immagini)
Video: Can’t get a new Raspberry Pi? I test the 10 year old Pi 1 512MB in 2022. 2024, Novembre
Anonim
Image
Image
Lettura suggerita
Lettura suggerita

Quanto impatto può sopportare il corpo umano? Che si tratti di calcio, arrampicata su roccia o incidente in bicicletta, sapere quando rivolgersi immediatamente a un medico dopo una collisione è incredibilmente importante, soprattutto se non ci sono segni evidenti di trauma. Questo tutorial ti insegnerà come costruire il tuo monitor della forza d'impatto!

Tempo di lettura: ~15 min

Tempo di costruzione: ~60-90 minuti

Questo progetto open source utilizza un Raspberry Pi Zero W e un accelerometro LIS331 per monitorare e avvisare l'utente di forze G potenzialmente pericolose. Naturalmente, sentiti libero di modificare e adattare il sistema per soddisfare le tue diverse esigenze di scienza dei cittadini.

Nota: costruisci cose divertenti con Impact Force Monitor! Tuttavia, non utilizzarlo come sostituto di consulenza medica e diagnosi professionale. Se ritieni di aver subito una caduta grave, visita un professionista qualificato e autorizzato per un trattamento adeguato.

Passaggio 1: lettura suggerita

Per mantenere questo tutorial breve e dolce (ehm, beh, per quanto possibile), presumo che tu stia iniziando con un Pi Zero W funzionale. Hai bisogno di aiuto? Nessun problema! Ecco un tutorial completo di installazione.

Ci collegheremo anche al Pi in remoto (ovvero in modalità wireless). Per una panoramica più approfondita su questo processo, dai un'occhiata a questo tutorial.

** Bloccato o vuoi saperne di più? Ecco alcune utili risorse:**

1. Eccellente guida "Introduzione" per il Pi.

2. Guida completa al collegamento per la breakout board dell'accelerometro LIS331.

3. Maggiori informazioni sugli accelerometri!

4. Panoramica dei pin GPIO Raspberry Pi.

5. Utilizzo dei bus seriali SPI e I2C sul Pi.

6. Scheda tecnica LIS331

Passaggio 2: materiali

Materiali
Materiali
Materiali
Materiali
  • Kit base Raspberry Pi Zero W

    • Questo kit include quanto segue: Scheda SD con sistema operativo NOOBS; Cavo USB OTG (da microUSB a USB femmina); Mini HDMI a HDMI; Alimentazione MicroUSB (~ 5V)
    • Consigliato anche: hub USB
  • Pin di intestazione Raspberry Pi 3
  • Scheda di breakout dell'accelerometro LIS331
  • Batteria con connettore MicroUSB
  • LED rosso da 5 mm
  • Resistenza 1k
  • Tubo termoretraibile da 6" o nastro isolante
  • Pin di testata per accelerometro (4 - 8) e LED (2)
  • Ponticelli femmina-femmina(6)

Utensili

  • Saldatore e accessori
  • Epossidico (o altro adesivo liquido permanente, non conduttivo)
  • Probabilmente anche forbici:)

Passaggio 3: ma aspetta! Che cos'è la forza d'impatto?

Fortunatamente il termine "forza d'impatto" è piuttosto semplice: la quantità di forza in un impatto. Come la maggior parte delle cose, tuttavia, misurarlo richiede una definizione più precisa. L'equazione per la forza d'urto è:

F = KE/d

dove F è la forza di impatto, KE è l'energia cinetica (energia di movimento) e d è la distanza di impatto, o quanto l'oggetto scricchiola. Ci sono due punti chiave da questa equazione:

1. La forza d'urto è direttamente proporzionale all'energia cinetica, il che significa che la forza d'urto aumenta se l'energia cinetica aumenta.

2. La forza di impatto è inversamente proporzionale alla distanza di impatto, il che significa che la forza di impatto diminuisce se la distanza di impatto aumenta. (Ecco perché abbiamo gli airbag: per aumentare la distanza del nostro impatto.)

La forza è tipicamente misurata in Newton (N), ma la forza d'impatto può essere discussa in termini di "G-Force", un numero espresso come multiplo di g, o accelerazione gravitazionale terrestre (9,8 m/s^2). Quando usiamo unità di forza G, misuriamo un'accelerazione degli oggetti relativa alla caduta libera verso la terra.

Tecnicamente parlando, g è un'accelerazione, non una forza, ma è utile quando si parla di collisioni perché l'accelerazione* è ciò che danneggia il corpo umano.

Per questo progetto, utilizzeremo le unità G-force per determinare se un impatto è potenzialmente pericoloso e meritevole di cure mediche. La ricerca ha scoperto che le forze g superiori a 9G possono essere fatali per la maggior parte degli umani (senza un addestramento speciale) e 4-6G può essere pericoloso se sostenuto per più di pochi secondi.

Sapendo questo, possiamo programmare il nostro monitor della forza d'impatto per avvisarci se il nostro accelerometro misura una forza G al di sopra di una di queste soglie. Evviva, scienza!

Per ulteriori informazioni, leggi la forza d'impatto e la forza g su Wikipedia!

L'accelerazione è un cambiamento di velocità e/o direzione

Passaggio 4: configurare il Pi Zero W

Configura il Pi Zero W
Configura il Pi Zero W

Raccogli il tuo Raspberry Pi Zero e le periferiche per configurare il Pi in modo che sia senza testa!

  • Collega il Pi a un monitor e alle periferiche associate (tastiera, mouse), collega l'alimentatore e accedi.
  • Aggiorna il software per mantenere il tuo Pi veloce e sicuro. Apri la finestra del terminale e digita questi comandi:

    Digita e inserisci:

sudo apt-get update

Digita e inserisci:

sudo apt-get upgrade

Ripristina:

sudo shutdown -r now

Passaggio 5: abilita WiFi e I2C

Abilita WiFi e I2C
Abilita WiFi e I2C
Abilita WiFi e I2C
Abilita WiFi e I2C
Abilita WiFi e I2C
Abilita WiFi e I2C
  • Fai clic sull'icona WiFi nell'angolo in alto a destra del desktop e connettiti alla tua rete WiFi.
  • Nel terminale digita questo comando per visualizzare lo strumento di configurazione del software di Pi:

sudo raspi-config

  • Seleziona "Opzioni di interfaccia", quindi "SSH" e scegli "Sì" in basso per abilitare.
  • Torna a "Opzioni interfaccia", quindi "I2C" e seleziona "Sì" per abilitare.
  • Nel terminale, installa il software di connessione desktop remoto:

sudo apt-get install xrdp

  • Digita "Y" (sì) sulla tastiera per entrambi i prompt.
  • Trova l'indirizzo IP del Pi passando con il mouse sulla connessione WiFi (potresti anche volerlo annotare).
  • Cambia la password del Pi con il comando passwd.

Passaggio 6: riavvia il Pi e accedi in remoto

Riavvia il Pi e accedi da remoto
Riavvia il Pi e accedi da remoto

Ora possiamo abbandonare l'HDMI e le periferiche, woohoo!

  • Imposta una connessione desktop remoto.

    • Su un PC, apri Connessione desktop remoto (o PuTTY se ti senti a tuo agio).
    • Per Mac/Linux, puoi installare questo programma o utilizzare un programma VNC.
  • Inserisci l'IP per il Pi e fai clic su "Connetti" (Ignora gli avvisi sul dispositivo sconosciuto).
  • Accedi al Pi utilizzando le tue credenziali e via!

Passaggio 7: costruiscilo: elettronica

Costruiscilo: elettronica!
Costruiscilo: elettronica!
Costruiscilo: elettronica!
Costruiscilo: elettronica!

Le due foto sopra mostrano lo schema elettrico di questo progetto e il Pinout del Pi Zero. Avremo bisogno di entrambi per affrontare le connessioni hardware.

Nota: la scheda breakout LIS331 nello schema è una versione precedente: utilizzare le etichette dei pin come guida

Passaggio 8: collegare l'accelerometro al GPIO del Pi

Collega l'accelerometro al GPIO del Pi
Collega l'accelerometro al GPIO del Pi
Collega l'accelerometro al GPIO del Pi
Collega l'accelerometro al GPIO del Pi
Collega l'accelerometro al GPIO del Pi
Collega l'accelerometro al GPIO del Pi
  • Saldare e rimuovere con cura eventuali residui di flusso sull'accelerometro e sui pin dell'intestazione del Pi GPIO.
  • Quindi collegare i cavi dei ponticelli tra la scheda breakout LIS331 e Pi tra i seguenti pin:

LIS331 Scheda di breakout Pin GPIO Raspberry Pi

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Per facilitare il collegamento del sensore al Pi Zero, è stato realizzato un adattatore personalizzato utilizzando un connettore femmina e cavi di collegamento. Il termoretraibile è stato aggiunto dopo aver testato le connessioni

Passaggio 9: aggiungi un LED di avviso

Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
Aggiungi un LED di avviso!
  • Saldare un resistore di limitazione della corrente alla gamba del LED negativo (gamba più corta) e aggiungere un involucro termoretraibile (o nastro isolante) per l'isolamento.
  • Utilizzare due cavi jumper o pin di intestazione per collegare la gamba del LED positivo a GPIO26 e il resistore a GND (posizioni di intestazione 37 e 39, rispettivamente).
  • Collega il pacco batteria alla potenza di ingresso del Pi per completare la configurazione!

Passaggio 10: programmalo

Programmalo!
Programmalo!

Il codice Python per questo progetto è open-source! Ecco un collegamento al repository GitHub.

Per le persone nuove alla programmazione:

Leggere il codice del programma e i commenti. Le cose che sono facili da modificare si trovano nella sezione "Parametri utente" in alto

Per le persone più a proprio agio con i dettagli tecnici:

Questo programma inizializza l'accelerometro LIS331 con le impostazioni predefinite, inclusa la modalità di alimentazione normale e la velocità di trasmissione dati di 50Hz. Leggere il foglio dati LIS331 e modificare le impostazioni di inizializzazione come desiderato

Tutto

  • La scala di accelerazione massima utilizzata in questo progetto è 24G, perché la forza d'impatto diventa grande molto velocemente!
  • Si consiglia di commentare le istruzioni di stampa dell'accelerazione nella funzione principale quando si è pronti per la distribuzione completa.

Prima di eseguire il programma, ricontrolla che l'indirizzo dell'accelerometro sia 0x19. Apri la finestra del terminale e installa alcuni strumenti utili con questo comando:

sudo apt-get install -y i2c-tools

Quindi esegui il programma i2cdetect:

i2cdetect -y 1

Vedrai una tabella di indirizzi I2C visualizzata come mostrato nell'immagine sopra. Supponendo che questo sia l'unico dispositivo I2C connesso, il numero che vedi (in questo caso: 19) è l'indirizzo dell'accelerometro! Se vedi un numero diverso, prendi nota e modifica nel programma (variable addr).

Passaggio 11: panoramica rapida del programma

Panoramica rapida del programma
Panoramica rapida del programma

Il programma legge l'accelerazione x, yez, calcola una forza g e quindi salva i dati in due file (nella stessa cartella del codice del programma) come appropriato:

  • AllSensorData.txt: fornisce un timestamp seguito dalla forza g negli assi x, yez.
  • AlertData.txt – come sopra ma solo per letture che sono al di sopra delle nostre soglie di sicurezza (soglia assoluta di 9G o 4G per più di 3 secondi).

Le forze G al di sopra delle nostre soglie di sicurezza attiveranno anche il nostro LED di avviso e lo manterranno acceso fino al riavvio del programma. Arrestare il programma digitando "CTRL+c" (interruzione della tastiera) nel terminale di comando.

La foto sopra mostra entrambi i file di dati creati durante il test.

Passaggio 12: testare il sistema

Metti alla prova il sistema!
Metti alla prova il sistema!
Metti alla prova il sistema!
Metti alla prova il sistema!

Apri la finestra del terminale, vai alla cartella in cui hai salvato il codice del programma usando il comando cd.

cd percorso/a/cartella

Esegui il programma utilizzando i privilegi di root:

sudo python NameOfFile.py

Verifica che i valori di accelerazione nella direzione x, y e z vengano stampati sulla finestra del terminale, siano ragionevoli e accendi la luce LED se la forza g è al di sopra delle nostre soglie.

  • Per eseguire il test, ruotare l'accelerometro in modo che ogni asse sia rivolto verso la terra e verificare che i valori misurati siano 1 o -1 (corrisponde all'accelerazione di gravità).
  • Scuoti l'accelerometro per assicurarti che le letture aumentino (il segno indica la direzione dell'asse, siamo più interessati alla grandezza della lettura).

Passaggio 13: proteggere i collegamenti elettrici e installarlo

Collegamenti elettrici sicuri e installarlo!
Collegamenti elettrici sicuri e installarlo!

Una volta che tutto funziona correttamente, assicuriamoci che il monitor della forza d'impatto possa effettivamente resistere all'impatto!

  • Utilizzare un tubo termoretraibile e/o rivestire i collegamenti elettrici per l'accelerometro e il LED in resina epossidica.
  • Per installazioni permanenti e super resistenti, considera di rivestire l'intera struttura con resina epossidica: il Pi Zero, il LED e l'accelerometro (ma NON i connettori del cavo Pi o la scheda SD).

    Avvertimento! Puoi ancora accedere al Pi e fare tutte le cose del computer, ma una mano completa di resina epossidica impedirà l'uso dei pin GPIO per progetti futuri. In alternativa, puoi creare o acquistare una custodia personalizzata per il Pi Zero, anche se controlla la durata

Assicuralo a un casco, alla tua persona o a un mezzo di trasporto come lo skateboard, la bicicletta o il gatto*!

Verifica completamente che il Pi sia fissato saldamente o che i pin GPIO potrebbero allentarsi causando l'arresto anomalo del programma.

*Nota: originariamente intendevo digitare "auto", ma ho pensato che anche un monitor della forza d'impatto per un gatto potesse fornire alcuni dati interessanti (con il consenso del gattino, ovviamente).

Passaggio 14: incorporare il circuito in un casco

Incorporare il circuito in un casco
Incorporare il circuito in un casco
Incorporare il circuito in un casco
Incorporare il circuito in un casco
Incorporare il circuito in un casco
Incorporare il circuito in un casco

Esistono alcuni metodi per incorporare il circuito in un casco. Ecco il mio approccio all'installazione del casco:

  • Se non lo hai già fatto, collega la batteria al Pi (con la batteria spenta). Fissare l'accelerometro sul retro del Pi con un isolamento non conduttivo in mezzo (come pluriball o schiuma da imballaggio sottile).
  • Misurare le dimensioni della combinazione Pi Zero, accelerometro, LED e connettore della batteria. Aggiungi il 10% su entrambi i lati.
  • Disegna un ritaglio per il progetto su un lato del casco, con il connettore della batteria rivolto verso la parte superiore del casco. Tagliare l'imbottitura nel casco lasciando alcuni millimetri (~ 1/8 in.).
  • Posiziona il sensore, il Pi e il LED nell'apertura. Taglia i pezzi dell'imbottitura del casco in eccesso o usa la schiuma da imballaggio per isolare, proteggere e tenere in posizione l'elettronica.
  • Misura le dimensioni della batteria, aggiungi il 10% e segui lo stesso ritaglio per la batteria. Inserire la batteria nella tasca.
  • Ripetere la tecnica di isolamento per la batteria sull'altro lato del casco.
  • Tieni l'imbottitura del casco in posizione con del nastro adesivo (la tua testa li terrà in posizione quando lo indossi).

Passaggio 15: distribuire

Distribuisci!
Distribuisci!
Distribuisci!
Distribuisci!

Accendi la batteria!

Ora puoi accedere in remoto al Pi tramite SSH o desktop remoto ed eseguire il programma tramite il terminale. Una volta che il programma è in esecuzione, inizia a registrare i dati.

Quando ti disconnetti dal WiFi di casa, la connessione SSH si interrompe, ma il programma dovrebbe comunque registrare i dati. Prendi in considerazione la possibilità di connettere il Pi all'hotspot WiFi del tuo smartphone, o semplicemente accedi di nuovo e prendi i dati quando torni a casa.

Per accedere ai dati, accedi in remoto al Pi e leggi i file di testo. Il programma corrente aggiungerà sempre i dati ai file esistenti: se si desidera eliminare i dati (come dai test), eliminare il file di testo (tramite il desktop o utilizzare il comando rm nel terminale) o creare un nuovo nome file nel programma codice (in Parametri utente).

Se il LED è acceso, riavviare il programma lo spegnerà.

Ora vai avanti, divertiti nella vita e controlla i dati ogni tanto se ti capita di imbatterti in qualcosa. Spero che sia un piccolo dosso, ma almeno lo saprai!

Passaggio 16: aggiunta di più funzionalità

Aggiunta di più funzionalità
Aggiunta di più funzionalità

Cerchi miglioramenti al monitor della forza d'impatto? È al di fuori dello scopo del tutorial, ma prova a guardare l'elenco qui sotto per le idee!

Fai qualche analisi sui tuoi dati g-force in Python!

Il Pi Zero ha funzionalità Bluetooth e WiFi: scrivi un'app per inviare i dati dell'accelerometro al tuo smartphone! Per iniziare, ecco un tutorial per un monitor Pi Twitter.

Aggiungi altri sensori, come un sensore di temperatura o un microfono*!

Costruzione felice

*Nota: per ascoltare i sibili associati alla tua accelerazione!:D

Consigliato: