Taula de continguts:

Salvar la vida amb el monitor de col·lapse de l’edifici: 8 passos
Salvar la vida amb el monitor de col·lapse de l’edifici: 8 passos

Vídeo: Salvar la vida amb el monitor de col·lapse de l’edifici: 8 passos

Vídeo: Salvar la vida amb el monitor de col·lapse de l’edifici: 8 passos
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, De novembre
Anonim
Estalvieu la vostra vida amb el monitor de col·lapse de l’edifici
Estalvieu la vostra vida amb el monitor de col·lapse de l’edifici

Analitzeu les estructures de formigó, metall, fusta per a revolts i angles i alertes si s’han desviat de la posició original.

Pas 1: Introducció

Introducció
Introducció

Amb el desenvolupament del camp de l’enginyeria civil, podem identificar moltes construccions a tot arreu. Algunes d’elles són estructures metàl·liques, bigues de formigó, edificis multiplataforma. A més, la majoria de nosaltres estem acostumats a romandre en un edifici o casa durant la majoria de moments del dia. Però, com podem assegurar que l’edifici sigui prou segur per romandre? Què passa si hi ha una petita esquerda o biga inclinada al vostre edifici? Riscaria centenars de vides.

Els terratrèmols, la duresa del sòl, els tornados i moltes coses més, podrien ser factors per a les esquerdes internes i la desviació de les estructures o bigues de la posició neutra. La majoria de les vegades no som conscients de la situació de les estructures circumdants. Potser el lloc que entrem cada dia té bigues de formigó esquerdades i es pot esfondrar en qualsevol moment. Però sense saber-ho anem entrant lliurement. Com a solució per a això, necessitem un bon mètode per controlar el formigó, la fusta i les bigues metàl·liques de les construccions on no podem arribar.

Pas 2: Solució

Solució
Solució
Solució
Solució

"Structure Analyzer" és un dispositiu portàtil que es pot muntar sobre una biga de formigó, una estructura metàl·lica, lloses, etc. Aquest dispositiu mesura l'angle i analitza els revolts on està muntat i envia les dades a l'aplicació mòbil mitjançant Bluetooth. Aquest dispositiu utilitza un acceleròmetre / giroscopi per mesurar l'angle en plans x, y, z i un sensor de flexió per controlar les corbes. Es processen totes les dades en brut i la informació s’envia a l’aplicació mòbil.

Pas 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Recopileu els components següents.

  • Tauler Arduino 101
  • 2 sensors X Flex
  • 2 X 10k resistències

Per reduir el nombre de components s’utilitza la placa Arduino 101, ja que conté un acceleròmetre i un mòdul BLE. Els sensors flex s’utilitzen per mesurar la quantitat de flexió a mesura que canvia la seva resistència en doblegar-la. El circuit és molt petit ja que només calia connectar 2 resistències i 2 sensors flex. El següent diagrama mostra com connectar un sensor de flexió a la placa Arduino.

Un pin de la resistència està connectat al pin A0 de la placa Arduino. Seguiu el mateix procediment per connectar el segon sensor de flexió. Utilitzeu el pin A1 per connectar la resistència.

Connecteu el brunzidor directament al pin D3 i al pin Gnd.

Pas 4: finalització del dispositiu

Acabant el dispositiu
Acabant el dispositiu
Acabant el dispositiu
Acabant el dispositiu

Després de fer el circuit, s’ha de fixar dins d’un recinte. Segons el model 3D anterior, s'han de col·locar 2 sensors flexibles al costat oposat del recinte. Deixeu espai al port USB per programar la placa i subministrar l’energia. Com que aquest dispositiu s’ha d’utilitzar durant un llarg període, el millor mètode per subministrar energia és utilitzar un bloc d’alimentació fix.

Pas 5: aplicació mòbil

Aplicació mòbil
Aplicació mòbil
Aplicació mòbil
Aplicació mòbil
Aplicació mòbil
Aplicació mòbil

Descarregueu i instal·leu Blynk des de l'Android Play Store. Inicieu un nou projecte per a Arduino 101. Seleccioneu el mètode de comunicació com a BLE. Afegiu 1 terminal, 2 botons i BLE a la interfície. Les imatges següents mostren com crear la interfície.

Pas 6: fitxers de codi Blynk

Després de crear la interfície a Blynk, rebreu un codi d'autorització. Introduïu aquest codi al lloc següent.

#include #include char auth = "**************"; // Codi d’autorització de Blynk

Terminal WidgetTerminal (V2);

BLEPeripheral blePeripheral;

En el procés de calibratge, les lectures del sensor actual es guarden a la EEPROM.

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

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Calibració satisfactòria");

Després de calibrar-lo, el dispositiu compararà la desviació amb els valors llindars i emetrà un so al zumbador si superen el valor.

values (); if (abs (flex1-m_flx1)> 10 o abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

to (brunzidor, 1000);

}

si (abs (x-m_x)> 15 o abs (y-m_y)> 15 o abs (z-m_z)> 15) {

terminal.println ("Més inclinat");

to (brunzidor, 1000);

}

Pas 7: Funcionalitat

Funcionalitat
Funcionalitat

Enganxeu el dispositiu a l'estructura que cal controlar. Enganxeu també els 2 sensors flex. Subministreu energia a la placa mitjançant el cable USB.

Obriu la interfície de Blynk. Connecteu-vos amb el dispositiu tocant la icona Bluetooth. Premeu el botó de calibratge. Després de calibrar, el terminal mostrarà un missatge com a "Calibrat correctament". Restableix el dispositiu. Ara controlarà l'estructura i us notificarà a través del brunzidor si es desvia de deformar-se. Podeu comprovar els valors de l'angle i de la flexió en qualsevol moment prement el botó Estat. Pot semblar un dispositiu petit. Però els seus usos no tenen preu. De vegades ens oblidem de comprovar l’estat de la nostra llar, oficina, etc., amb els nostres horaris ocupats. Però si hi ha un petit problema, pot acabar com la figura anterior.

Però amb aquest dispositiu es poden salvar centenars de vides informant dels petits però perillosos problemes de les construccions.

Pas 8: fitxer de codi Arduino101

#defineix BLYNK_PRINT de sèrie

#define flex1 A0

#define flex2 A1 // Definiu el sensor de flexió i els pins del brunzidor

#define buzzer 3

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

#include "CurieBLE.h"

#include "Wire.h"

#include "EEPROM.h"

#include "SPI.h"

char auth = "**************"; // Terminal de terminal d'autorització de codi d'autorització de Blynk (V2);

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // valors guardats a la memòria

int flx1, flx2, x, y, z; // Lectures actuals

valors buits () {for (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Obteniu lectures en brut dels sensors

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS) / 100;

y = CurieIMU.readAccelerometer (Y_AXIS) / 100;

z = CurieIMU.readAccelerometer (Z_AXIS) / 100;

retard (2);

}

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

x = x / 100; // Obteniu els valors mitjans de les lectures

y = y / 100;

z = z / 100;

}

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

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Configuració dels modes de pin del sensor

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); // Llegiu els valors del sensor desats a EEPROM

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

bucle buit () {Blynk.run ();

blePeripheral.poll ();

values ();

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

to (brunzidor, 1000);

}

if (abs (x-m_x)> 15 o abs (y-m_y)> 15 o abs (z-m_z)> 15) {terminal.println ("Més inclinat");

to (brunzidor, 1000);

}

to (timbre, 0);

}

/ * VO indica el mode de calibratge. En aquest mode, els valors dels sensors * es desen a la EEPROM

*/

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

if (pinValue == 1) {

values ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Calibració satisfactòria");

}

}

/ * Podem sol·licitar els valors de desviació actuals * prement el botó V1

*/

BLYNK_WRITE (V1) {

int PinValue = param.asInt ();

if (pinValue == 1) {

values (); terminal.print ("desviació de l'angle X");

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

terminal.println ();

terminal.print ("desviació de l'angle Y");

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

terminal.println ();

terminal.print ("desviació de l'angle Z");

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

terminal.println ();

terminal.print ("desviació Flex 1");

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

terminal.println ();

terminal.print ("Desviació Flex 2");

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Recomanat: