Съдържание:

Спасете живота си с монитора за срутване на сградата: 8 стъпки
Спасете живота си с монитора за срутване на сградата: 8 стъпки

Видео: Спасете живота си с монитора за срутване на сградата: 8 стъпки

Видео: Спасете живота си с монитора за срутване на сградата: 8 стъпки
Видео: 最新古装仙侠剧《护心》全集解说:三观超正,全员长嘴,秒杀大制作仙侠 #护心 2024, Юли
Anonim
Спасете живота си с монитора за срутване на сградата
Спасете живота си с монитора за срутване на сградата

Анализирайте бетонни, метални, дървени конструкции за завои и ъгли и предупреждения, ако те са се отклонили от първоначалната позиция.

Стъпка 1: Въведение

Въведение
Въведение

С развитието на областта на гражданското инженерство можем да идентифицираме много конструкции навсякъде. Метални конструкции, Бетонни греди, Многоплатформени сгради са някои от тях. Освен това повечето от нас са свикнали да остават в сграда или дом през повечето време на деня. Но как можем да гарантираме, че сградата е достатъчно безопасна, за да остане? Какво ще стане, ако във вашата сграда има малка пукнатина или наклонена греда? Това би рискувало стотици животи.

Земетресения, твърдост на почвата, торнадо и много други неща могат да бъдат фактори за вътрешни пукнатини и отклонение на конструкциите или гредите от неутралното положение. В повечето случаи не сме наясно с положението на околните структури. Може би мястото, където всеки ден влизаме, е с напукани бетонни греди и може да се срути по всяко време. Но без да знаем, ние влизаме свободно. Като решение за това се нуждаем от добър метод за наблюдение на бетон, дърво, метални греди на конструкции, до които не можем да достигнем.

Стъпка 2: Решение

Решение
Решение
Решение
Решение

„Structure Analyzer“е преносимо устройство, което може да се монтира върху бетонна греда, метална конструкция, плочи и др. Това устройство измерва ъгъла и анализира завоите, където е монтирано, и изпраща данните към мобилното приложение чрез Bluetooth. Това устройство използва акселерометър/ жироскоп за измерване на ъгъла в равнини x, y, z и сензор за огъване за наблюдение на завоите. Всички необработени данни се обработват и информацията се изпраща до мобилното приложение.

Стъпка 3: Схема

Верига
Верига
Верига
Верига
Верига
Верига
Верига
Верига

Съберете следните компоненти.

  • Дъска Arduino 101
  • 2 X Flex сензора
  • 2 X 10k резистора

За да се намали броят на компонентите тук се използва дъската Arduino 101, тъй като съдържа акселерометър и BLE модул. Гъвкавите сензори се използват за измерване на размера на огъване, тъй като той променя съпротивлението си при огъване. Веригата е много малка, тъй като трябва да се свържат само 2 резистора и 2 гъвкави сензора. Следващата диаграма показва как да свържете гъвкав сензор към платката Arduino.

Един щифт на резистора е свързан към щифта A0 на платката Arduino. Следвайте същата процедура, за да свържете втория сензор за огъване. Използвайте щифт A1, за да свържете резистора.

Свържете зумера директно към щифта D3 и щифта Gnd.

Стъпка 4: Завършване на устройството

Завършване на устройството
Завършване на устройството
Завършване на устройството
Завършване на устройството

След като направите веригата, тя трябва да бъде фиксирана вътре в кутия. Съгласно горния 3D модел, 2 сензора за огъване трябва да бъдат поставени от противоположната страна на корпуса. Освободете място за USB порта за програмиране на платката и захранване. Тъй като това устройство трябва да се използва за дълъг период, най -добрият метод за захранване е използването на фиксиран захранващ блок.

Стъпка 5: Мобилно приложение

Мобилно приложение
Мобилно приложение
Мобилно приложение
Мобилно приложение
Мобилно приложение
Мобилно приложение

Изтеглете и инсталирайте Blynk от Android Play Store. Стартирайте нов проект за Arduino 101. Изберете метода на комуникация като BLE. Добавете 1 терминал, 2 бутона и BLE към интерфейса. Следващите изображения ви показват как да направите интерфейса.

Стъпка 6: Blynk Code Files

След като направите интерфейса на Blynk, ще получите код за оторизация. Въведете този код на следното място.

#include #include char auth = "**************"; // Код за разрешаване на Blynk

WidgetTerminal терминал (V2);

BLEPeripheral blePeripheral;

В процеса на калибриране текущите показания на сензора се записват в EEPROM.

стойности(); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Калибрирането е успешно");

След калибриране устройството ще сравни отклонението с праговите стойности и ще издаде звуков сигнал, ако те надвишат стойността.

стойности(); if (abs (flex1-m_flx1)> 10 или abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

тон (зумер, 1000);

}

ако (abs (x-m_x)> 15 или abs (y-m_y)> 15 или abs (z-m_z)> 15) {

terminal.println ("Над наклонено");

тон (зумер, 1000);

}

Стъпка 7: Функционалност

Функционалност
Функционалност

Залепете устройството върху структурата, която трябва да се наблюдава. Залепете и 2 -те гъвкави сензора. Захранвайте платката с помощта на USB кабел.

Отворете интерфейса на Blynk. Свържете се с устройството, като докоснете иконата на Bluetooth. Натиснете бутона за калибриране. След калибриране терминалът ще покаже съобщение като „Успешно калибриран“. Нулирайте устройството. Сега той ще следи структурата и ще ви уведоми чрез зумера, ако се отклони от деформациите. Можете да проверите стойностите на ъгъла и огъването по всяко време, като натиснете бутона Статус. Това може да изглежда като малко устройство. Но употребата му е безценна. Понякога забравяме да проверим състоянието на нашия дом, офис и т.н., с натоварения ни график. Но ако има малък проблем, той може да завърши както на фигурата по -горе.

Но с това устройство стотици животи могат да бъдат спасени чрез информиране за малките, но опасни проблеми в конструкциите.

Стъпка 8: Ардуино101 код файл

#define BLYNK_PRINT Сериен

#дефинирайте flex1 A0

#define flex2 A1 // Дефинирайте гъвкавия сензор и щифта на зумера

#дефинирайте зумера 3

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

#include "CurieBLE.h"

#include "Wire.h"

#include "EEPROM.h"

#включва "SPI.h"

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

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // стойности, запазени в паметта

int flx1, flx2, x, y, z; // Текущи показания

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

flx1 = analogRead (flex1); // Получаване на сурови показания от сензори

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

забавяне (2);

}

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

x = x/100; // Вземете средните стойности на показанията

y = y/100;

z = z/100;

}

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

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Настройване на режимите на сензорен щифт

Serial.begin (9600);

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

blePeripheral.setAppearance (384);

Blynk.begin (auth, blePeripheral);

blePeripheral.begin ();

m_flx1 = EEPROM.прочетено (0); m_flx2 = EEPROM.прочетете (1);

m_x = EEPROM.прочетете (2); // Прочетете предварително запаметените стойности на сензора от EEPROM

m_y = EEPROM.прочетете (3);

m_z = EEPROM.прочетете (4);

}

void loop () {Blynk.run ();

blePeripheral.poll ();

стойности();

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

тон (зумер, 1000);

}

ако (abs (x-m_x)> 15 или abs (y-m_y)> 15 или abs (z-m_z)> 15) {terminal.println ("Над наклонено");

тон (зумер, 1000);

}

тон (зумер, 0);

}

/*VO показва режима на калибриране. В този режим стойностите на сензорите * се записват в EEPROM

*/

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

if (pinValue == 1) {

стойности();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Калибрирането е успешно");

}

}

/ * Можем да поискаме текущи стойности на отклонение * чрез натискане на бутона V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

if (pinValue == 1) {

стойности(); terminal.print ("X отклонение на ъгъла-");

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

terminal.println ();

terminal.print ("Отклонение на ъгъла Y-");

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

terminal.println ();

terminal.print ("Z ъгъл отклонение-");

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

terminal.println ();

terminal.print ("Отклонение Flex 1");

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

terminal.println ();

terminal.print ("Отклонение Flex 2-");

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Препоръчано: