Innehållsförteckning:

Raspberry Pi Impact Force Monitor !: 16 steg (med bilder)
Raspberry Pi Impact Force Monitor !: 16 steg (med bilder)

Video: Raspberry Pi Impact Force Monitor !: 16 steg (med bilder)

Video: Raspberry Pi Impact Force Monitor !: 16 steg (med bilder)
Video: IT WORKED! - 16 Hard Drives on the Raspberry Pi (Pi Day Special) 2024, September
Anonim
Image
Image
Föreslagen läsning
Föreslagen läsning

Hur stor påverkan kan människokroppen hantera? Oavsett om det är fotboll, bergsklättring eller en cykelolycka är det otroligt viktigt att veta när man ska söka läkarvård direkt efter en kollision, särskilt om det inte finns några uppenbara tecken på trauma. Denna handledning kommer att lära dig hur du bygger din egen effektkraftmonitor!

Lästid: ~ 15 min

Byggtid: ~ 60-90 min

Detta open source-projekt använder en Raspberry Pi Zero W och en LIS331-accelerometer för att övervaka och varna användaren om potentiellt farliga G-krafter. Naturligtvis kan du modifiera och anpassa systemet för att passa dina olika medborgarvetenskapliga behov.

Obs: Bygg roliga saker med Impact Force Monitor! Använd den dock inte som ett substitut för professionell medicinsk rådgivning och diagnos. Om du känner att du har tagit ett allvarligt fall, besök en kvalificerad och licensierad professionell för korrekt behandling.

Steg 1: Föreslagen läsning

För att hålla denna handledning kort och söt (eh, så mycket som möjligt) antar jag att du börjar med en funktionell Pi Zero W. Behöver du hjälp? Inga problem! Här är en fullständig installationsguide.

Vi kommer också att ansluta till Pi på distans (aka trådlöst). För en mer ingående översikt över denna process, kolla in denna handledning.

** Fastnat eller vill lära dig mer? Här är några praktiska resurser: **

1. Utmärkt "Komma igång" guide för Pi.

2. Fullständig anslutningsguide för LIS331 -accelerometerutbrottskortet.

3. Mer om accelerometrar!

4. Översikt över Raspberry Pi GPIO -stiften.

5. Använda SPI- och I2C -seriebussarna på Pi.

6. LIS331 -datablad

Steg 2: Material

Material
Material
Material
Material
  • Raspberry Pi Zero W Basic Kit

    • Detta kit innehåller följande: SD -kort med NOOBS -operativsystem; USB OTG -kabel (microUSB till USB -hona); Mini HDMI till HDMI; MicroUSB -strömförsörjning (~ 5V)
    • Rekommenderas också: USB -hubb
  • Raspberry Pi 3 Header Pins
  • LIS331 Accelerometer Breakout Board
  • Batteri med MicroUSB -kontakt
  • 5 mm röd LED
  • 1k motstånd
  • 6 "värmekrymprör eller eltejp
  • Rubrikstift för accelerometer (4-8) och LED (2)
  • Kopplingstrådar mellan kvinnor och kvinnor (6)

Verktyg

  • Lödkolv och tillbehör
  • Epoxi (eller annat permanent, icke-ledande flytande lim)
  • Förmodligen också sax:)

Steg 3: Men vänta! Vad är slagkraft?

Lyckligtvis är termen "slagkraft" ganska okomplicerad: mängden kraft i en påverkan. Liksom de flesta saker kräver mätning av det en mer exakt definition. Ekvationen för slagkraft är:

F = KE/d

där F är slagkraften, KE är den kinetiska energin (rörelseenergi), och d är slagavståndet, eller hur mycket objektet kraschar. Det finns två viktiga takeaways från denna ekvation:

1. Slagkraften är direkt proportionell mot rörelseenergin, vilket innebär att slagkraften ökar om rörelseenergin ökar.

2. Slagkraften är omvänt proportionell mot slagavståndet, vilket innebär att slagkraften minskar om stötavståndet ökar. (Det är därför vi har krockkuddar: för att öka avståndet till vår påverkan.)

Kraft mäts vanligtvis i Newton (N), men slagkraft kan diskuteras i termer av en "G-Force", ett tal uttryckt som en multipel av g, eller jordens gravitationsacceleration (9,8 m/s^2). När vi använder G-kraftenheter mäter vi ett föremåls acceleration i förhållande till fritt fall mot jorden.

Tekniskt sett är g en acceleration, inte en kraft, men den är användbar när man talar om kollisioner eftersom acceleration* är det som skadar människokroppen.

För detta projekt kommer vi att använda G-force-enheter för att avgöra om en påverkan är potentiellt farlig och förtjänar läkarvård. Forskning har visat att g-krafter över 9G kan vara dödliga för de flesta människor (utan särskild utbildning), och 4-6G kan vara farligt om de upprätthålls i mer än några sekunder.

Genom att veta detta kan vi programmera vår effektkraftmonitor för att varna oss om vår accelerometer mäter en G-kraft över någon av dessa trösklar. Hurra, vetenskap!

För mer information, läs om slagkraft och g-kraft på Wikipedia!

Acceleration är en förändring i hastighet och/eller riktning

Steg 4: Konfigurera Pi Zero W

Konfigurera Pi Zero W
Konfigurera Pi Zero W

Samla din Raspberry Pi Zero och kringutrustning för att konfigurera Pi till att vara huvudlös!

  • Anslut Pi till en bildskärm och tillhörande kringutrustning (tangentbord, mus), anslut strömförsörjningen och logga in.
  • Uppdatera programvara för att hålla din Pi snabb och säker. Öppna terminalfönstret och skriv in dessa kommandon:

    Skriv och ange:

sudo apt-get uppdatering

Skriv och ange:

sudo apt-get uppgradering

Återställa:

sudo avstängning -r nu

Steg 5: Aktivera WiFi och I2C

Aktivera WiFi och I2C
Aktivera WiFi och I2C
Aktivera WiFi och I2C
Aktivera WiFi och I2C
Aktivera WiFi och I2C
Aktivera WiFi och I2C
  • Klicka på WiFi -ikonen i det övre högra hörnet på skrivbordet och anslut till ditt WiFi -nätverk.
  • I terminalen skriver du det här kommandot för att ta fram Pi: s programvarukonfigurationsverktyg:

sudo raspi-config

  • Välj "Gränssnittsalternativ", sedan "SSH" och välj "Ja" längst ner för att aktivera.
  • Gå tillbaka till "Gränssnittsalternativ", sedan "I2C" och välj "Ja" för att aktivera.
  • I terminalen installerar du anslutningsprogram för fjärrskrivbord:

sudo apt-get install xrdp

  • Skriv "Y" (ja) på tangentbordet för båda prompten.
  • Hitta Pi: s IP -adress genom att hålla muspekaren över WiFi -anslutningen (du kanske också vill skriva ner den).
  • Ändra Pi -lösenordet med passwd -kommandot.

Steg 6: Starta om Pi och logga in på distans

Starta om Pi och logga in på distans
Starta om Pi och logga in på distans

Vi kan nu släppa HDMI och kringutrustning, woohoo!

  • Konfigurera en fjärrskrivbordsanslutning.

    • Öppna fjärrskrivbordsanslutning på en dator (eller PuTTY om du är bekväm med det).
    • För Mac/Linux kan du installera det här programmet eller använda ett VNC -program.
  • Ange IP: n för Pi och klicka på "Connect" (Ignorera varningar om okänd enhet).
  • Logga in på Pi med dina uppgifter och vi kör!

Steg 7: Bygg det: Elektronik

Bygg det: Elektronik!
Bygg det: Elektronik!
Bygg det: Elektronik!
Bygg det: Elektronik!

De två bilderna ovan visar det elektriska schemat för detta projekt och Pi Zero Pinout. Vi behöver båda för att hantera hårdvaruanslutningarna.

Obs! LIS331 -utbrottskortet i schemat är en äldre version - använd stiftetiketterna som vägledning

Steg 8: Anslut accelerometern till Pi: s GPIO

Anslut Accelerometer till Pi: s GPIO
Anslut Accelerometer till Pi: s GPIO
Anslut Accelerometer till Pi: s GPIO
Anslut Accelerometer till Pi: s GPIO
Anslut Accelerometer till Pi: s GPIO
Anslut Accelerometer till Pi: s GPIO
  • Löd och ta försiktigt bort eventuella flödesrester på accelerometern och Pi GPIO: s huvudstift.
  • Anslut sedan bygelkablar mellan LIS331 -brytkortet och Pi mellan följande stift:

LIS331 Breakout Board Raspberry Pi GPIO Pin

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

För att göra det lättare att ansluta sensorn till Pi Zero, skapades en anpassad adapter med hjälp av en hona för huvud och bygel. Värmekrympning tillsattes efter testning av anslutningarna

Steg 9: Lägg till en varningslampa

Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
Lägg till en varningslampa!
  • Löd ett strömbegränsande motstånd till det negativa LED -benet (kortare ben) och lägg till krympfolie (eller eltejp) för isolering.
  • Använd två bygelkablar eller toppar för att ansluta det positiva LED -benet till GPIO26 och motståndet till GND (sidhuvudlägen 37 respektive 39).
  • Anslut batteripaketet till Pi: s ingångseffekt för att slutföra installationen!

Steg 10: Programmera det

Programmera det!
Programmera det!

Python-koden för detta projekt är öppen källkod! Här är en länk till GitHub -förvaret.

För folk som är nya inom programmering:

Läs igenom programkoden och kommentarer. Saker som är enkla att ändra finns i avsnittet "Användarparametrar" högst upp

För folk som är mer bekväma med de tekniska "Deets:

Detta program initierar LIS331 -accelerometern med standardinställningar, inklusive normalt energiläge och 50 Hz datahastighet. Läs igenom LIS331 -databladet och ändra initialiseringsinställningarna efter önskemål

Allt

  • Den maximala accelerationsskalan som används i detta projekt är 24G, eftersom slagkraften blir stor snabbt!
  • Det rekommenderas att kommentera accelerationsutskrifterna i huvudfunktionen när du är redo för fullständig distribution.

Innan du kör programmet, dubbelkolla att accelerometerns adress är 0x19. Öppna terminalfönstret och installera några användbara verktyg med det här kommandot:

sudo apt-get install -y i2c-verktyg

Kör sedan i2cdetect -programmet:

i2cdetect -y 1

Du ser en tabell med I2C -adresser som visas på bilden ovan. Förutsatt att detta är den enda I2C -enheten som är ansluten, är numret du ser (i det här fallet: 19) accelerometeradressen! Om du ser ett annat nummer, notera och ändra i programmet (variabel addr).

Steg 11: Snabböversikt av programmet

Snabb översikt av programmet
Snabb översikt av programmet

Programmet läser x-, y- och z-accelerationen, beräknar en g-kraft och sparar sedan data i två filer (i samma mapp som programkoden) efter behov:

  • AllSensorData.txt-ger en tidsstämpel följt av g-kraften i x-, y- och z-axlarna.
  • AlertData.txt - samma som ovan men bara för avläsningar som ligger över våra säkerhetströsklar (absolut tröskel på 9G eller 4G i mer än 3 sekunder).

G-krafter över våra säkerhetsgränser kommer också att tända vår varningslampa och behålla den tills vi startar om programmet. Stoppa programmet genom att skriva "CTRL+c" (tangentbordsavbrott) i kommandoterminalen.

Bilden ovan visar båda datafilerna som skapades under testningen.

Steg 12: Testa systemet

Testa systemet!
Testa systemet!
Testa systemet!
Testa systemet!

Öppna terminalfönstret, navigera till mappen där du sparade programkoden med kommandot cd.

cd sökväg/till/mapp

Kör programmet med root -privilegier:

sudo python NameOfFile.py

Kontrollera att accelerationsvärdena i x-, y- och z-riktningen skrivs ut till terminalfönstret, är rimliga och tänd LED-lampan om g-kraften är över våra trösklar.

  • För att testa, rotera accelerometern så att varje axel pekar mot jorden och kontrollera att mätvärdena är antingen 1 eller -1 (motsvarar acceleration på grund av gravitationen).
  • Skaka accelerometern för att se till att avläsningarna ökar (tecken indikerar axelriktning, vi är mest intresserade av avläsningens storlek).

Steg 13: Säkra elektriska anslutningar och installera det

Säkra elektriska anslutningar och installera det!
Säkra elektriska anslutningar och installera det!

När allt fungerar korrekt, låt oss se till att effektkraftmonitorn faktiskt tål stötar!

  • Använd värmekrympslang och/eller täck över de elektriska anslutningarna för accelerometern och lysdioden i epoxi.
  • För superhållbara, permanenta installationer, överväga att belägga hela shebangen i epoxi: Pi Zero, LED och accelerometer (men INTE Pi -kabelanslutningarna eller SD -kortet).

    Varning! Du kan fortfarande komma åt Pi och göra alla datorsaker, men ett helt lager epoxi kommer att förhindra användningen av GPIO -stiften för framtida projekt. Alternativt kan du göra eller köpa ett anpassat fodral för Pi Zero, men kontrollera om det är hållbart

Säkra till en hjälm, din person eller ett transportsätt som din skateboard, cykel eller katt*!

Testa helt att Pi är ordentligt fastsatt eller att GPIO -stiften kan lossna och orsaka att programmet kraschar.

*Obs! Jag tänkte ursprungligen skriva "bil", men tänkte att en kollisionskontroll för en katt kan också ge några intressanta data (med kattens samtycke, förstås).

Steg 14: Bädda in kretsen i en hjälm

Inbädda kretsen i en hjälm
Inbädda kretsen i en hjälm
Inbädda kretsen i en hjälm
Inbädda kretsen i en hjälm
Inbädda kretsen i en hjälm
Inbädda kretsen i en hjälm

Det finns några metoder för att bädda in kretsen i en hjälm. Här är mitt tillvägagångssätt för en hjälminstallation:

  • Om du inte redan har anslutit batteriet till Pi (med batteriet avstängt). Fäst accelerometern på baksidan av Pi med icke -ledande isolering emellan (som bubbelplast eller tunt packskum).
  • Mät måtten på kombinationen Pi Zero, accelerometer, LED och batterikontakt. Lägg till 10% på vardera sidan.
  • Rita en utskärning för projektet på ena sidan av hjälmen, med batterikontakten vänd mot hjälmens ovansida. Klipp ut vadderingen i hjälmen och lämna några millimeter (~ 1/8 tum).
  • Placera sensorn, Pi och LED i avstängningen. Skär bitar av överskottshjälmen vaddering eller använd förpackningsskum för att isolera, skydda och hålla elektroniken på plats.
  • Mät batteriets dimensioner, lägg till 10%och följ samma avstängning för batteriet. Sätt i batteriet i fickan.
  • Upprepa isoleringstekniken för batteriet på andra sidan hjälmen.
  • Håll hjälmen vaddering på plats med tejp (ditt huvud kommer att hålla dem på plats när du bär den).

Steg 15: Distribuera

Distribuera!
Distribuera!
Distribuera!
Distribuera!

Sätt på batteriet!

Nu kan du fjärrlogga in på Pi via SSH eller fjärrskrivbord och köra programmet via terminalen. När programmet körs börjar det spela in data.

När du kopplar bort från ditt hem -WiFi bryts SSH -anslutningen, men programmet bör fortfarande logga data. Överväg att ansluta Pi till din smarttelefons hotspot WiFi, eller bara logga in igen och ta tag i data när du kommer hem.

För att komma åt data, logga in på Pi på distans och läs textfilerna. Det aktuella programmet kommer alltid att lägga till data i de befintliga filerna - om du vill radera data (som från test), ta bort textfilen (via skrivbordet eller använd kommandot rm i terminalen) eller skapa ett nytt filnamn i programmet kod (i Användarparametrar).

Om lysdioden lyser, stängs programmet av igen.

Gå nu, ha kul i livet och kolla in data då och då om du råkar stöta på något. Förhoppningsvis är det en liten bula men du vet åtminstone!

Steg 16: Lägga till fler funktioner

Lägger till fler funktioner
Lägger till fler funktioner

Letar du efter förbättringar av effektkraftmonitorn? Det ligger utanför handledningens omfattning, men försök att titta på listan nedan för idéer!

Gör en analys av dina g-force-data i Python!

Pi Zero har Bluetooth- och WiFi -funktioner - skriv en app för att skicka accelerometerdata till din smartphone! För att komma igång, här är en handledning för en Pi Twitter Monitor.

Lägg till andra sensorer, till exempel en temperatursensor eller en mikrofon*!

Glad byggnad

*Obs: För att höra de tjusande ljud som är associerade med din acceleration!: D

Rekommenderad: