Inhaltsverzeichnis:

Raspberry Pi Impact Force Monitor! - Gunook
Raspberry Pi Impact Force Monitor! - Gunook

Video: Raspberry Pi Impact Force Monitor! - Gunook

Video: Raspberry Pi Impact Force Monitor! - Gunook
Video: Digital Classroom, May 9 3pm CEsT 2024, November
Anonim
Image
Image
Vorgeschlagene Literatur
Vorgeschlagene Literatur

Wie viel Belastung verträgt der menschliche Körper? Ob Fußball, Klettern oder Fahrradunfall, es ist unglaublich wichtig zu wissen, wann nach einem Unfall sofort ein Arzt aufgesucht werden muss, insbesondere wenn keine offensichtlichen Anzeichen eines Traumas vorliegen. In diesem Tutorial erfahren Sie, wie Sie Ihren eigenen Aufprallmonitor bauen!

Lesezeit: ~15 min

Bauzeit: ~60-90 min

Dieses Open-Source-Projekt verwendet einen Raspberry Pi Zero W und einen LIS331-Beschleunigungsmesser, um den Benutzer vor potenziell gefährlichen G-Kräften zu überwachen und zu warnen. Selbstverständlich können Sie das System gerne an Ihre unterschiedlichen Citizen Science-Bedürfnisse anpassen und modifizieren.

Hinweis: Bauen Sie mit dem Impact Force Monitor lustige Sachen! Bitte verwenden Sie es jedoch nicht als Ersatz für eine professionelle medizinische Beratung und Diagnose. Wenn Sie das Gefühl haben, einen schweren Sturz erlitten zu haben, wenden Sie sich bitte an einen qualifizierten und lizenzierten Fachmann, um eine angemessene Behandlung zu erhalten.

Schritt 1: Empfohlene Lektüre

Um dieses Tutorial kurz und bündig zu halten (äh, so gut wie möglich), gehe ich davon aus, dass Sie mit einem funktionsfähigen Pi Zero W beginnen. Brauchen Sie Hilfe? Kein Problem! Hier ist ein vollständiges Setup-Tutorial.

Wir werden uns auch aus der Ferne (auch bekannt als drahtlos) mit dem Pi verbinden. Eine ausführlichere Übersicht über diesen Prozess finden Sie in diesem Tutorial.

**Steckst du fest oder möchtest du mehr erfahren? Hier sind einige praktische Ressourcen:**

1. Hervorragende "Erste Schritte"-Anleitung für den Pi.

2. Vollständige Anschlussanleitung für das LIS331-Beschleunigungsmesser-Breakout-Board.

3. Mehr über Beschleunigungsmesser!

4. Übersicht über die Raspberry Pi GPIO-Pins.

5. Verwenden der seriellen SPI- und I2C-Busse auf dem Pi.

6. LIS331 Datenblatt

Schritt 2: Materialien

Materialien
Materialien
Materialien
Materialien
  • Raspberry Pi Zero W Basis-Kit

    • Dieses Kit enthält Folgendes: SD-Karte mit NOOBS-Betriebssystem; USB-OTG-Kabel (microUSB auf USB-Buchse); Mini-HDMI zu HDMI; MicroUSB-Netzteil (~ 5V)
    • Außerdem empfohlen: USB-Hub
  • Raspberry Pi 3 Header-Pins

  • LIS331 Beschleunigungsmesser Breakout-Board
  • Akkupack mit MicroUSB-Anschluss
  • 5mm rote LED
  • 1k Widerstand
  • 6" Schrumpfschlauch oder Isolierband
  • Stiftleisten für Beschleunigungsmesser (4 - 8) und LED (2)
  • Überbrückungsdrähte von Buchse zu Buchse(6)

Werkzeuge

  • Lötkolben & Zubehör
  • Epoxid (oder ein anderer permanenter, nicht leitender flüssiger Klebstoff)
  • Wahrscheinlich auch Schere:)

Schritt 3: Aber warten Sie! Was ist Aufprallkraft?

Glücklicherweise ist der Begriff "Aufprallkraft" ziemlich einfach: die Kraft bei einem Aufprall. Wie die meisten Dinge erfordert die Messung jedoch eine genauere Definition. Die Gleichung für die Aufprallkraft lautet:

F = KE/d

wobei F die Aufprallkraft ist, KE die kinetische Energie (Bewegungsenergie) ist und d die Aufpralldistanz ist oder wie stark das Objekt knirscht. Es gibt zwei wichtige Erkenntnisse aus dieser Gleichung:

1. Die Aufprallkraft ist direkt proportional zur kinetischen Energie, dh die Aufprallkraft nimmt zu, wenn die kinetische Energie zunimmt.

2. Die Aufprallkraft ist umgekehrt proportional zum Aufprallabstand, dh die Aufprallkraft nimmt ab, wenn der Aufprallabstand größer wird. (Deshalb haben wir Airbags: um die Distanz unseres Aufpralls zu erhöhen.)

Die Kraft wird normalerweise in Newton (N) gemessen, aber die Aufprallkraft kann in Bezug auf eine "G-Kraft", eine Zahl, die als Vielfaches von g ausgedrückt wird, oder die Erdbeschleunigung (9,8 m/s^2) diskutiert werden. Wenn wir Einheiten der G-Kraft verwenden, messen wir die Beschleunigung eines Objekts relativ zum freien Fall in Richtung Erde.

Technisch gesehen ist g eine Beschleunigung, keine Kraft, aber es ist nützlich, wenn man über Kollisionen spricht, da Beschleunigung* den menschlichen Körper schädigt.

Für dieses Projekt verwenden wir G-Kraft-Einheiten, um festzustellen, ob ein Aufprall potenziell gefährlich ist und eine medizinische Behandlung verdient. Untersuchungen haben ergeben, dass g-Kräfte über 9G für die meisten Menschen (ohne spezielles Training) tödlich sein können und 4-6G gefährlich sein können, wenn sie länger als ein paar Sekunden aufrechterhalten werden.

Wenn wir dies wissen, können wir unseren Aufprallkraftmonitor so programmieren, dass er uns warnt, wenn unser Beschleunigungsmesser eine G-Kraft über einem dieser Schwellenwerte misst. Hurra, Wissenschaft!

Weitere Informationen finden Sie auf Wikipedia über Schlagkraft und g-Zahl!

Beschleunigung ist eine Änderung der Geschwindigkeit und/oder Richtung

Schritt 4: Konfigurieren Sie den Pi Zero W

Konfigurieren Sie den Pi Zero W
Konfigurieren Sie den Pi Zero W

Sammeln Sie Ihren Raspberry Pi Zero und Peripheriegeräte, um den Pi so zu konfigurieren, dass er kopflos ist!

  • Schließen Sie den Pi an einen Monitor und die zugehörigen Peripheriegeräte (Tastatur, Maus) an, schließen Sie das Netzteil an und melden Sie sich an.
  • Aktualisieren Sie die Software, um Ihren Pi schnell und sicher zu halten. Öffnen Sie das Terminalfenster und geben Sie diese Befehle ein:

    Geben Sie ein und geben Sie ein:

sudo apt-get update

Geben Sie ein und geben Sie ein:

sudo apt-get upgrade

Zurücksetzen:

sudo shutdown -r jetzt

Schritt 5: WLAN & I2C aktivieren

WLAN & I2C aktivieren
WLAN & I2C aktivieren
WLAN & I2C aktivieren
WLAN & I2C aktivieren
WLAN & I2C aktivieren
WLAN & I2C aktivieren
  • Klicken Sie auf das WLAN-Symbol in der oberen rechten Ecke des Desktops und stellen Sie eine Verbindung zu Ihrem WLAN-Netzwerk her.
  • Geben Sie im Terminal diesen Befehl ein, um das Software-Konfigurationstool des Pi aufzurufen:

sudo raspi-config

  • Wählen Sie "Schnittstellenoptionen", dann "SSH" und wählen Sie unten "Ja", um dies zu aktivieren.
  • Gehen Sie zurück zu „Schnittstellenoptionen“, dann „I2C“und wählen Sie „Ja“zum Aktivieren.
  • Installieren Sie im Terminal die Software für die Remote-Desktop-Verbindung:

sudo apt-get install xrdp

  • Geben Sie 'Y' (ja) auf Ihrer Tastatur in beide Eingabeaufforderungen ein.
  • Finden Sie die IP-Adresse des Pi, indem Sie mit der Maus über die WiFi-Verbindung fahren (Sie möchten sie vielleicht auch aufschreiben).
  • Ändern Sie das Passwort des Pi mit dem Befehl passwd.

Schritt 6: Starten Sie den Pi neu und melden Sie sich aus der Ferne an

Starten Sie den Pi neu und melden Sie sich aus der Ferne an
Starten Sie den Pi neu und melden Sie sich aus der Ferne an

Wir können jetzt HDMI und Peripheriegeräte ablegen, woohoo!

  • Richten Sie eine Remotedesktopverbindung ein.

    • Öffnen Sie auf einem PC die Remotedesktopverbindung (oder PuTTY, wenn Sie damit vertraut sind).
    • Für Mac/Linux können Sie dieses Programm installieren oder ein VNC-Programm verwenden.
  • Geben Sie die IP für den Pi ein und klicken Sie auf „Verbinden“(Warnungen zu unbekannten Geräten ignorieren).
  • Melden Sie sich mit Ihren Zugangsdaten beim Pi an und los geht's!

Schritt 7: Bauen Sie es: Elektronik

Bauen Sie es: Elektronik!
Bauen Sie es: Elektronik!
Bauen Sie es: Elektronik!
Bauen Sie es: Elektronik!

Die beiden obigen Fotos zeigen den Schaltplan für dieses Projekt und das Pi Zero Pinout. Wir werden beide brauchen, um die Hardwareverbindungen in Angriff zu nehmen.

Hinweis: Das Breakout-Board LIS331 im Schaltplan ist eine ältere Version – verwenden Sie die Pin-Beschriftungen zur Orientierung

Schritt 8: Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi

Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
Verbinden Sie den Beschleunigungsmesser mit dem GPIO des Pi
  • Löten und entfernen Sie vorsichtig alle Flussmittelrückstände auf dem Beschleunigungsmesser und den Kopfstiften des Pi GPIO.
  • Verbinden Sie dann die Überbrückungsdrähte zwischen der LIS331-Breakout-Platine und dem Pi zwischen den folgenden Pins:

LIS331 Breakout-Board Raspberry Pi GPIO-Pin

GND GPIO 9 (GND)

VCC-GPIO 1 (3,3 V)

SDA-GPIO 3 (SDA)

SCL-GPIO 5 (SCL)

Um den Anschluss des Sensors an den Pi Zero zu erleichtern, wurde ein benutzerdefinierter Adapter mit einer Buchsenleiste und Überbrückungsdrähten hergestellt. Nach dem Testen der Verbindungen wurde Schrumpfschlauch hinzugefügt

Schritt 9: Fügen Sie eine Warn-LED hinzu

Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
Fügen Sie eine Warn-LED hinzu!
  • Löten Sie einen Strombegrenzungswiderstand an das negative LED-Bein (kürzeres Bein) und fügen Sie Schrumpffolie (oder elektrisches Klebeband) zur Isolierung hinzu.
  • Verwenden Sie zwei Überbrückungskabel oder Header-Pins, um das positive LED-Bein mit GPIO26 und den Widerstand mit GND zu verbinden (Header-Positionen 37 bzw. 39).
  • Verbinden Sie den Akku mit der Eingangsleistung des Pi, um die Einrichtung abzuschließen!

Schritt 10: Programmieren Sie es

Programmieren Sie es!
Programmieren Sie es!

Der Python-Code für dieses Projekt ist Open Source! Hier ist ein Link zum GitHub-Repository.

Für Programmier-Neulinge:

Lesen Sie den Programmcode und die Kommentare durch. Dinge, die leicht zu ändern sind, befinden sich im Abschnitt „Benutzerparameter“oben

Für mehr Komfort mit den technischen Deets:

Dieses Programm initialisiert den Beschleunigungsmesser LIS331 mit den Standardeinstellungen, einschließlich normalem Energiemodus und 50 Hz Datenrate. Lesen Sie das LIS331-Datenblatt durch und ändern Sie die Initialisierungseinstellungen wie gewünscht

Alle

  • Die maximale Beschleunigungsskala, die in diesem Projekt verwendet wird, beträgt 24 G, da die Aufprallkraft sehr schnell groß wird!
  • Es wird empfohlen, die Beschleunigungsdruckanweisungen in der Hauptfunktion auszukommentieren, wenn Sie für die vollständige Bereitstellung bereit sind.

Bevor Sie das Programm ausführen, überprüfen Sie, ob die Adresse des Beschleunigungsmessers 0x19 lautet. Öffnen Sie das Terminalfenster und installieren Sie einige hilfreiche Tools mit diesem Befehl:

sudo apt-get install -y i2c-tools

Führen Sie dann das i2cdetect-Programm aus:

i2cdetect -y 1

Sie sehen eine Tabelle mit I2C-Adressen, die wie in der Abbildung oben gezeigt angezeigt werden. Angenommen, dies ist das einzige angeschlossene I2C-Gerät, die angezeigte Zahl (in diesem Fall: 19) ist die Adresse des Beschleunigungsmessers! Wenn Sie eine andere Nummer sehen, notieren und ändern Sie sie im Programm (Variable Adresse).

Schritt 11: Schneller Überblick über das Programm

Schneller Überblick über das Programm
Schneller Überblick über das Programm

Das Programm liest die x-, y- und z-Beschleunigung, berechnet eine g-Zahl und speichert die Daten dann entsprechend in zwei Dateien (im selben Ordner wie der Programmcode):

  • AllSensorData.txt – liefert einen Zeitstempel gefolgt von der g-Zahl in den x-, y- und z-Achsen.
  • AlertData.txt – wie oben, aber nur für Messwerte, die über unseren Sicherheitsschwellen liegen (absoluter Schwellenwert von 9G oder 4G für mehr als 3 Sekunden).

G-Kräfte oberhalb unserer Sicherheitsschwellenwerte schalten auch unsere Warn-LED ein und halten sie an, bis wir das Programm neu starten. Stoppen Sie das Programm, indem Sie im Befehlsterminal „STRG+c“(Tastaturunterbrechung) eingeben.

Das obige Foto zeigt beide Datendateien, die während des Tests erstellt wurden.

Schritt 12: Testen Sie das System

Testen Sie das System!
Testen Sie das System!
Testen Sie das System!
Testen Sie das System!

Öffnen Sie das Terminalfenster, navigieren Sie mit dem Befehl cd zu dem Ordner, in dem Sie den Programmcode gespeichert haben.

CD-Pfad/zum/Ordner

Führen Sie das Programm mit Root-Rechten aus:

sudo python NameOfFile.py

Überprüfen Sie, ob die Beschleunigungswerte in x-, y- und z-Richtung im Terminalfenster gedruckt werden, angemessen sind und schalten Sie das LED-Licht ein, wenn die g-Zahl über unseren Schwellenwerten liegt.

  • Drehen Sie zum Testen den Beschleunigungsmesser so, dass jede Achse zur Erde zeigt und prüfen Sie, ob die gemessenen Werte entweder 1 oder -1 sind (entspricht der Erdbeschleunigung).
  • Schütteln Sie den Beschleunigungsmesser, um sicherzustellen, dass die Messwerte zunehmen (das Vorzeichen zeigt die Richtung der Achse an, wir sind am meisten an der Größe des Messwerts interessiert).

Schritt 13: Elektrische Verbindungen sichern und installieren

Elektrische Verbindungen sichern und installieren!
Elektrische Verbindungen sichern und installieren!

Wenn alles richtig funktioniert, stellen wir sicher, dass der Aufprallkraftmonitor tatsächlich einem Aufprall standhält!

  • Verwenden Sie einen Schrumpfschlauch und/oder beschichten Sie die elektrischen Anschlüsse für den Beschleunigungsmesser und die LED mit Epoxid.
  • Für super haltbare, dauerhafte Installationen sollten Sie den gesamten Shebang mit Epoxidharz beschichten: den Pi Zero, die LED und den Beschleunigungsmesser (aber NICHT die Pi-Kabelanschlüsse oder die SD-Karte).

    Warnung! Sie können immer noch auf den Pi zugreifen und alle Computersachen erledigen, aber eine vollständige Epoxidbeschichtung verhindert die Verwendung der GPIO-Pins für zukünftige Projekte. Alternativ können Sie ein individuelles Gehäuse für den Pi Zero herstellen oder kaufen, jedoch auf Haltbarkeit prüfen

Sichern Sie sich an einem Helm, Ihrer Person oder einem Transportmittel wie Ihrem Skateboard, Fahrrad oder Ihrer Katze*!

Testen Sie vollständig, ob der Pi sicher befestigt ist oder sich die GPIO-Pins lösen können, was zum Absturz des Programms führt.

*Hinweis: Ursprünglich wollte ich "Auto" eingeben, dachte mir aber, dass ein Aufprallkraftmonitor für eine Katze auch einige interessante Daten liefern könnte (natürlich mit Zustimmung der Katze).

Schritt 14: Einbetten der Schaltung in einen Helm

Einbetten der Schaltung in einen Helm
Einbetten der Schaltung in einen Helm
Einbetten der Schaltung in einen Helm
Einbetten der Schaltung in einen Helm
Einbetten der Schaltung in einen Helm
Einbetten der Schaltung in einen Helm

Es gibt einige Methoden, die Schaltung in einen Helm einzubetten. Hier ist mein Ansatz für eine Helminstallation:

  • Falls noch nicht geschehen, verbinden Sie den Akku mit dem Pi (mit ausgeschaltetem Akku). Befestigen Sie den Beschleunigungsmesser an der Rückseite des Pi mit einer nichtleitenden Isolierung dazwischen (wie Luftpolsterfolie oder dünner Verpackungsschaum).
  • Messen Sie die Abmessungen der Kombination Pi Zero, Beschleunigungsmesser, LED und Batterieanschluss. Fügen Sie auf beiden Seiten 10 % hinzu.
  • Zeichnen Sie einen Ausschnitt für das Projekt auf einer Seite des Helms, wobei der Batterieanschluss zur Oberseite des Helms zeigt. Schneiden Sie die Polsterung im Helm mit wenigen Millimetern aus.
  • Platzieren Sie den Sensor, das Pi und die LED in der Aussparung. Schneiden Sie Teile der überschüssigen Helmpolsterung ab oder verwenden Sie Verpackungsschaum, um die Elektronik zu isolieren, zu schützen und an Ort und Stelle zu halten.
  • Messen Sie die Abmessungen der Batterie, addieren Sie 10 % und folgen Sie dem gleichen Ausschnitt für die Batterie. Legen Sie den Akku in die Tasche ein.
  • Wiederholen Sie die Isolationstechnik für den Akku auf der anderen Seite des Helms.
  • Halten Sie die Helmpolsterung mit Klebeband fest (Ihr Kopf hält sie an Ort und Stelle, wenn Sie ihn tragen).

Schritt 15: Bereitstellen

Einsetzen!
Einsetzen!
Einsetzen!
Einsetzen!

Schalten Sie den Akku ein!

Jetzt können Sie sich per SSH oder Remote-Desktop remote beim Pi anmelden und das Programm über das Terminal ausführen. Sobald das Programm ausgeführt wird, beginnt es mit der Datenaufzeichnung.

Wenn Sie die Verbindung zu Ihrem Heim-WLAN trennen, wird die SSH-Verbindung unterbrochen, das Programm sollte jedoch weiterhin Daten protokollieren. Erwägen Sie, den Pi mit Ihrem Smartphone-Hotspot-WLAN zu verbinden, oder melden Sie sich einfach wieder an und holen Sie sich die Daten, wenn Sie zu Hause sind.

Um auf die Daten zuzugreifen, melden Sie sich aus der Ferne am Pi an und lesen Sie die Textdateien. Das aktuelle Programm wird immer Daten an die vorhandenen Dateien anhängen – wenn Sie Daten löschen möchten (wie beim Testen), die Textdatei löschen (über den Desktop oder den Befehl rm im Terminal verwenden) oder einen neuen Dateinamen im Programm erstellen Code (in den Benutzerparametern).

Wenn die LED leuchtet, wird das Programm durch einen Neustart ausgeschaltet.

Gehen Sie jetzt los, haben Sie Spaß am Leben und überprüfen Sie die Daten von Zeit zu Zeit, wenn Sie zufällig auf etwas stoßen. Hoffentlich ist es eine kleine Beule, aber du wirst es wenigstens wissen!

Schritt 16: Weitere Funktionen hinzufügen

Hinzufügen weiterer Funktionen
Hinzufügen weiterer Funktionen

Suchen Sie nach Verbesserungen am Aufprallkraftmonitor? Es liegt außerhalb des Rahmens des Tutorials, aber schauen Sie sich die Liste unten an, um Ideen zu erhalten!

Führen Sie eine Analyse Ihrer g-Force-Daten in Python durch!

Der Pi Zero verfügt über Bluetooth- und WiFi-Funktionen – schreiben Sie eine App, um die Beschleunigungsmesserdaten an Ihr Smartphone zu senden! Um Ihnen den Einstieg zu erleichtern, finden Sie hier ein Tutorial für einen Pi Twitter Monitor.

Fügen Sie weitere Sensoren hinzu, wie einen Temperatursensor oder ein Mikrofon*!

Glückliches Bauen

*Hinweis: Um die rauschenden Geräusche zu hören, die mit Ihrer Beschleunigung verbunden sind!:D

Empfohlen: