Innholdsfortegnelse:
- Trinn 1: Foreslått lesing
- Trinn 2: Materialer
- Trinn 3: Men vent! Hva er slagkraft?
- Trinn 4: Konfigurer Pi Zero W
- Trinn 5: Aktiver WiFi og I2C
- Trinn 6: Start Pi på nytt og logg på eksternt
- Trinn 7: Bygg det: Elektronikk
- Trinn 8: Koble akselerometeret til Pi's GPIO
- Trinn 9: Legg til en varsel -LED
- Trinn 10: Programmer det
- Trinn 11: Rask oversikt over programmet
- Trinn 12: Test systemet
- Trinn 13: Sikre elektriske tilkoblinger og installer den
- Trinn 14: Legge inn kretsen i en hjelm
- Trinn 15: Distribuer
- Trinn 16: Legge til flere funksjoner
Video: Raspberry Pi Impact Force Monitor !: 16 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Hvor stor påvirkning kan menneskekroppen håndtere? Enten det er fotball, fjellklatring eller en sykkelulykke, er det utrolig viktig å vite når man skal søke øyeblikkelig legehjelp etter en kollisjon, spesielt hvis det ikke er åpenbare tegn på traumer. Denne opplæringen vil lære deg hvordan du bygger din egen slagkraftmonitor!
Lesetid: ~ 15 min
Byggetid: ~ 60-90 min
Dette åpen kildekode-prosjektet bruker en Raspberry Pi Zero W og et LIS331-akselerometer for å overvåke og varsle brukeren om potensielt farlige G-krefter. Selvfølgelig, gjerne endre og tilpasse systemet for å passe dine ulike innbyggervitenskapelige behov.
Merk: Bygg morsomme ting med Impact Force Monitor! Imidlertid, ikke bruk det som en erstatning for profesjonell medisinsk råd og diagnose. Hvis du føler at du har tatt et alvorlig fall, kan du gå til en kvalifisert og lisensiert profesjonell for riktig behandling.
Trinn 1: Foreslått lesing
For å holde denne opplæringen kort og søt (er, vel, så mye som mulig), antar jeg at du starter med en funksjonell Pi Zero W. Trenger du litt hjelp? Ikke noe problem! Her er en full oppsettopplæring.
Vi vil også koble til Pi eksternt (aka trådløst). For en mer grundig oversikt over denne prosessen, sjekk ut denne opplæringen.
** Fast eller vil du lære mer? Her er noen nyttige ressurser: **
1. Utmerket "Komme i gang" guide for Pi.
2. Full tilkoblingsguide for LIS331 akselerometerutbruddstavle.
3. Mer om akselerometre!
4. Oversikt over Raspberry Pi GPIO -pinnene.
5. Bruke SPI og I2C seriebusser på Pi.
6. LIS331 Dataark
Trinn 2: Materialer
-
Raspberry Pi Zero W Basic Kit
- Dette settet inneholder følgende: SD -kort m/ NOOBS -operativsystem; USB OTG -kabel (microUSB til USB -hunn); Mini HDMI til HDMI; MicroUSB strømforsyning (~ 5V)
- Anbefales også: USB -hub
- Raspberry Pi 3 Header Pins
- LIS331 Accelerometer Breakout Board
- Batteripakke m/ MicroUSB -kontakt
- 5 mm rød LED
- 1k motstand
- 6 "varmekrympeslange eller elektrisk tape
- Toppstifter for akselerometer (4-8) og LED (2)
- Jumper-ledninger til kvinner (6)
Verktøy
- Loddejern og tilbehør
- Epoxy (eller annet permanent, ikke-ledende flytende lim)
- Sannsynligvis også saks:)
Trinn 3: Men vent! Hva er slagkraft?
Heldigvis er begrepet "slagkraft" ganske enkelt: mengden kraft i en påvirkning. Som de fleste ting krever måling av det en mer presis definisjon. Ligningen for slagkraft er:
F = KE/d
hvor F er slagkraften, KE er den kinetiske energien (bevegelsesenergi), og d er slagavstanden, eller hvor mye objektet knaser. Det er to viktige takeaways fra denne ligningen:
1. Slagkraften er direkte proporsjonal med den kinetiske energien, noe som betyr at slagkraften øker hvis den kinetiske energien øker.
2. Slagkraften er omvendt proporsjonal med støteavstanden, noe som betyr at slagkraften avtar hvis støteavstanden øker. (Det er derfor vi har kollisjonsputer: for å øke avstanden til påvirkningen vår.)
Kraft måles vanligvis i Newton (N), men slagkraft kan diskuteres i form av en "G-Force", et tall uttrykt som et multiplum av g, eller jordens gravitasjonsakselerasjon (9,8 m/s^2). Når vi bruker G-kraftenheter, måler vi objektets akselerasjon i forhold til fritt fall mot jorden.
Teknisk sett er g en akselerasjon, ikke en kraft, men den er nyttig når vi snakker om kollisjoner fordi akselerasjon* er det som skader menneskekroppen.
For dette prosjektet bruker vi G-force-enheter for å avgjøre om en påvirkning er potensielt farlig og fortjener legehjelp. Forskning har funnet ut at g-krefter over 9G kan være dødelig for de fleste mennesker (uten spesiell opplæring), og 4-6G kan være farlig hvis de opprettholdes i mer enn noen få sekunder.
Når vi vet dette, kan vi programmere vår effektkraftmonitor for å varsle oss om akselerometeret vårt måler en G-kraft over noen av disse tersklene. Hurra, vitenskap!
For mer informasjon, les om slagkraft og g-kraft på Wikipedia!
Akselerasjon er en endring i hastighet og/eller retning
Trinn 4: Konfigurer Pi Zero W
Samle din Raspberry Pi Zero og eksterne enheter for å konfigurere Pi til å være hodeløs!
- Koble Pi til en skjerm og tilhørende eksterne enheter (tastatur, mus), koble til strømforsyningen og logg inn.
-
Oppdater programvare for å holde Pi rask og sikker. Åpne terminalvinduet og skriv inn disse kommandoene:
Skriv inn og skriv inn:
sudo apt-get oppdatering
Skriv inn og skriv inn:
sudo apt-get oppgradering
Nullstille:
sudo shutdown -r nå
Trinn 5: Aktiver WiFi og I2C
- Klikk på WiFi -ikonet øverst til høyre på skrivebordet og koble til WiFi -nettverket.
- I terminalen skriver du denne kommandoen for å hente Pi's Software Configuration Tool:
sudo raspi-config
- Velg "Grensesnittalternativer", deretter "SSH", og velg "Ja" nederst for å aktivere.
- Gå tilbake til "Grensesnittalternativer", deretter "I2C", og velg "Ja" for å aktivere.
- Installer programvaren for tilkobling til eksternt skrivebord på terminalen:
sudo apt-get install xrdp
- Skriv 'Y' (ja) på tastaturet til begge meldingene.
- Finn Pi -IP -adressen ved å holde musepekeren over WiFi -tilkoblingen (du vil kanskje også skrive den ned).
- Endre Pi -passordet med passwd -kommandoen.
Trinn 6: Start Pi på nytt og logg på eksternt
Vi kan nå droppe HDMI og eksterne enheter, woohoo!
-
Sett opp en ekstern skrivebordstilkobling.
- På en PC, åpne Remote Desktop Connection (eller PuTTY hvis du er fornøyd med det).
- For Mac/Linux kan du installere dette programmet eller bruke et VNC -program.
- Skriv inn IP -en for Pi og klikk "Koble til" (Ignorer advarsler om ukjent enhet).
- Logg deg på Pi ved å bruke legitimasjonen din, og vi går!
Trinn 7: Bygg det: Elektronikk
De to bildene ovenfor viser det elektriske skjemaet for dette prosjektet og Pi Zero Pinout. Vi trenger begge for å håndtere maskinvaretilkoblingene.
Merk: LIS331 breakout board i skjematikken er en eldre versjon - bruk pin -etikettene for veiledning
Trinn 8: Koble akselerometeret til Pi's GPIO
- Lodd og fjern forsiktig eventuelle fluksrester på akselerometeret og Pi GPIOs toppnål.
- Koble deretter jumperledninger mellom LIS331 breakout -kortet og Pi mellom følgende pinner:
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 å gjøre det enklere å koble sensoren til Pi Zero, ble det laget en tilpasset adapter ved hjelp av en kvinnelig topp- og jumperledning. Varmekrymping ble tilsatt etter testing av tilkoblingene
Trinn 9: Legg til en varsel -LED
- Lodd en strømbegrensende motstand til det negative LED -benet (kortere ben) og legg til krympevern (eller elektrisk tape) for isolasjon.
- Bruk to startkabler eller toppnål for å koble det positive LED -beinet til GPIO26 og motstanden til GND (topplasser 37 og 39).
- Koble batteripakken til Pi -inngangen for å fullføre oppsettet!
Trinn 10: Programmer det
Python-koden for dette prosjektet er åpen kildekode! Her er en lenke til GitHub -depotet.
For folk som er nye i programmering:
Les gjennom programkoden og kommentarer. Ting som er enkle å endre er i delen "Brukerparametere" øverst
For folk som er mer komfortable med de tekniske "deets:
Dette programmet initialiserer LIS331 -akselerometeret med standardinnstillinger, inkludert normal strømmodus og 50Hz datahastighet. Les gjennom LIS331 -databladet og endre initialiseringsinnstillingene etter ønske
Alle
- Den maksimale akselerasjonsskalaen som brukes i dette prosjektet er 24G, fordi slagkraften blir stor raskt!
- Det anbefales å kommentere akselerasjonsutskriftsuttalelsene i hovedfunksjonen når du er klar for full distribusjon.
Før du kjører programmet, må du dobbeltsjekke at akselerometerets adresse er 0x19. Åpne terminalvinduet og installer noen nyttige verktøy med denne kommandoen:
sudo apt-get install -y i2c-tools
Kjør deretter i2cdetect -programmet:
i2cdetect -y 1
Du vil se en tabell med I2C -adresser som vist på bildet ovenfor. Forutsatt at dette er den eneste I2C -enheten som er tilkoblet, er nummeret du ser (i dette tilfellet: 19) akselerometeradressen! Hvis du ser et annet nummer, må du notere og endre i programmet (variabel addr).
Trinn 11: Rask oversikt over programmet
Programmet leser x-, y- og z-akselerasjonen, beregner en g-kraft og lagrer deretter dataene i to filer (i samme mappe som programkoden) etter behov:
- AllSensorData.txt-gir et tidsstempel etterfulgt av g-kraften i x-, y- og z-aksene.
- AlertData.txt - samme som ovenfor, men bare for avlesninger som er over våre sikkerhetsterskler (absolutt terskel på 9G eller 4G i mer enn 3 sekunder).
G-krefter over våre sikkerhetsterskler vil også slå på varsellampen og holde den på til vi starter programmet på nytt. Stopp programmet ved å skrive "CTRL+c" (tastaturavbrudd) i kommandoterminalen.
Bildet ovenfor viser begge datafiler som ble opprettet under testing.
Trinn 12: Test systemet
Åpne terminalvinduet, naviger til mappen der du lagret programkoden ved hjelp av cd -kommandoen.
cd -bane/til/mappe
Kjør programmet ved hjelp av rotrettigheter:
sudo python NameOfFile.py
Kontroller at akselerasjonsverdiene i x-, y- og z-retningen skrives ut til terminalvinduet, er rimelige, og slå på LED-lyset hvis g-kraften er over tersklene våre.
- For å teste, roter akselerometeret slik at hver av aksene peker mot jorden og kontroller at måleverdiene enten er 1 eller -1 (tilsvarer akselerasjon på grunn av tyngdekraften).
- Rist akselerometeret for å sikre at avlesningene øker (tegn indikerer aksens retning, vi er mest interessert i størrelsen på avlesningen).
Trinn 13: Sikre elektriske tilkoblinger og installer den
Når alt fungerer som det skal, må vi sørge for at slagkraftmonitoren faktisk tåler støt!
- Bruk varmekrympeslange og/eller beleg de elektriske tilkoblingene for akselerometeret og LED -en i epoxy.
-
For super holdbare, permanente installasjoner, bør du vurdere å belegge hele shebangen i epoxy: Pi Zero, LED og akselerometer (men IKKE Pi -kabelkontaktene eller SD -kortet).
Advarsel! Du kan fortsatt få tilgang til Pi og gjøre alle datamaskinene, men et fullt lag epoxy forhindrer bruk av GPIO -pinnene for fremtidige prosjekter. Alternativt kan du lage eller kjøpe et tilpasset etui til Pi Zero, men sjekk om det er holdbart
Fest til en hjelm, din person eller en transportform som skateboard, sykkel eller katt*!
Test fullt ut at Pi er godt festet eller GPIO -pinnene kan løsne og forårsake at programmet krasjer.
*Merk: Jeg mente opprinnelig å skrive "bil", men tenkte at en kollisjonskontroll for en katt også kunne gi noen interessante data (med kattens samtykke, selvfølgelig).
Trinn 14: Legge inn kretsen i en hjelm
Det er noen metoder for å bygge kretsen inn i en hjelm. Her er min tilnærming til en hjelminstallasjon:
- Hvis du ikke allerede har det, kobler du batteriet til Pi (med batteriet av). Fest akselerometeret på baksiden av Pi med ikke -ledende isolasjon mellom (som bobleplast eller tynt pakkeskum).
- Mål dimensjonene til kombinasjonen Pi Zero, akselerometer, LED og batterikontakt. Legg til 10% på hver side.
- Tegn et utsnitt for prosjektet på den ene siden av hjelmen, med batterikontakten vendt mot toppen av hjelmen. Klipp ut polstringen i hjelmen og la det ligge noen få millimeter (~ 1/8 tommer).
- Plasser sensoren, Pi og LED i utsnittet. Klipp biter av overflødig hjelmpolstring eller bruk emballasjeskum for å isolere, beskytte og holde elektronikken på plass.
- Mål batteriets dimensjoner, legg til 10%, og følg den samme utkoblingen for batteriet. Sett batteriet inn i lommen.
- Gjenta isolasjonsteknikken for batteriet på den andre siden av hjelmen.
- Hold hjelmen på plass med tape (hodet ditt holder dem på plass når du bruker den).
Trinn 15: Distribuer
Slå på batteripakken!
Nå kan du eksternt logge på Pi via SSH eller eksternt skrivebord og kjøre programmet via terminalen. Når programmet er i gang, begynner det å registrere data.
Når du kobler fra WiFi -hjemmet ditt, vil SSH -tilkoblingen brytes, men programmet bør fortsatt logge data. Vurder å koble Pi til smarttelefonens hotspot WiFi, eller bare logg inn igjen og ta tak i dataene når du kommer hjem.
For å få tilgang til dataene, logg eksternt på Pi og les tekstfilene. Det gjeldende programmet vil alltid legge til data i de eksisterende filene - hvis du vil slette data (som fra testing), slett tekstfilen (via skrivebordet eller bruk rm -kommandoen i terminalen) eller opprett et nytt filnavn i programmet kode (i brukerparametere).
Hvis LED -lampen lyser, slås det av på nytt ved å starte programmet på nytt.
Gå videre, ha det gøy i livet, og sjekk dataene så ofte hvis du støter på noe. Forhåpentligvis er det en liten bump, men du vet i det minste!
Trinn 16: Legge til flere funksjoner
Leter du etter forbedringer av effektkraftmonitoren? Det er utenfor omfanget av opplæringen, men prøv å se på listen nedenfor for ideer!
Gjør noen analyse av g-force-dataene dine i Python!
Pi Zero har Bluetooth- og WiFi -funksjoner - skriv en app for å sende akselerometerdataene til smarttelefonen din! For å komme i gang, her er en opplæring for en Pi Twitter Monitor.
Legg til andre sensorer, for eksempel en temperatursensor eller en mikrofon*!
Lykke til med bygningen
*Merk: For å høre de hylende lydene som er forbundet med akselerasjonen din!: D
Anbefalt:
"Space Impact" -spill med gyrosensor og Nokia 5110 LCD: 3 trinn
"Space Impact" -spill med gyrosensor og Nokia 5110 LCD: Etter at Tamagotchi døde (siste prosjekt), begynte jeg å lete etter en ny måte å kaste bort tiden min på. Jeg bestemte meg for å programmere det klassiske spillet "Space Impact" på Arduino. For å gjøre spillet litt mer interessant og morsomt, brukte jeg en gyroskopsensor jeg hadde
Jedi Force: 7 trinn (med bilder)
Jedi Force: Yoda er min mentor, han er klok. Jeg prøver ikke å etterligne ham, i det minste bevisst (se bilder), men noen sammenlignet meg en gang med ham. Denne Lazy Old Geek (L.O.G.) er interessert i hjernebølger, men selv kommersielle EEG (elektroencefalogram) er ganske
Impact Recorder for Vehicles: 18 Steps (med bilder)
Impact Recorder for Vehicles: Impact Recorder er designet for å registrere påvirkning påført kjøretøy mens du kjører eller står stille. Virkningen lagres i databasen i form av avlesninger, så vel som video/bilde. Ekstern bruker kan bli verifisert i sanntid, og ekstern
Edison Head Impact System: 6 trinn
Edison Head Impact System: Målet med dette prosjektet var å lage en enhet som overvåker intensiteten av hodestøt og oppdager støt som har stor sannsynlighet for å produsere hjernerystelse. I ungdomsfotball kan dette medisinske utstyret være et ekstra sett med øyne
DIY Force Sensitive Resistor (FSR): 5 trinn (med bilder)
DIY Force Sensitive Resistor (FSR): Lag en kraftfølsom motstand (en trykksensor) med reservedeler i stedet for å bruke $ 5 - $ 20 hver