Turinys:

Išsaugokite savo gyvybę naudodami pastato griūties monitorių: 8 žingsniai
Išsaugokite savo gyvybę naudodami pastato griūties monitorių: 8 žingsniai

Video: Išsaugokite savo gyvybę naudodami pastato griūties monitorių: 8 žingsniai

Video: Išsaugokite savo gyvybę naudodami pastato griūties monitorių: 8 žingsniai
Video: FULL BUILD | Rebuilding A DESTROYED Porsche 911 Turbo! 2024, Rugsėjis
Anonim
Išsaugokite savo gyvybę naudodami pastato žlugimo monitorių
Išsaugokite savo gyvybę naudodami pastato žlugimo monitorių

Išanalizuokite betono, metalo, medžio konstrukcijas, ar nėra lenkimų ir kampų, ir įspėjimus, jei jie nukrypo nuo pradinės padėties.

1 žingsnis: Įvadas

Įvadas
Įvadas

Vystantis civilinės inžinerijos sričiai, visur galime identifikuoti daugybę konstrukcijų. Kai kurios iš jų yra metalinės konstrukcijos, betoninės sijos, kelių platformų pastatai. Be to, dauguma iš mūsų yra įpratę likti pastate ar namuose didžiąją dienos dalį. Bet kaip galime užtikrinti, kad pastatas yra pakankamai saugus, kad liktų? Ką daryti, jei jūsų pastate yra nedidelis įtrūkimas ar perlenkta sija? Tai rizikuotų šimtais gyvybių.

Žemės drebėjimai, dirvožemio kietumas, tornadai ir daugelis kitų dalykų gali būti vidinių įtrūkimų ir konstrukcijų ar sijų nukrypimo nuo neutralios padėties veiksniai. Daugeliu atvejų mes nežinome aplinkinių struktūrų situacijos. Galbūt vieta, kurioje kasdien vaikštome, turi įtrūkusias betonines sijas ir gali bet kada sugriūti. Tačiau to nežinodami mes laisvai einame į vidų. Norėdami išspręsti šią problemą, mums reikia gero būdo stebėti betono, medžio, metalo sijas, kurių mes negalime pasiekti.

2 žingsnis: sprendimas

Sprendimas
Sprendimas
Sprendimas
Sprendimas

„Struktūros analizatorius“yra nešiojamas įrenginys, kurį galima montuoti ant betoninės sijos, metalinės konstrukcijos, plokščių ir pan. Šis prietaisas matuoja kampą ir analizuoja posūkius, kur jis yra sumontuotas, ir siunčia duomenis į programą mobiliesiems per „Bluetooth“. Šis prietaisas naudoja akselerometrą/ giroskopą kampui x, y, z plokštumose matuoti ir lenkimo jutikliui stebėti posūkius. Visi neapdoroti duomenys apdorojami ir informacija siunčiama į programą mobiliesiems.

3 žingsnis: grandinė

Grandinė
Grandinė
Grandinė
Grandinė
Grandinė
Grandinė
Grandinė
Grandinė

Surinkite šiuos komponentus.

  • „Arduino 101“lenta
  • 2 X Flex jutikliai
  • 2 X 10k rezistoriai

Siekiant sumažinti komponentų skaičių, čia naudojama „Arduino 101“plokštė, nes joje yra akselerometras ir BLE modulis. Lankstumo jutikliai naudojami lenkimo kiekiui matuoti, nes jis keičia pasipriešinimą lenkimo metu. Grandinė yra labai maža, nes reikėjo prijungti tik 2 rezistorius ir 2 lanksčius jutiklius. Šioje diagramoje parodyta, kaip prijungti lankstumo jutiklį prie „Arduino“plokštės.

Vienas rezistoriaus kaištis yra prijungtas prie „Arduino“plokštės A0 kaiščio. Atlikite tą pačią procedūrą, kad prijungtumėte antrąjį lankstumo jutiklį. Norėdami prijungti rezistorių, naudokite A1 kaištį.

Prijunkite garso signalą tiesiai prie D3 ir Gnd kaiščio.

4 žingsnis: Įrenginio apdaila

Įrenginio užbaigimas
Įrenginio užbaigimas
Įrenginio užbaigimas
Įrenginio užbaigimas

Sukūrus grandinę, ji turi būti pritvirtinta gaubto viduje. Pagal aukščiau pateiktą 3D modelį 2 lankstūs jutikliai turi būti pastatyti priešingoje korpuso pusėje. Suteikite vietos USB prievadui programuoti plokštę ir tiekti maitinimą. Kadangi šį įrenginį reikia naudoti ilgą laiką, geriausias energijos tiekimo būdas yra fiksuoto maitinimo bloko naudojimas.

5 veiksmas: programa mobiliesiems

Mobilioji programėlė
Mobilioji programėlė
Mobilioji programėlė
Mobilioji programėlė
Mobilioji programėlė
Mobilioji programėlė

Atsisiųskite ir įdiekite „Blynk“iš „Android Play“parduotuvės. Pradėkite naują „Arduino 101“projektą. Pasirinkite ryšio metodą kaip BLE. Prie sąsajos pridėkite 1 terminalą, 2 mygtukus ir BLE. Tolesniuose paveikslėliuose parodyta, kaip sukurti sąsają.

6 žingsnis: „Blynk“kodo failai

Sukūrę „Blynk“sąsają, gausite autorizacijos kodą. Įveskite šį kodą šioje vietoje.

#include #include char auth = "**************"; // Blynk autorizacijos kodas

ValdiklisTerminalo terminalas (V2);

BLEPeripheral blePeripheral;

Kalibravimo metu dabartiniai jutiklių rodmenys išsaugomi EEPROM.

vertės (); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibravimas sėkmingas");

Po kalibravimo prietaisas palygins nuokrypį su slenksčio reikšmėmis ir pypsės, kai signalas viršija vertę.

vertės (); jei (abs (flex1-m_flx1)> 10 arba abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

tonas (garsinis signalas, 1000);

}

jei (abs (x-m_x)> 15 arba abs (y-m_y)> 15 arba abs (z-m_z)> 15) {

terminal.println ("Perlenkta");

tonas (garsinis signalas, 1000);

}

7 žingsnis: funkcionalumas

Funkcionalumas
Funkcionalumas

Priklijuokite prietaisą prie konstrukcijos, kurią reikia stebėti. Taip pat priklijuokite 2 lankstumo jutiklius. Maitinkite plokštę naudodami USB kabelį.

Atidarykite „Blynk“sąsają. Prisijunkite prie įrenginio paliesdami „Bluetooth“piktogramą. Paspauskite kalibravimo mygtuką. Po kalibravimo terminalas parodys pranešimą „Sėkmingai kalibruotas“. Iš naujo nustatykite įrenginį. Dabar jis stebės struktūrą ir praneša jums per garsinį signalą, jei jis nukrypsta nuo deformacijų. Galite bet kuriuo metu patikrinti kampo ir lenkimo vertes paspausdami būsenos mygtuką. Tai gali atrodyti kaip mažas įrenginys. Tačiau jo naudojimas yra neįkainojamas. Kartais pamirštame patikrinti savo namų, biuro ir tt būklę pagal mūsų užimtumą. Bet jei yra nedidelė problema, tai gali baigtis taip, kaip parodyta aukščiau.

Tačiau naudojant šį prietaisą galima išgelbėti šimtus gyvybių, informuojant apie nedideles, tačiau pavojingas statybų problemas.

8 veiksmas: „Arduino101“kodo failas

#define BLYNK_PRINT Serialas

#define flex1 A0

#define flex2 A1 // Apibrėžkite lankstumo jutiklį ir signalų kaiščius

#apibrėžti signalą 3

#įtraukti „CurieIMU.h“#įtraukti „BlynkSimpleCurieBLE.h“

#įtraukti „CurieBLE.h“

#įtraukti „Wire.h“

#include "EEPROM.h"

#įtraukti „SPI.h“

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

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // atmintyje išsaugotos vertės

int flx1, flx2, x, y, z; // Dabartiniai rodmenys

void values () {for (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Gaukite neapdorotus rodmenis iš jutiklių

flx2 = analogRead (flex2);

x = CurieIMU.readAkcelerometras (X_AXIS)/100;

y = „CurieIMU.readAccelerometer“(Y_AXIS)/100;

z = CurieIMU.readAkcelerometras (Z_AXIS)/100;

uždelsimas (2);

}

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

x = x/100; // Gaukite vidutines rodmenų reikšmes

y = y/100;

z = z/100;

}

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

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Jutiklio kaiščio režimų nustatymas

Serial.begin (9600);

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

blePeripheral.setAppearance (384);

Blynk.begin (aut., BlePeripheral);

blePeripheral.begin ();

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

m_x = EEPROM.read (2); // Skaityti iš anksto išsaugotas jutiklio vertes iš EEPROM

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

tuštumos kilpa () {Blynk.run ();

blePeripheral.poll ();

vertės ();

if (abs (flex1-m_flx1)> 10 arba abs (flex2-m_flx2)> 10) {terminal.println ("Per lenkimą");

tonas (garsinis signalas, 1000);

}

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

tonas (garsinis signalas, 1000);

}

tonas (garsinis signalas, 0);

}

/*VO rodo kalibravimo režimą. Šiuo režimu jutiklių * vertės išsaugomos EEPROM

*/

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

if (pinValue == 1) {

vertės ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibravimas sėkmingas");

}

}

/ * Mes galime paprašyti esamų nuokrypių verčių * paspausdami mygtuką V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

if (pinValue == 1) {

vertės (); terminal.print ("X kampo nuokrypis");

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

terminal.println ();

terminal.print ("Y kampo nuokrypis-");

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

terminal.println ();

terminal.print ("Z kampo nuokrypis");

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

terminal.println ();

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

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

terminal.println ();

terminal.print ("Flex 2 nuokrypis");

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Rekomenduojamas: