Indholdsfortegnelse:

Raspberry Pi Impact Force Monitor !: 16 trin (med billeder)
Raspberry Pi Impact Force Monitor !: 16 trin (med billeder)

Video: Raspberry Pi Impact Force Monitor !: 16 trin (med billeder)

Video: Raspberry Pi Impact Force Monitor !: 16 trin (med billeder)
Video: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, November
Anonim
Image
Image
Foreslået læsning
Foreslået læsning

Hvor stor indflydelse kan den menneskelige krop håndtere? Uanset om det er fodbold, klatring eller en cykelulykke, er det utroligt vigtigt at vide, hvornår man skal søge lægehjælp umiddelbart efter en kollision, især hvis der ikke er tydelige tegn på traumer. Denne vejledning lærer dig, hvordan du bygger din helt egen slagkraftmonitor!

Læsetid: ~ 15 min

Bygningstid: ~ 60-90 min

Dette open source-projekt bruger en Raspberry Pi Zero W og et LIS331-accelerometer til at overvåge og advare brugeren om potentielt farlige G-styrker. Du er naturligvis velkommen til at ændre og tilpasse systemet, så det passer til dine forskellige borgervidenskabelige behov.

Bemærk: Byg sjove ting med Impact Force Monitor! Brug det dog ikke som en erstatning for professionel medicinsk rådgivning og diagnose. Hvis du føler, at du har taget et alvorligt fald, skal du besøge en kvalificeret og autoriseret professionel for korrekt behandling.

Trin 1: Foreslået læsning

For at holde denne vejledning kort og sød (er, ja, så meget som muligt), antager jeg, at du starter med en funktionel Pi Zero W. Har du brug for hjælp? Intet problem! Her er en komplet installationsvejledning.

Vi forbinder også fjernt til Pi (også kaldet trådløst). For en mere grundig oversigt over denne proces, tjek denne vejledning.

** Fast eller vil du lære mere? Her er nogle praktiske ressourcer: **

1. Fremragende "Kom godt i gang" guide til Pi.

2. Fuld tilslutningsguide til LIS331 accelerometer breakout board.

3. Mere om accelerometre!

4. Oversigt over Raspberry Pi GPIO -benene.

5. Brug af SPI- og I2C -serielle busser på Pi.

6. LIS331 Datablad

Trin 2: Materialer

Materialer
Materialer
Materialer
Materialer
  • Raspberry Pi Zero W Basic Kit

    • Dette kit indeholder følgende: SD -kort m/ NOOBS -operativsystem; USB OTG -kabel (microUSB til USB -hun); Mini HDMI til HDMI; MicroUSB strømforsyning (~ 5V)
    • Anbefales også: USB -hub
  • Raspberry Pi 3 Header Pins
  • LIS331 Accelerometer Breakout Board
  • Batteripakke m/ MicroUSB -stik
  • 5 mm rød LED
  • 1k modstand
  • 6 "varmekrympeslange eller elektrisk tape
  • Skæreborde til accelerometer (4-8) og LED (2)
  • Kvinder-til-hun-trøjer (6)

Værktøjer

  • Loddejern og tilbehør
  • Epoxy (eller andet permanent, ikke-ledende flydende klæbemiddel)
  • Sikkert også saks:)

Trin 3: Men vent! Hvad er slagkraft?

Heldigvis er udtrykket "slagkraft" ret ligetil: mængden af kraft i en påvirkning. Som de fleste ting kræver måling af det imidlertid en mere præcis definition. Ligningen for slagkraft er:

F = KE/d

hvor F er slagkraften, KE er den kinetiske energi (bevægelsesenergi), og d er slagafstanden, eller hvor meget objektet knaser. Der er to vigtige takeaways fra denne ligning:

1. Slagkraft er direkte proportional med den kinetiske energi, hvilket betyder, at slagkraften øges, hvis den kinetiske energi stiger.

2. Slagkraften er omvendt proportional med slagafstanden, hvilket betyder, at slagkraften falder, hvis slagafstanden øges. (Derfor har vi airbags: for at øge afstanden til vores påvirkning.)

Kraft måles typisk i Newton (N), men slagkraft kan diskuteres i form af en "G-Force", et tal udtrykt som et multiplum af g eller jordens gravitationsacceleration (9,8 m/s^2). Når vi bruger G-kraftenheder, måler vi en objekts acceleration i forhold til frit fald mod jorden.

Teknisk set er g en acceleration, ikke en kraft, men den er nyttig, når man taler om kollisioner, fordi acceleration* er det, der skader menneskekroppen.

Til dette projekt vil vi bruge G-force-enheder til at afgøre, om en påvirkning er potentielt farlig og fortjener lægehjælp. Forskning har fundet ud af, at g-kræfter over 9G kan være dødelige for de fleste mennesker (uden særlig træning), og 4-6G kan være farlige, hvis de opretholdes i mere end et par sekunder.

Når vi kender dette, kan vi programmere vores effektstyrkemonitor til at advare os, hvis vores accelerometer måler en G-kraft over en af disse tærskler. Hurra, videnskab!

For mere information, læs om slagkraft og g-kraft på Wikipedia!

Acceleration er en ændring i hastighed og/eller retning

Trin 4: Konfigurer Pi Zero W

Konfigurer Pi Zero W
Konfigurer Pi Zero W

Saml din Raspberry Pi Zero og eksterne enheder for at konfigurere Pi'en til at være hovedløs!

  • Tilslut Pi til en skærm og tilhørende periferiudstyr (tastatur, mus), tilslut strømforsyningen og log ind.
  • Opdater software for at holde din Pi hurtig og sikker. Åbn terminalvinduet, og skriv disse kommandoer:

    Skriv og indtast:

sudo apt-get opdatering

Skriv og indtast:

sudo apt-get opgradering

Nulstil:

sudo shutdown -r nu

Trin 5: Aktiver WiFi og I2C

Aktiver WiFi og I2C
Aktiver WiFi og I2C
Aktiver WiFi og I2C
Aktiver WiFi og I2C
Aktiver WiFi og I2C
Aktiver WiFi og I2C
  • Klik på WiFi -ikonet i øverste højre hjørne af skrivebordet, og opret forbindelse til dit WiFi -netværk.
  • I terminalen skriver du denne kommando for at hente Pi's softwarekonfigurationsværktøj:

sudo raspi-config

  • Vælg "Interfacing Options", derefter "SSH", og vælg "Yes" i bunden for at aktivere.
  • Gå tilbage til "Interfacing Options", derefter "I2C", og vælg "Yes" for at aktivere.
  • I terminalen skal du installere fjernskrivebordforbindelsessoftware:

sudo apt-get install xrdp

  • Skriv 'Y' (ja) på dit tastatur til begge prompts.
  • Find Pi's IP -adresse ved at holde musen over WiFi -forbindelsen (du vil måske også skrive den ned).
  • Skift Pi -adgangskoden med passwd -kommandoen.

Trin 6: Genstart Pi og log på eksternt

Genstart Pi og log på eksternt
Genstart Pi og log på eksternt

Vi kan nu droppe HDMI og periferiudstyr, woohoo!

  • Konfigurer en fjernskrivebordforbindelse.

    • På en pc skal du åbne Remote Desktop Connection (eller PuTTY, hvis du er tilfreds med det).
    • For Mac/Linux kan du installere dette program eller bruge et VNC -program.
  • Indtast IP'en til Pi'en, og klik på "Connect" (Ignorer advarsler om ukendt enhed).
  • Log ind på Pi ved hjælp af dine legitimationsoplysninger, og vi kører!

Trin 7: Byg det: Elektronik

Byg det: Elektronik!
Byg det: Elektronik!
Byg det: Elektronik!
Byg det: Elektronik!

De to fotos ovenfor viser det elektriske skema for dette projekt og Pi Zero Pinout. Vi skal bruge begge dele til at løse hardware -forbindelserne.

Bemærk: LIS331 breakout -kortet i skematikken er en ældre version - brug pin -etiketterne til vejledning

Trin 8: Tilslut accelerometeret til Pi's GPIO

Tilslut accelerometeret til Pi's GPIO
Tilslut accelerometeret til Pi's GPIO
Tilslut accelerometeret til Pi's GPIO
Tilslut accelerometeret til Pi's GPIO
Tilslut accelerometeret til Pi's GPIO
Tilslut accelerometeret til Pi's GPIO
  • Lodde og fjern forsigtigt enhver fluxrester på accelerometeret og Pi GPIO's header pins.
  • Tilslut derefter jumperwires mellem LIS331 breakout board og Pi mellem følgende pins:

LIS331 Breakout Board Raspberry Pi GPIO Pin

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

For at gøre det lettere at slutte sensoren til Pi Zero, blev der lavet en brugerdefineret adapter ved hjælp af en kvindelig header og jumperwires. Varmekrympning blev tilføjet efter test af forbindelserne

Trin 9: Tilføj en advarsels -LED

Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
Tilføj en advarsels -LED!
  • Lod en strømbegrænsende modstand til det negative LED -ben (kortere ben) og tilføj krympepapir (eller elektrisk tape) til isolering.
  • Brug to jumperkabler eller headerstifter til at forbinde det positive LED -ben til GPIO26 og modstanden til GND (headerpositioner henholdsvis 37 og 39).
  • Tilslut batteripakken til Pi's inputeffekt for at fuldføre opsætningen!

Trin 10: Programmer det

Programmer det!
Programmer det!

Python-koden til dette projekt er open-source! Her er et link til GitHub -depotet.

For folk, der er nye inden for programmering:

Læs programkoden og kommentarerne igennem. Ting, der er lette at ændre, er i afsnittet "Brugerparametre" øverst

For folk mere komfortable m/ de tekniske 'Deets:

Dette program initialiserer LIS331 -accelerometeret med standardindstillinger, herunder normal strømtilstand og 50Hz datahastighed. Læs LIS331 -databladet igennem, og rediger initialiseringsindstillinger efter ønske

Alle

  • Den maksimale accelerationsskala, der bruges i dette projekt, er 24G, fordi slagkraften hurtigt bliver stor!
  • Det anbefales at kommentere accelerationsudskrivningssætningerne i hovedfunktionen, når du er klar til fuld implementering.

Inden du kører programmet, skal du dobbelttjekke, at accelerometerets adresse er 0x19. Åbn terminalvinduet, og installer nogle nyttige værktøjer med denne kommando:

sudo apt-get install -y i2c-værktøjer

Kør derefter i2cdetect -programmet:

i2cdetect -y 1

Du får vist en tabel med I2C -adresser vist som vist på billedet ovenfor. Forudsat at dette er den eneste I2C -enhed, der er tilsluttet, er nummeret du ser (i dette tilfælde: 19) accelerometerets adresse! Hvis du ser et andet nummer, skal du notere og ændre i programmet (variabel addr).

Trin 11: Hurtigt overblik over programmet

Hurtigt overblik over programmet
Hurtigt overblik over programmet

Programmet læser x-, y- og z-accelerationen, beregner en g-kraft og gemmer derefter dataene i to filer (i den samme mappe som programkoden) efter behov:

  • AllSensorData.txt-giver et tidsstempel efterfulgt af g-kraften i x-, y- og z-akserne.
  • AlertData.txt - det samme som ovenfor, men kun for aflæsninger, der ligger over vores sikkerhedstærskler (absolut tærskel på 9G eller 4G i mere end 3 sekunder).

G-kræfter over vores sikkerhedstærskler tænder også vores alarm-LED og holder den tændt, indtil vi genstarter programmet. Stop programmet ved at skrive "CTRL+c" (tastaturafbrydelse) i kommandoterminalen.

Billedet ovenfor viser begge datafiler oprettet under test.

Trin 12: Test systemet

Test systemet!
Test systemet!
Test systemet!
Test systemet!

Åbn terminalvinduet, naviger til mappen, hvor du gemte programkoden ved hjælp af cd -kommandoen.

cd sti/til/mappe

Kør programmet ved hjælp af root -privilegier:

sudo python NameOfFile.py

Kontroller, at accelerationsværdierne i x, y og z-retning udskrives til terminalvinduet, er rimelige, og tænd LED-lyset, hvis g-kraften er over vores tærskler.

  • For at teste skal du rotere accelerometeret, så hver akse peger mod jorden og kontrollere, at de målte værdier enten er 1 eller -1 (svarer til acceleration på grund af tyngdekraften).
  • Ryst accelerometeret for at sikre, at målingerne stiger (tegn angiver aksens retning, vi er mest interesseret i størrelsen af aflæsningen).

Trin 13: Sikre elektriske forbindelser og installer det

Sikre elektriske forbindelser, og installer det!
Sikre elektriske forbindelser, og installer det!

Når alt fungerer korrekt, lad os sikre os, at slagkraftmonitoren faktisk kan modstå slag!

  • Brug varmekrympeslange og/eller belæg de elektriske forbindelser til accelerometeret og LED'en i epoxy.
  • For super holdbare, permanente installationer, overvej at belægge hele shebangen i epoxy: Pi Zero, LED'en og accelerometeret (men IKKE Pi -kabelstikkene eller SD -kortet).

    Advarsel! Du kan stadig få adgang til Pi og lave alle computerens ting, men et fuldt lag epoxy forhindrer brugen af GPIO -benene til fremtidige projekter. Alternativt kan du lave eller købe en brugerdefineret taske til Pi Zero, selvom du kontrollerer, om den er holdbar

Fastgør til en hjelm, din person eller en transportform som dit skateboard, cykel eller kat*!

Test fuldstændigt, at Pi'en er forsvarligt fastgjort, eller at GPIO -benene kan løsne sig og få programmet til at gå ned.

*Bemærk: Jeg ville oprindeligt skrive "bil", men regnede med, at en kollisionsstyrkeovervågning til en kat også kunne give nogle interessante data (selvfølgelig med kattens samtykke).

Trin 14: Indlejring af kredsløbet i en hjelm

Indlejring af kredsløbet i en hjelm
Indlejring af kredsløbet i en hjelm
Indlejring af kredsløbet i en hjelm
Indlejring af kredsløbet i en hjelm
Indlejring af kredsløbet i en hjelm
Indlejring af kredsløbet i en hjelm

Der er et par metoder til at integrere kredsløbet i en hjelm. Her er min tilgang til en hjelminstallation:

  • Hvis du ikke allerede har det, skal du slutte batteriet til Pi (med batteriet slukket). Fastgør accelerometeret på bagsiden af Pi med ikke -ledende isolering imellem (som bobleplast eller tyndt pakkeskum).
  • Mål dimensionerne på kombinationen Pi Zero, accelerometer, LED og batteristik. Tilføj 10% på hver side.
  • Tegn en udskæring til projektet på den ene side af hjelmen, med batteristikket vendt mod toppen af hjelmen. Skær polstring i hjelmen ud og efterlad et par millimeter (~ 1/8 tommer).
  • Placer sensoren, Pi og LED i udskæringen. Skær stykker af den overskydende hjelmpolstring eller brug emballageskum til at isolere, beskytte og holde elektronikken på plads.
  • Mål batteriets dimensioner, tilføj 10%, og følg den samme afbrydelse for batteriet. Sæt batteriet i lommen.
  • Gentag isoleringsteknikken for batteriet på den anden side af hjelmen.
  • Hold hjelmen polstring på plads med tape (dit hoved vil holde dem på plads, når du har den på).

Trin 15: Distribuer

Indsætte!
Indsætte!
Indsætte!
Indsætte!

Tænd batteriet!

Nu kan du eksternt logge ind på Pi via SSH eller fjernskrivebord og køre programmet via terminalen. Når programmet kører, begynder det at optage data.

Når du afbryder forbindelsen til dit WiFi i hjemmet, afbrydes SSH -forbindelsen, men programmet bør stadig logge data. Overvej at tilslutte Pi'en til din smartphones hotspot WiFi, eller bare log ind igen og tag dataene, når du kommer hjem.

For at få adgang til dataene skal du eksternt logge ind på Pi og læse tekstfilerne. Det aktuelle program tilføjer altid data til de eksisterende filer - hvis du vil slette data (f.eks. Fra test), skal du slette tekstfilen (via skrivebordet eller bruge kommandoen rm i terminalen) eller oprette et nyt filnavn i programmet kode (i brugerparametre).

Hvis lysdioden er tændt, slukkes det ved genstart af programmet.

Gå nu ud, have det sjovt i livet, og tjek dataene så ofte, hvis du tilfældigvis støder på noget. Forhåbentlig er det en lille bump, men i hvert fald ved du det!

Trin 16: Tilføjelse af flere funktioner

Tilføjelse af flere funktioner
Tilføjelse af flere funktioner

Leder du efter forbedringer af effektstyringsmonitoren? Det er uden for omfanget af selvstudiet, men prøv at se på nedenstående liste for ideer!

Lav en analyse af dine g-force-data i Python!

Pi Zero har Bluetooth- og WiFi -funktioner - skriv en app til at sende accelerometerdata til din smartphone! For at komme i gang er her en vejledning til en Pi Twitter Monitor.

Tilføj andre sensorer, f.eks. En temperatursensor eller en mikrofon*!

Glad bygning

*Bemærk: For at høre de hylende lyde, der er forbundet med din acceleration!: D

Anbefalede: