Inhaltsverzeichnis:

Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor - Gunook
Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor - Gunook

Video: Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor - Gunook

Video: Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor - Gunook
Video: Einsturz des Sampoong Einkaufzentrums - Ganze Folge | Sekunden vor dem Unglück 2024, November
Anonim
Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor
Retten Sie Ihr Leben mit dem Gebäudeeinsturzmonitor

Analysieren Sie Beton-, Metall- und Holzkonstruktionen auf Biegungen und Winkel und warnen Sie, wenn sie von der ursprünglichen Position abgewichen sind.

Schritt 1: Einführung

Einführung
Einführung

Mit der Entwicklung des Bauingenieurwesens können wir überall viele Konstruktionen identifizieren. Metallkonstruktionen, Betonträger, Multi-Plattform-Gebäude sind einige davon. Darüber hinaus sind die meisten von uns es gewohnt, die meiste Zeit des Tages in einem Gebäude oder zu Hause zu bleiben. Aber wie können wir sicherstellen, dass das Gebäude sicher genug ist, um zu bleiben? Was ist, wenn Ihr Gebäude einen kleinen Riss oder einen zu stark geneigten Balken aufweist? Es würde Hunderte von Menschenleben riskieren.

Erdbeben, Bodenhärte, Tornados und vieles mehr können Faktoren für innere Risse und die Abweichung der Strukturen oder Balken von der neutralen Position sein. Meistens sind wir uns der Situation der umgebenden Strukturen nicht bewusst. Vielleicht hat der Ort, an dem wir jeden Tag betreten, gesprungene Betonbalken und kann jederzeit einstürzen. Aber ohne es zu wissen, gehen wir frei hinein. Als Lösung dafür brauchen wir eine gute Methode, um Beton-, Holz- und Metallträger von Konstruktionen zu überwachen, die wir nicht erreichen können.

Schritt 2: Lösung

Lösung
Lösung
Lösung
Lösung

„Structure Analyzer“ist ein tragbares Gerät, das auf Betonträgern, Metallkonstruktionen, Platten usw. montiert werden kann. Dieses Gerät misst den Winkel und analysiert Biegungen, wo es montiert ist, und sendet die Daten über Bluetooth an die mobile App. Dieses Gerät verwendet einen Beschleunigungsmesser/Gyroskop, um den Winkel in x-, y-, z-Ebenen zu messen und einen Flex-Sensor zur Überwachung der Biegungen. Alle Rohdaten werden verarbeitet und Informationen an die mobile App gesendet.

Schritt 3: Schaltung

Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis

Sammeln Sie die folgenden Komponenten.

  • Arduino 101-Platine
  • 2 X Flex-Sensoren
  • 2 x 10k Widerstände

Um die Anzahl der Komponenten zu reduzieren, wird hier das Arduino 101 Board verwendet, da es einen Beschleunigungsmesser und ein BLE-Modul enthält. Flexsensoren werden verwendet, um das Ausmaß der Biegung zu messen, wenn sich der Widerstand beim Biegen ändert. Die Schaltung ist sehr klein, da nur 2 Widerstände und 2 Flexsensoren angeschlossen werden müssen. Das folgende Diagramm zeigt, wie Sie einen Flex-Sensor an das Arduino-Board anschließen.

Ein Pin des Widerstands ist mit dem A0-Pin des Arduino-Boards verbunden. Befolgen Sie das gleiche Verfahren, um den zweiten Flexsensor anzuschließen. Verwenden Sie den A1-Pin, um den Widerstand anzuschließen.

Verbinden Sie den Summer direkt mit dem D3-Pin und dem Gnd-Pin.

Schritt 4: Fertigstellen des Geräts

Fertigstellen des Geräts
Fertigstellen des Geräts
Fertigstellen des Geräts
Fertigstellen des Geräts

Nachdem die Schaltung hergestellt wurde, muss sie in einem Gehäuse befestigt werden. Gemäß obigem 3D-Modell müssen 2 Flexsensoren auf der gegenüberliegenden Seite des Gehäuses platziert werden. Machen Sie Platz für den USB-Port, um das Board zu programmieren und die Stromversorgung zu liefern. Da dieses Gerät über einen längeren Zeitraum verwendet werden muss, ist die beste Methode zur Stromversorgung die Verwendung eines fest installierten Netzteils.

Schritt 5: Mobile App

Mobile App
Mobile App
Mobile App
Mobile App
Mobile App
Mobile App

Laden Sie Blynk aus dem Android Play Store herunter und installieren Sie es. Starten Sie ein neues Projekt für Arduino 101. Wählen Sie als Kommunikationsmethode BLE. Fügen Sie der Schnittstelle 1 Terminal, 2 Tasten und BLE hinzu. Die folgenden Bilder zeigen Ihnen, wie Sie die Schnittstelle erstellen.

Schritt 6: Blynk-Codedateien

Nachdem Sie die Schnittstelle auf Blynk erstellt haben, erhalten Sie einen Autorisierungscode. Geben Sie diesen Code an der folgenden Stelle ein.

#include #include char auth = "***************"; //Blynk-Autorisierungscode

WidgetTerminal-Terminal (V2);

BLEPeripherie blePeripherie;

Beim Kalibriervorgang werden aktuelle Sensormesswerte im EEPROM gespeichert.

Werte(); EEPROM.write(0, flx1);

EEPROM.write(1, flx2);

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Kalibrierung erfolgreich");

Nach der Kalibrierung vergleicht das Gerät die Abweichung mit den Schwellenwerten und piept den Summer, wenn sie den Wert überschreiten.

Werte(); if(abs(flex1-m_flx1)>10 oder abs(flex2-m_flx2)>10){

terminal.println("Over Bend");

Ton (Summer, 1000);

}

if(abs(x-m_x)>15 oder abs(y-m_y)>15 oder abs(z-m_z)>15){

terminal.println("Über geneigt");

Ton (Summer, 1000);

}

Schritt 7: Funktionalität

Funktionalität
Funktionalität

Kleben Sie das Gerät auf die zu überwachende Struktur. Kleben Sie auch die 2 Flexsensoren auf. Versorgen Sie das Board über das USB-Kabel mit Strom.

Öffnen Sie die Blynk-Benutzeroberfläche. Verbinden Sie sich mit dem Gerät, indem Sie das Bluetooth-Symbol berühren. Drücken Sie die Kalibrierungstaste. Nach der Kalibrierung zeigt das Terminal die Meldung „Erfolgreich kalibriert“an. Setzen Sie das Gerät zurück. Jetzt überwacht es die Struktur und benachrichtigt Sie über den Summer, wenn sie von Verformungen abweicht. Sie können die Winkel- und Biegewerte jederzeit überprüfen, indem Sie die Status-Taste drücken. Dies könnte wie ein kleines Gerät aussehen. Aber seine Verwendung ist unbezahlbar. Manchmal vergessen wir bei unserem vollen Terminkalender, den Zustand unseres Hauses, Büros usw. zu überprüfen. Aber wenn es ein kleines Problem gibt, kann es wie in der obigen Abbildung enden.

Aber mit diesem Gerät können Hunderte von Menschenleben gerettet werden, indem es die kleinen, aber gefährlichen Probleme in Konstruktionen informiert.

Schritt 8: Arduino101-Codedatei

#define BLYNK_PRINT-Seriennummer

#define flex1 A0

#define flex2 A1 //Define Flexsensor und Summerpins

#definiere Summer 3

#include "CurieIMU.h"#include "BlynkSimpleCurieBLE.h"

#include "CurieBLE.h"

#include "Wire.h"

#include "EEPROM.h"

#include "SPI.h"

char auth = "***************"; //Blynk-Autorisierungscode WidgetTerminal-Terminal (V2);

BLEPeripherie blePeripherie;

int m_flx1, m_flx2, m_x, m_y, m_z; //Werte im Speicher gespeichert

int flx1, flx2, x, y, z; //Aktuelle Messwerte

Leere Werte () { for (int i = 0; i < 100; i ++) {

flx1 = analogRead (flex1); // Rohwerte von Sensoren abrufen

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer(Z_AXIS)/100;

Verzögerung(2);

}

flx1 = flx1/100; flx2 = flx2/100;

x = x/100; // Holen Sie sich die Durchschnittswerte der Messwerte

y = y/100;

z = z/100;

}

Void setup () {//pinMode (3, AUSGANG);

pinMode (flex1, EINGANG);

pinMode (flex2, EINGANG); // Einstellen der Sensor-Pin-Modi

Serial.begin (9600);

blePeripheral.setLocalName("Arduino101Blynk"); blePeripheral.setDeviceName("Arduino101Blynk");

blePeripheral.setAppearance(384);

Blynk.begin(auth, blePeripheral);

blePeripheral.begin();

m_flx1 = EEPROM.read(0); m_flx2 = EEPROM.read(1);

m_x = EEPROM.read(2); // Vorgespeicherte Sensorwerte aus dem EEPROM lesen

m_y = EEPROM.read(3);

m_z = EEPROM.read(4);

}

Void Schleife () { Blynk.run ();

blePeripheral.poll();

Werte();

if(abs(flex1-m_flx1)>10 oder abs(flex2-m_flx2)>10){terminal.println("Over Bend");

Ton (Summer, 1000);

}

if(abs(x-m_x)>15 oder abs(y-m_y)>15 oder abs(z-m_z)>15){terminal.println("Über geneigt");

Ton (Summer, 1000);

}

Ton (Summer, 0);

}

/*VO gibt den Kalibrierungsmodus an. In diesem Modus werden die Werte der Sensoren * im EEPROM gespeichert

*/

BLYNK_WRITE (V0) {int pinValue = param.asInt();

wenn (pinValue == 1){

Werte();

EEPROM.write(0, flx1); EEPROM.write(1, flx2);

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Kalibrierung erfolgreich");

}

}

/*Wir können aktuelle Abweichungswerte anfordern * durch Drücken der Taste V1

*/

BLYNK_WRITE(V1){

int pinValue = param.asInt();

wenn (pinValue == 1){

Werte(); terminal.print("X-Winkelabweichung-");

terminal.print(abs(x-m_x));

terminal.println();

terminal.print("Y-Winkelabweichung-");

terminal.print(abs(y-m_y));

terminal.println();

terminal.print("Z-Winkelabweichung-");

terminal.print (abs (z-m_z));

terminal.println();

terminal.print("Flex 1 Abweichung-");

terminal.print (abs (flx1-m_flx1));

terminal.println();

terminal.print("Flex 2 Abweichung-");

terminal.print (abs (flx2-m_flx2));

terminal.println();

}

}

BLYNK_WRITE(V2){

}

Empfohlen: