Innholdsfortegnelse:

Lagre livet ditt med Building Collapse Monitor: 8 trinn
Lagre livet ditt med Building Collapse Monitor: 8 trinn

Video: Lagre livet ditt med Building Collapse Monitor: 8 trinn

Video: Lagre livet ditt med Building Collapse Monitor: 8 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Redd livet ditt med Building Collapse Monitor
Redd livet ditt med Building Collapse Monitor

Analyser betong, metall, trekonstruksjoner for bøyninger og vinkler og varsler hvis de har avviket fra den opprinnelige posisjonen.

Trinn 1: Introduksjon

Introduksjon
Introduksjon

Med utviklingen av anleggsfeltet kan vi identifisere mange konstruksjoner overalt. Metallkonstruksjoner, betongbjelker, flerplattformsbygninger er noen av dem. Videre er de fleste av oss vant til å bo i en bygning eller et hjem de fleste tider på dagen. Men hvordan kan vi sikre at bygningen er trygg nok til å bli? Hva om det er en liten sprekk eller en skrå bjelke i bygningen din? Det ville risikere hundrevis av liv.

Jordskjelv, jordhardhet, tornadoer og mange flere ting kan være faktorer for interne sprekker og avvik fra strukturene eller bjelkene fra den nøytrale posisjonen. De fleste ganger er vi ikke klar over situasjonen i de omkringliggende strukturene. Kanskje stedet vi går på hver dag har sprukne betongbjelker og kan kollapse når som helst. Men uten å vite det går vi fritt inn. Som en løsning for dette trenger vi en god metode for å overvåke betong, tre, metallbjelker av konstruksjoner der vi ikke kan nå.

Trinn 2: Løsning

Løsning
Løsning
Løsning
Løsning

"Structure Analyzer" er en bærbar enhet som kan monteres på en betongbjelke, metallkonstruksjon, plater etc. Denne enheten måler vinkelen og analyserer bøyninger der den er montert og sender dataene til mobilappen via Bluetooth. Denne enheten bruker et akselerometer/ gyroskop for å måle vinkelen i x, y, z plan og flex sensor for å overvåke svingene. Alle rådata behandles og informasjon sendes til mobilappen.

Trinn 3: Krets

Krets
Krets
Krets
Krets
Krets
Krets
Krets
Krets

Samle følgende komponenter.

  • Arduino 101 Board
  • 2 X Flex -sensorer
  • 2 X 10k motstander

For å redusere antall komponenter brukes Arduino 101 -kortet her, da det inneholder et akselerometer og en BLE -modul. Flekssensorer brukes til å måle bøyningsmengden når den endrer motstanden når den bøyes. Kretsen er veldig liten, ettersom bare 2 motstander og 2 flex -sensorer måtte kobles til. Følgende diagram viser hvordan du kobler en flex -sensor til Arduino -kortet.

En pinne på motstanden er koblet til A0 -pinnen på Arduino -kortet. Følg samme prosedyre for å koble til den andre flex -sensoren. Bruk A1 -pinnen for å koble motstanden.

Koble summeren direkte til D3 -pinnen og Gnd -pinnen.

Trinn 4: Fullfør enheten

Fullføre enheten
Fullføre enheten
Fullføre enheten
Fullføre enheten

Etter å ha laget kretsen, må den fikses inne i et kabinett. I henhold til 3D -modellen ovenfor må 2 flex -sensorer plasseres på motsatt side av kabinettet. Sett av plass til USB -porten for å programmere kortet og levere strøm. Siden denne enheten må brukes over en lengre periode, er den beste metoden for å levere strøm å bruke en fast strømforsyning.

Trinn 5: Mobilapp

Mobilapp
Mobilapp
Mobilapp
Mobilapp
Mobilapp
Mobilapp

Last ned og installer Blynk fra Android Play Store. Start et nytt prosjekt for Arduino 101. Velg kommunikasjonsmetoden som BLE. Legg til 1 terminal, 2 knapper og BLE til grensesnittet. Følgende bilder viser deg hvordan du lager grensesnittet.

Trinn 6: Blynk kodefiler

Etter å ha laget grensesnittet på Blynk vil du motta en autorisasjonskode. Skriv inn koden på følgende sted.

#include #include char auth = "***************"; // Blynk autorisasjonskode

WidgetTerminal terminal (V2);

BLEPerifert blePerifert;

I kalibreringsprosessen lagres gjeldende sensoravlesninger i EEPROM.

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

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrering vellykket");

Etter kalibrering vil enheten sammenligne avviket med terskelverdiene og pippe summer hvis de overstiger verdien.

verdier (); hvis (abs (flex1-m_flx1)> 10 eller abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

tone (summer, 1000);

}

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

terminal.println ("Over Inclined");

tone (summer, 1000);

}

Trinn 7: Funksjonalitet

Funksjonalitet
Funksjonalitet

Fest enheten til strukturen som må overvåkes. Fest de 2 flex -sensorene også. Strømforsyning til kortet ved hjelp av USB -kabelen.

Åpne Blynk -grensesnittet. Koble til enheten ved å trykke på Bluetooth -ikonet. Trykk på kalibreringsknappen. Etter kalibrering vil terminalen vise en melding som "Vellykket kalibrert." Tilbakestill enheten. Nå vil den overvåke strukturen og varsle deg gjennom summeren hvis den avviker fra deformasjoner. Du kan når som helst kontrollere vinkel- og bøyeverdiene ved å trykke på Status -knappen. Dette kan se ut som en liten enhet. Men bruken er uvurderlig. Noen ganger glemmer vi å sjekke tilstanden til hjemmet, kontoret osv. Med våre travle timeplaner. Men hvis det er et lite problem, kan det ende som på figuren ovenfor.

Men med denne enheten kan hundrevis av liv reddes ved å informere de små, men farlige problemene i konstruksjoner.

Trinn 8: Arduino101 kodefil

#define BLYNK_PRINT Serial

#define flex1 A0

#define flex2 A1 // Definer flex sensor og summer pins

#define summer 3

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

#include "CurieBLE.h"

#inkludere "Wire.h"

#include "EEPROM.h"

#inkludere "SPI.h"

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

BLEPerifert blePerifert;

int m_flx1, m_flx2, m_x, m_y, m_z; // verdier lagret i minnet

int flx1, flx2, x, y, z; // Gjeldende avlesninger

ugyldige verdier () {for (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Få rå avlesninger fra sensorer

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

forsinkelse (2);

}

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

x = x/100; // Få gjennomsnittsverdiene for avlesningene

y = y/100;

z = z/100;

}

ugyldig oppsett () {// pinMode (3, OUTPUT);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Stille inn sensorpinnmodusene

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); // Les forhånds lagrede sensorverdier fra EEPROM

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

void loop () {Blynk.run ();

blePeripheral.poll ();

verdier ();

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

tone (summer, 1000);

}

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

tone (summer, 1000);

}

tone (summer, 0);

}

/*VO angir kalibreringsmodus. I denne modusen blir verdiene til sensorer * lagret i EEPROM

*/

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

hvis (pinValue == 1) {

verdier ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrering vellykket");

}

}

/ * Vi kan be om gjeldende avviksverdier * ved å trykke på knappen V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

hvis (pinValue == 1) {

verdier (); terminal.print ("X vinkelavvik-");

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

terminal.println ();

terminal.print ("Y vinkelavvik-");

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

terminal.println ();

terminal.print ("Z vinkelavvik-");

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

terminal.println ();

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

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

terminal.println ();

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

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Anbefalt: