Inhoudsopgave:

Red uw leven met de instortingsmonitor voor gebouwen: 8 stappen
Red uw leven met de instortingsmonitor voor gebouwen: 8 stappen

Video: Red uw leven met de instortingsmonitor voor gebouwen: 8 stappen

Video: Red uw leven met de instortingsmonitor voor gebouwen: 8 stappen
Video: Als Dit Niet Was Gefilmd Zou Niemand Het Geloven 2024, November
Anonim
Red uw leven met de instortingsmonitor voor gebouwen
Red uw leven met de instortingsmonitor voor gebouwen

Analyseer beton-, metaal- en houtconstructies op bochten en hoeken en waarschuwt als ze zijn afgeweken van de oorspronkelijke positie.

Stap 1: Inleiding

Invoering
Invoering

Met de ontwikkeling van het gebied van civiele techniek kunnen we overal veel constructies identificeren. Metalen constructies, betonnen balken, gebouwen met meerdere platforms zijn er enkele van. Verder zijn de meesten van ons gewend om het grootste deel van de dag in een gebouw of huis te verblijven. Maar hoe kunnen we ervoor zorgen dat het gebouw veilig genoeg is om te blijven staan? Wat als er een kleine scheur of een te schuine balk in uw gebouw zit? Het zou honderden levens op het spel zetten.

Aardbevingen, bodemhardheid, tornado's en nog veel meer kunnen factoren zijn voor interne scheuren en de afwijking van de constructies of balken van de neutrale positie. Meestal zijn we ons niet bewust van de situatie van de omliggende constructies. Misschien heeft de plek waar we elke dag binnenlopen gebarsten betonnen balken en kan op elk moment instorten. Maar zonder het te weten gaan we vrij naar binnen. Als oplossing hiervoor hebben we een goede methode nodig om beton, hout, metalen balken van constructies waar we niet bij kunnen komen te monitoren.

Stap 2: Oplossing

Oplossing
Oplossing
Oplossing
Oplossing

"Structure Analyzer" is een draagbaar apparaat dat kan worden gemonteerd op een betonnen balk, metalen structuur, platen enz. Dit apparaat meet de hoek en analyseert bochten waar het is gemonteerd en stuurt de gegevens naar de mobiele app via Bluetooth. Dit apparaat gebruikt een versnellingsmeter/gyroscoop om de hoek in x-, y-, z-vlakken te meten en een flexsensor om de bochten te bewaken. Alle ruwe data wordt verwerkt en informatie wordt naar de mobiele app gestuurd.

Stap 3: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring

Verzamel de volgende componenten.

  • Arduino 101-bord
  • 2 X Flex-sensoren
  • 2 X 10k Weerstanden

Om het aantal componenten te verminderen, wordt hier het Arduino 101-bord gebruikt, omdat het een versnellingsmeter en een BLE-module bevat. Flex-sensoren worden gebruikt om de mate van buiging te meten, aangezien de weerstand tijdens het buigen verandert. Het circuit is erg klein omdat er slechts 2 weerstanden en 2 flexsensoren moesten worden aangesloten. Het volgende diagram laat zien hoe u een flexsensor op het Arduino-bord aansluit.

Een pin van de weerstand is verbonden met de A0-pin van het Arduino-bord. Volg dezelfde procedure om de tweede flexsensor aan te sluiten. Gebruik A1 pin om de weerstand aan te sluiten.

Sluit de zoemer rechtstreeks aan op de D3-pin en Gnd-pin.

Stap 4: Het apparaat afwerken

Het apparaat afmaken
Het apparaat afmaken
Het apparaat afmaken
Het apparaat afmaken

Nadat de schakeling is gemaakt, moet deze in een behuizing worden bevestigd. Volgens het bovenstaande 3D-model moeten 2 flexsensoren aan de andere kant van de behuizing worden geplaatst. Maak ruimte voor de USB-poort om het bord te programmeren en de stroom te leveren. Omdat dit apparaat voor een lange periode moet worden gebruikt, is de beste methode om stroom te leveren het gebruik van een vast stroompakket.

Stap 5: Mobiele app

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

Download en installeer Blynk vanuit de Android Play Store. Start een nieuw project voor Arduino 101. Selecteer de communicatiemethode als BLE. Voeg 1 terminal, 2 knoppen en BLE toe aan de interface. De volgende afbeeldingen laten zien hoe u de interface maakt.

Stap 6: Blynk Code-bestanden

Na het maken van de interface op Blynk ontvang je een autorisatiecode. Voer die code op de volgende plaats in.

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

WidgetTerminal-terminal (V2);

BLEPerifere blePerifere;

Tijdens het kalibratieproces worden de huidige sensormetingen opgeslagen in de EEPROM.

waarden(); EEPROM.schrijven (0, flx1);

EEPROM.write(1, flx2);

EEPROM.schrijven (2, x);

EEPROM.schrijven (3, y);

EEPROM.schrijven (4, z);

terminal.print("Kalibratie geslaagd");

Na het kalibreren vergelijkt het apparaat de afwijking met de drempelwaarden en piept de zoemer als deze de waarde overschrijdt.

waarden(); if(abs(flex1-m_flx1)>10 of abs(flex2-m_flx2)>10){

terminal.println("Over Bend");

toon (zoemer, 1000);

}

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

terminal.println("Overhelling");

toon (zoemer, 1000);

}

Stap 7: Functionaliteit

Functionaliteit
Functionaliteit

Plak het apparaat op de te bewaken structuur. Plak ook de 2 flexsensoren vast. Voorzie het bord van stroom met behulp van de USB-kabel.

Open de Blynk-interface. Maak verbinding met het apparaat door het Bluetooth-pictogram aan te raken. Druk op de kalibratieknop. Na het kalibreren zal de terminal een bericht tonen als "Succesvol gekalibreerd". Stel het apparaat opnieuw in. Nu zal het de structuur bewaken en u via de zoemer op de hoogte stellen als het afwijkt van vervormingen. U kunt de hoek- en buigwaarden op elk moment controleren door op de Status-knop te drukken. Dit ziet er misschien uit als een klein apparaat. Maar het gebruik ervan is onbetaalbaar. Soms vergeten we met onze drukke schema's de staat van ons huis, kantoor enz. te controleren. Maar als er een klein probleem is, kan het eindigen zoals in de bovenstaande afbeelding.

Maar met dit apparaat kunnen honderden levens worden gered door de kleine maar gevaarlijke problemen in constructies te informeren.

Stap 8: Arduino101-codebestand

#define BLYNK_PRINT Serie

#define flex1 A0

#define flex2 A1 //Define flex-sensor en zoemerpinnen

#define zoemer 3

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

#include "CurieBLE.h"

#include "Wire.h"

#include "EEPROM.h"

#include "SPI.h"

char auth = "***************"; // Blynk-autorisatiecode WidgetTerminal-terminal (V2);

BLEPerifere blePerifere;

int m_flx1, m_flx2, m_x, m_y, m_z; // waarden opgeslagen in het geheugen

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

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

flx1 = analoog lezen (flex1); // Ontvang onbewerkte metingen van sensoren

flx2 = analoog lezen (flex2);

x = CurieIMU.read Accelerometer(X_AXIS)/100;

y = CurieIMU.read Accelerometer(Y_AXIS)/100;

z = CurieIMU.read Accelerometer(Z_AXIS)/100;

vertraging(2);

}

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

x = x/100; // Haal de gemiddelde waarden van de metingen op

y = y/100;

z = z/100;

}

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

pinMode(flex1, INPUT);

pinMode (flex2, INGANG); // De sensorpin-modi instellen

Serieel.begin(9600);

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

blePeripheral.setAppearance(384);

Blynk.begin(auth, blePeripheral);

blePeripheral.begin();

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

m_x = EEPROM.lezen (2); // Lees vooraf opgeslagen sensorwaarden van EEPROM

m_y = EEPROM.lezen (3);

m_z = EEPROM.lezen(4);

}

void loop(){ Blynk.run();

blePeripheral.poll();

waarden();

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

toon (zoemer, 1000);

}

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

toon (zoemer, 1000);

}

toon (zoemer, 0);

}

/*VO geeft de kalibratiemodus aan. In deze modus worden de waarden van sensoren * opgeslagen in de EEPROM

*/

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

if (pinWaarde == 1){

waarden();

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

EEPROM.schrijven (2, x);

EEPROM.schrijven (3, y);

EEPROM.schrijven (4, z);

terminal.print("Kalibratie geslaagd");

}

}

/*We kunnen de huidige afwijkingswaarden opvragen * door op de knop V1. te drukken

*/

BLYNK_WRITE(V1){

int pinValue = param.asInt();

if (pinWaarde == 1){

waarden(); terminal.print ("X-hoekafwijking- ");

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

terminal.println();

terminal.print ("Y-hoekafwijking- ");

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

terminal.println();

terminal.print ("Z-hoekafwijking- ");

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

terminal.println();

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

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

terminal.println();

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

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

terminal.println();

}

}

BLYNK_WRITE(V2){

}

Aanbevolen: