INHOUDSOPGAWE:

Red u lewe met die Building Collapse Monitor: 8 stappe
Red u lewe met die Building Collapse Monitor: 8 stappe

Video: Red u lewe met die Building Collapse Monitor: 8 stappe

Video: Red u lewe met die Building Collapse Monitor: 8 stappe
Video: ВИДЕО С ПРИЗРАКОМ СТАРИННОГО ЗАМКА И ОН… /VIDEO WITH THE GHOST OF AN OLD CASTLE AND HE ... 2024, November
Anonim
Red u lewe met die Building Collapse Monitor
Red u lewe met die Building Collapse Monitor

Ontleed beton, metaal, houtstrukture vir draaie en hoeke en waarskuwings as dit van die oorspronklike posisie afgewyk het.

Stap 1: Inleiding

Inleiding
Inleiding

Met die ontwikkeling van siviele ingenieurswese kan ons oral baie konstruksies identifiseer. Metaalstrukture, betonbalke, multi-platformgeboue is 'n paar daarvan. Verder is die meeste van ons gewoond om gedurende die meeste tye van die dag in 'n gebou of huis te bly. Maar hoe kan ons verseker dat die gebou veilig genoeg is om te bly? Wat as daar 'n klein skeur of 'n te hoë balk in u gebou is? Dit sal honderde lewens in gevaar stel.

Aardbewings, grondhardheid, tornado's en vele meer kan faktore wees vir interne krake en die afwyking van die strukture of balke van die neutrale posisie. Meestal is ons nie bewus van die situasie van die omliggende strukture nie. Miskien het die plek waar ons elke dag instap, betonbalke gebars en kan dit te eniger tyd in duie stort. Maar sonder om dit te weet, gaan ons vrylik binne. As 'n oplossing hiervoor het ons 'n goeie metode nodig om beton, hout en metaalbalke van konstruksies waar ons nie kan bereik nie, te monitor.

Stap 2: Oplossing

Oplossing
Oplossing
Oplossing
Oplossing

"Structure Analyzer" is 'n draagbare toestel wat op 'n betonbalk, metaalstruktuur, blaaie, ens. Gemonteer kan word. Hierdie toestel meet die hoek en ontleed bochten waar dit gemonteer is en stuur die data na die mobiele app via Bluetooth. Hierdie toestel gebruik 'n versnellingsmeter/ gyroscoop om die hoek in x, y, z vlakke en buigsensor te meet om die draaie te monitor. Alle rou data word verwerk en inligting word na die foon gestuur.

Stap 3: Skakel

Kring
Kring
Kring
Kring
Kring
Kring
Kring
Kring

Versamel die volgende komponente.

  • Arduino 101 Board
  • 2 X Flex -sensors
  • 2 x 10k weerstande

Om die aantal komponente te verminder, word Arduino 101 -bord hier gebruik, aangesien dit 'n versnellingsmeter en 'n BLE -module bevat. Flex -sensors word gebruik om die hoeveelheid buiging te meet, aangesien dit die weerstand daarvan verander tydens buiging. Die kring is baie klein, aangesien slegs 2 weerstande en 2 buigsensors verbind moet word. Die volgende diagram toon hoe u 'n buigsensor aan die Arduino -bord kan koppel.

Een pen van die weerstand is gekoppel aan die A0 -pen van die Arduino -bord. Volg dieselfde prosedure om die tweede buigsensor aan te sluit. Gebruik die A1 -pen om die weerstand aan te sluit.

Koppel die zoemer direk aan die D3 -pen en Gnd -pen.

Stap 4: Maak die toestel klaar

Voltooi die toestel
Voltooi die toestel
Voltooi die toestel
Voltooi die toestel

Nadat u die stroombaan gemaak het, moet dit in 'n omhulsel vasgemaak word. Volgens die bogenoemde 3D -model moet 2 buigsensors aan die teenoorgestelde kant van die omhulsel geplaas word. Maak ruimte vir die USB -poort om die bord te programmeer en die krag te voorsien. Aangesien hierdie toestel vir 'n lang tydperk gebruik moet word, is die beste metode om krag te voorsien deur 'n vaste kragpakket te gebruik.

Stap 5: Mobiele app

Mobiele app
Mobiele app
Mobiele app
Mobiele app
Mobiele app
Mobiele app

Laai Blynk af en installeer dit in die Android Play Store. Begin 'n nuwe projek vir Arduino 101. Kies die kommunikasiemetode as BLE. Voeg 1 terminale, 2 knoppies en BLE by die koppelvlak. Die volgende beelde wys hoe u die koppelvlak kan maak.

Stap 6: Blynk -kode lêers

Nadat u die koppelvlak op Blynk gemaak het, ontvang u 'n magtigingskode. Voer die kode op die volgende plek in.

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

WidgetTerminal terminale (V2);

BLEPerifere blePerifere;

In die kalibrasieproses word huidige sensorlesings in die EEPROM gestoor.

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

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrasie suksesvol");

Nadat dit gekalibreer is, vergelyk die toestel die afwyking met die drempelwaardes en piep die gonser as dit die waarde oorskry.

waardes (); as (abs (flex1-m_flx1)> 10 of abs (flex2-m_flx2)> 10) {

terminal.println ("oor buiging");

toon (gonser, 1000);

}

as (abs (x-m_x)> 15 of abs (y-m_y)> 15 of abs (z-m_z)> 15) {

terminal.println ("oor skuins");

toon (gonser, 1000);

}

Stap 7: Funksionaliteit

Funksionaliteit
Funksionaliteit

Plak die toestel op die struktuur wat gemonitor moet word. Plak ook die 2 buigsensors vas. Voed die bord met die USB -kabel.

Maak die Blynk -koppelvlak oop. Koppel aan die toestel deur op die Bluetooth -ikoon te raak. Druk die kalibrasie knoppie. Nadat die terminaal gekalibreer is, sal 'n boodskap verskyn met die titel 'Suksesvol gekalibreer'. Stel die toestel terug. Nou sal dit die struktuur monitor en u deur die zoemer in kennis stel as dit van vervormings afwyk. U kan die hoek- en buigwaardes te eniger tyd kontroleer deur op die statusknoppie te druk. Dit lyk miskien na 'n klein toestel. Maar die gebruik daarvan is van onskatbare waarde. Soms vergeet ons om die toestand van ons huis, kantoor, ens. Na te gaan met ons besige skedules. Maar as daar 'n klein probleem is, kan dit eindig soos in die figuur hierbo.

Maar met hierdie toestel kan honderde lewens gered word deur die klein, maar gevaarlike probleme in konstruksies in te lig.

Stap 8: Arduino101 -kode -lêer

#define BLYNK_PRINT reeks

#definieer flex1 A0

#define flex2 A1 // Definieer flex sensor en zoemer penne

#definieer gonser 3

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

#sluit "CurieBLE.h" in

#sluit "Wire.h" in

#sluit "EEPROM.h" in

#sluit "SPI.h" in

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

BLEPerifere blePerifere;

int m_flx1, m_flx2, m_x, m_y, m_z; // waardes wat in die geheue gestoor is

int flx1, flx2, x, y, z; // Huidige lesings

leegte waardes () {vir (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Kry rou lesings van sensors

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

vertraging (2);

}

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

x = x/100; // Kry die gemiddelde waardes van die lesings

y = y/100;

z = z/100;

}

ongeldige opstelling () {// pinMode (3, OUTPUT);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Stel die sensorpenmodusse in

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); // Lees vooraf gestoorde sensorwaardes van EEPROM

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

leemte -lus () {Blynk.run ();

blePeripheral.poll ();

waardes ();

if (abs (flex1-m_flx1)> 10 of abs (flex2-m_flx2)> 10) {terminal.println ("oor buiging");

toon (gonser, 1000);

}

if (abs (x-m_x)> 15 of abs (y-m_y)> 15 of abs (z-m_z)> 15) {terminal.println ("oor skuins");

toon (gonser, 1000);

}

toon (gonser, 0);

}

/*VO dui die kalibreringsmodus aan. In hierdie modus word die waardes van sensors * in die EEPROM gestoor

*/

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

as (pinValue == 1) {

waardes ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrasie suksesvol");

}

}

/ * Ons kan huidige afwykingswaardes * aanvra deur op die knoppie V1 te druk

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

as (pinValue == 1) {

waardes (); terminal.print ("X hoekafwyking-");

terminale.afdruk (abs (x-m_x));

terminale.println ();

terminal.print ("Y hoek afwyking-");

terminale.afdruk (abs (y-m_y));

terminale.println ();

terminal.print ("Z hoekafwyking-");

terminale.afdruk (abs (z-m_z));

terminale.println ();

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

terminale.afdruk (abs (flx1-m_flx1));

terminale.println ();

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

terminale.afdruk (abs (flx2-m_flx2));

terminale.println ();

}

}

BLYNK_WRITE (V2) {

}

Aanbeveel: