Innehållsförteckning:

Rädda ditt liv med Building Collapse Monitor: 8 steg
Rädda ditt liv med Building Collapse Monitor: 8 steg

Video: Rädda ditt liv med Building Collapse Monitor: 8 steg

Video: Rädda ditt liv med Building Collapse Monitor: 8 steg
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, November
Anonim
Rädda ditt liv med Building Collapse Monitor
Rädda ditt liv med Building Collapse Monitor

Analysera betong, metall, träkonstruktioner för böjningar och vinklar och varningar om de har avvikit från den ursprungliga positionen.

Steg 1: Introduktion

Introduktion
Introduktion

Med utvecklingen av anläggningsområdet kan vi identifiera många konstruktioner överallt. Metallkonstruktioner, betongbjälkar, flerplattformsbyggnader är några av dem. Vidare är de flesta av oss vana att bo i en byggnad eller hem under de flesta tider på dygnet. Men hur kan vi försäkra oss om att byggnaden är tillräckligt säker för att stanna? Vad händer om det finns en liten spricka eller överlutande balk i din byggnad? Det skulle riskera hundratals liv.

Jordbävningar, jordhårdhet, tornado och många fler saker kan vara faktorer för inre sprickor och avvikelser från strukturerna eller strålarna från neutralläget. Oftast är vi inte medvetna om situationen för de omgivande strukturerna. Kanske har platsen varje dag vi går på spruckna betongbjälkar och kan kollapsa när som helst. Men utan att veta det går vi fritt in. Som en lösning för detta behöver vi en bra metod för att övervaka betong, trä, metallbjälkar av konstruktioner där vi inte kan nå.

Steg 2: Lösning

Lösning
Lösning
Lösning
Lösning

"Strukturanalysator" är en bärbar enhet som kan monteras på en betongbalk, metallkonstruktion, plattor etc. Denna enhet mäter vinkeln och analyserar böjar där den är monterad och skickar data till mobilappen via Bluetooth. Denna enhet använder en accelerometer/ gyroskop för att mäta vinkeln i x, y, z -plan och flex -sensor för att övervaka böjningarna. All rådata behandlas och information skickas till mobilappen.

Steg 3: Krets

Krets
Krets
Krets
Krets
Krets
Krets
Krets
Krets

Samla följande komponenter.

  • Arduino 101 Board
  • 2 X Flex -sensorer
  • 2 X 10k motstånd

För att minska antalet komponenter används Arduino 101 -kortet här eftersom det innehåller en accelerometer och en BLE -modul. Flexsensorer används för att mäta mängden böjning eftersom den ändrar dess motstånd vid böjning. Kretsen är mycket liten eftersom endast 2 motstånd och 2 flexsensorer behövde anslutas. Följande diagram visar hur du ansluter en flex -sensor till Arduino -kortet.

Ett stift på motståndet är anslutet till A0 -stiftet på Arduino -kortet. Följ samma procedur för att ansluta den andra flexsensorn. Använd A1 -stift för att ansluta motståndet.

Anslut summern direkt till D3 -stiftet och Gnd -stiftet.

Steg 4: Avsluta enheten

Avsluta enheten
Avsluta enheten
Avsluta enheten
Avsluta enheten

Efter att ha gjort kretsen måste den fixas inuti ett hölje. Enligt 3D -modellen ovan måste 2 flex -sensorer placeras på den motsatta sidan av höljet. Ta plats för USB -porten för att programmera kortet och leverera ström. Eftersom den här enheten måste användas under en lång period är det bästa sättet att leverera ström att använda ett fast kraftpaket.

Steg 5: Mobilapp

Mobilapp
Mobilapp
Mobilapp
Mobilapp
Mobilapp
Mobilapp

Ladda ner och installera Blynk från Android Play Store. Starta ett nytt projekt för Arduino 101. Välj kommunikationsmetod som BLE. Lägg till 1 terminal, 2 knappar och BLE till gränssnittet. Följande bilder visar hur du gör gränssnittet.

Steg 6: Blynk kodfiler

Efter att ha gjort gränssnittet på Blynk får du en auktoriseringskod. Ange koden på följande plats.

#include #include char auth = "***************"; // Blynk Authorization Code

WidgetTerminal terminal (V2);

BLEPeriferal blePerifer;

I kalibreringsprocessen sparas nuvarande sensoravläsningar i EEPROM.

värden (); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrering framgångsrik");

Efter kalibrering kommer enheten att jämföra avvikelsen med tröskelvärdena och pipa summern om de överskrider värdet.

värden (); if (abs (flex1-m_flx1)> 10 eller abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

ton (summer, 1000);

}

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

terminal.println ("Över lutande");

ton (summer, 1000);

}

Steg 7: Funktionalitet

Funktionalitet
Funktionalitet

Fäst enheten på strukturen som behövdes övervakas. Stick fast de 2 flex -sensorerna också. Mata strömmen till kortet med USB -kabeln.

Öppna Blynk -gränssnittet. Anslut till enheten genom att trycka på Bluetooth -ikonen. Tryck på kalibreringsknappen. Efter kalibrering visar terminalen ett meddelande som "framgångsrikt kalibrerad". Återställ enheten. Nu kommer den att övervaka strukturen och meddela dig genom summern om den avviker från deformationer. Du kan när som helst kontrollera vinkel- och böjvärdena genom att trycka på knappen Status. Det här kan se ut som en liten enhet. Men dess användning är ovärderlig. Ibland glömmer vi att kontrollera tillståndet i vårt hem, kontor etc, med våra upptagna scheman. Men om det finns ett litet problem kan det sluta som i figuren ovan.

Men med den här enheten kan hundratals liv räddas genom att informera de små men farliga problemen i konstruktioner.

Steg 8: Arduino101 kodfil

#define BLYNK_PRINT Serial

#define flex1 A0

#define flex2 A1 // Definiera flexsensor och summernålar

#define summer 3

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

#inkludera "CurieBLE.h"

#inkludera "Wire.h"

#inkludera "EEPROM.h"

#inkludera "SPI.h"

char auth = "**************"; // Blynk Authorization Code WidgetTerminal terminal (V2);

BLEPeriferal blePerifer;

int m_flx1, m_flx2, m_x, m_y, m_z; // värden sparade i minnet

int flx1, flx2, x, y, z; // Aktuella avläsningar

ogiltiga värden () {för (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Få råa avläsningar från sensorer

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

fördröjning (2);

}

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

x = x/100; // Få medelvärdena för avläsningarna

y = y/100;

z = z/100;

}

void setup () {// pinMode (3, OUTPUT);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Inställning av sensorstiftlägen

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); // Läs försparade sensorvärden från EEPROM

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

void loop () {Blynk.run ();

blePeripheral.poll ();

värden ();

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

ton (summer, 1000);

}

if (abs (x-m_x)> 15 eller abs (y-m_y)> 15 eller abs (z-m_z)> 15) {terminal.println ("Over Inclined");

ton (summer, 1000);

}

ton (summer, 0);

}

/*VO anger kalibreringsläget. I detta läge sparas värdena för sensorer * i EEPROM

*/

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

if (pinValue == 1) {

värden ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrering framgångsrik");

}

}

/ * Vi kan begära aktuella avvikelser * genom att trycka på knappen V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

if (pinValue == 1) {

värden (); terminal.print ("X vinkelavvikelse-");

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

terminal.println ();

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

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

terminal.println ();

terminal.print ("Z vinkelavvikelse-");

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

terminal.println ();

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

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

terminal.println ();

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

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Rekommenderad: