Sisällysluettelo:

Pelasta henkesi rakennuksen romahtamismonitorilla: 8 vaihetta
Pelasta henkesi rakennuksen romahtamismonitorilla: 8 vaihetta

Video: Pelasta henkesi rakennuksen romahtamismonitorilla: 8 vaihetta

Video: Pelasta henkesi rakennuksen romahtamismonitorilla: 8 vaihetta
Video: КАКИМ БУДЕТ PORTAL 3 2024, Heinäkuu
Anonim
Pelasta henkesi rakennuksen romahtamismonitorilla
Pelasta henkesi rakennuksen romahtamismonitorilla

Analysoi betoni-, metalli-, puurakenteita mutkien ja kulmien varalta ja varoitukset, jos ne ovat poikkeaneet alkuperäisestä asennosta.

Vaihe 1: Johdanto

Johdanto
Johdanto

Rakennustekniikan kehityksen myötä voimme tunnistaa paljon rakenteita kaikkialla. Metallirakenteet, betonipalkit, monitasoiset rakennukset ovat joitakin niistä. Lisäksi useimmat meistä ovat tottuneet pysymään rakennuksessa tai kotona suurimman osan vuorokaudesta. Mutta miten voimme taata, että rakennus on riittävän turvallinen pysyäkseen? Entä jos rakennuksessa on pieni halkeama tai liian kalteva palkki? Se vaarantaisi satoja ihmisiä.

Maanjäristykset, maaperän kovuus, tornadot ja monet muut asiat voivat vaikuttaa sisäisiin halkeamiin ja rakenteiden tai palkkien poikkeamiseen neutraalista asennosta. Useimmiten emme ole tietoisia ympäröivien rakenteiden tilanteesta. Ehkä paikka, jossa kävelemme päivittäin, on halkeillut betonipalkit ja voi romahtaa milloin tahansa. Mutta tietämättämme menemme vapaasti sisälle. Ratkaisuna tähän tarvitsemme hyvän menetelmän betonin, puun ja metallipalkkien valvontaan rakenteissa, joihin emme pääse.

Vaihe 2: Ratkaisu

Ratkaisu
Ratkaisu
Ratkaisu
Ratkaisu

"Rakenneanalysaattori" on kannettava laite, joka voidaan asentaa betonipalkkiin, metallirakenteisiin, laattoihin jne. Tämä laite mittaa kulman ja analysoi mutkia, joissa se on asennettu, ja lähettää tiedot mobiilisovellukseen Bluetoothin kautta. Tämä laite käyttää kiihtyvyysanturia/ gyroskooppia kulman mittaamiseen x-, y-, z -tasoissa ja flex -anturia mutkien seurantaan. Kaikki raakatiedot käsitellään ja tiedot lähetetään mobiilisovellukseen.

Vaihe 3: Piiri

Piiri
Piiri
Piiri
Piiri
Piiri
Piiri
Piiri
Piiri

Kerää seuraavat komponentit.

  • Arduino 101 Board
  • 2 X Flex -anturia
  • 2 x 10k vastukset

Komponenttien määrän vähentämiseksi tässä käytetään Arduino 101 -korttia, koska se sisältää kiihtyvyysmittarin ja BLE -moduulin. Flex -antureita käytetään taivutuksen mittaamiseen, koska se muuttaa sen vastusta taivutettaessa. Piiri on hyvin pieni, koska vain 2 vastusta ja 2 flex -anturia on liitettävä. Seuraavassa kaaviossa näytetään, kuinka flex -anturi liitetään Arduino -korttiin.

Yksi vastuksen nasta on kytketty Arduino -kortin A0 -nastaan. Liitä toinen flex -anturi samalla tavalla. Liitä vastus A1 -nastalla.

Kytke summeri suoraan D3- ja Gnd -nastaan.

Vaihe 4: Laitteen viimeistely

Laitteen viimeistely
Laitteen viimeistely
Laitteen viimeistely
Laitteen viimeistely

Piirin tekemisen jälkeen se on kiinnitettävä kotelon sisään. Yllä olevan 3D -mallin mukaan kaksi flex -anturia on sijoitettava kotelon vastakkaiselle puolelle. Jätä tilaa USB -portille kortin ohjelmoimiseksi ja virran saamiseksi. Koska tätä laitetta on käytettävä pitkään, paras tapa syöttää virtaa on käyttää kiinteää virtalähdettä.

Vaihe 5: Mobiilisovellus

Mobiilisovellus
Mobiilisovellus
Mobiilisovellus
Mobiilisovellus
Mobiilisovellus
Mobiilisovellus

Lataa ja asenna Blynk Android Play Kaupasta. Aloita uusi projekti Arduino 101: lle. Valitse viestintämenetelmäksi BLE. Lisää 1 pääte, 2 painiketta ja BLE käyttöliittymään. Seuraavat kuvat osoittavat käyttöliittymän tekemisen.

Vaihe 6: Blynk -kooditiedostot

Kun olet tehnyt käyttöliittymän Blynkissä, saat valtuutuskoodin. Kirjoita koodi seuraavaan kohtaan.

#include #include char auth = "**************"; // Blynk -valtuutuskoodi

WidgetTerminal -pääte (V2);

BLEPeripheral blePeripheral;

Kalibrointiprosessissa anturin nykyiset lukemat tallennetaan EEPROMiin.

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

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrointi onnistunut");

Kalibroinnin jälkeen laite vertaa poikkeamaa kynnysarvoihin ja antaa äänimerkin, jos ne ylittävät arvon.

arvot (); jos (abs (flex1-m_flx1)> 10 tai abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

ääni (summeri, 1000);

}

jos (abs (x-m_x)> 15 tai abs (y-m_y)> 15 tai abs (z-m_z)> 15) {

terminal.println ("Yli kalteva");

ääni (summeri, 1000);

}

Vaihe 7: Toimivuus

Toimivuus
Toimivuus

Kiinnitä laite kiinnitettävään rakenteeseen. Kiinnitä myös 2 flex -anturia. Syötä kortille virta USB -kaapelilla.

Avaa Blynk -käyttöliittymä. Muodosta yhteys laitteeseen koskettamalla Bluetooth -kuvaketta. Paina kalibrointipainiketta. Kalibroinnin jälkeen pääte näyttää viestin "Kalibroitu onnistuneesti". Nollaa laite. Nyt se seuraa rakennetta ja ilmoittaa summerin kautta, jos se poikkeaa muodonmuutoksista. Voit tarkistaa kulma- ja taivutusarvot milloin tahansa painamalla Tila -painiketta. Tämä saattaa näyttää pieneltä laitteelta. Mutta sen käyttö on korvaamatonta. Joskus unohdamme tarkistaa kotimme, toimistomme jne. Kunnon kiireisillä aikatauluillamme. Mutta jos on pieni ongelma, se saattaa päättyä kuten yllä oleva kuva.

Mutta tällä laitteella voidaan pelastaa satoja ihmishenkiä ilmoittamalla pienistä mutta vaarallisista ongelmista rakenteissa.

Vaihe 8: Arduino101 -kooditiedosto

#define BLYNK_PRINT -sarja

#define flex1 A0

#define flex2 A1 // Määritä flex -anturi ja summerin nastat

#määritä summeri 3

#Sisällytä "CurieIMU.h"#Sisällytä "BlynkSimpleCurieBLE.h"

#include "CurieBLE.h"

#sisältää "Wire.h"

#include "EEPROM.h"

#include "SPI.h"

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

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // muistiin tallennetut arvot

int flx1, flx2, x, y, z; // Nykyiset lukemat

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

flx1 = analoginen luku (flex1); // Hanki raakalukemat antureista

flx2 = analoginen luku (flex2);

x = CurieIMU.readAcecelerometer (X_AXIS)/100;

y = CurieIMU.readAcecelerometer (Y_AXIS)/100;

z = CurieIMU.readAcececelerometer (Z_AXIS)/100;

viive (2);

}

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

x = x/100; // Saat lukemien keskiarvot

y = y/100;

z = z/100;

}

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

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Anturin nastatilojen asettaminen

Sarja.alku (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); // Lue valmiiksi tallennetut anturien arvot EEPROMista

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

tyhjä silmukka () {Blynk.run ();

blePeripheral.poll ();

arvot ();

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

ääni (summeri, 1000);

}

jos (abs (x-m_x)> 15 tai abs (y-m_y)> 15 tai abs (z-m_z)> 15) {terminal.println ("Over Included");

ääni (summeri, 1000);

}

ääni (summeri, 0);

}

/*VO ilmaisee kalibrointitilan. Tässä tilassa anturien * arvot tallennetaan EEPROMiin

*/

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

jos (pinValue == 1) {

arvot ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrointi onnistunut");

}

}

/ * Voimme pyytää nykyisiä poikkeama -arvoja * painamalla painiketta V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

jos (pinValue == 1) {

arvot (); terminal.print ("X-kulmapoikkeama");

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

terminaali.println ();

terminal.print ("Y-kulmapoikkeama");

terminaali.jälki (abs (y-m_y));

terminaali.println ();

terminal.print ("Z-kulmapoikkeama");

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

terminaali.println ();

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

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

terminaali.println ();

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

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

terminaali.println ();

}

}

BLYNK_WRITE (V2) {

}

Suositeltava: