İçindekiler:

Bina Çöküş Monitörü ile Hayatınızı Kurtarın: 8 Adım
Bina Çöküş Monitörü ile Hayatınızı Kurtarın: 8 Adım

Video: Bina Çöküş Monitörü ile Hayatınızı Kurtarın: 8 Adım

Video: Bina Çöküş Monitörü ile Hayatınızı Kurtarın: 8 Adım
Video: İlâhî Armağan / Abdulkadir Geylani Hz. (Sesli Kitap-1.Bölüm) 2024, Temmuz
Anonim
Bina Çöküş Monitörü ile Hayatınızı Kurtarın
Bina Çöküş Monitörü ile Hayatınızı Kurtarın

Beton, metal, ahşap yapıları bükülmeler ve açılar için analiz edin ve orijinal konumundan sapmışlarsa uyarılar.

Adım 1: Giriş

Tanıtım
Tanıtım

İnşaat mühendisliği alanının gelişmesiyle birlikte her yerde birçok yapı tespit edebiliyoruz. Metal yapılar, Beton kirişler, Çok platformlu binalar bunlardan bazılarıdır. Ayrıca, çoğumuz günün çoğu saatinde bir binada veya evde kalmaya alışkınız. Ancak binanın kalacak kadar güvenli olduğundan nasıl emin olabiliriz? Binanızda küçük bir çatlak veya aşırı eğimli kiriş varsa ne olur? Yüzlerce hayatı riske atabilir.

Depremler, Toprak sertliği, Tornadolar ve daha pek çok şey, iç çatlaklar ve yapıların veya kirişlerin nötr konumdan sapması için faktörler olabilir. Çoğu zaman çevredeki yapıların durumundan haberimiz olmuyor. Belki her gün girdiğimiz yerde beton kirişler çatlamıştır ve her an çökebilir. Ama bilmeden serbestçe içeri giriyoruz. Buna çözüm olarak, ulaşamadığımız yapıların beton, ahşap, metal kirişlerini izlemek için iyi bir yönteme ihtiyacımız var.

2. Adım: Çözüm

Çözüm
Çözüm
Çözüm
Çözüm

“Structure Analyzer” beton kiriş, metal yapı, döşeme vb. üzerine monte edilebilen portatif bir cihazdır. Bu cihaz monte edildiği yerde açıyı ölçer ve virajları analiz eder ve Bluetooth üzerinden mobil uygulamaya veri gönderir. Bu cihaz, x, y, z düzlemlerinde açıyı ölçmek için bir ivmeölçer/Jiroskop ve virajları izlemek için esnek sensör kullanır. Tüm ham veriler işlenir ve bilgiler mobil uygulamaya gönderilir.

Adım 3: Devre

Devre
Devre
Devre
Devre
Devre
Devre
Devre
Devre

Aşağıdaki bileşenleri toplayın.

  • Arduino 101 Kurulu
  • 2 X Esnek sensör
  • 2 X 10k Dirençler

Bileşen sayısını azaltmak için burada bir ivmeölçer ve bir BLE modülü içerdiğinden Arduino 101 kartı kullanılmıştır. Esnek sensörler, bükülme sırasında direncini değiştirdiği için bükülme miktarını ölçmek için kullanılır. Devre çok küçüktür, çünkü yalnızca 2 direnç ve 2 esnek sensörün bağlanması gerekir. Aşağıdaki şema, bir esnek sensörün Arduino kartına nasıl bağlanacağını gösterir.

Direncin bir pini Arduino kartının A0 pinine bağlanır. İkinci esnek sensörü bağlamak için aynı prosedürü izleyin. Direnci bağlamak için A1 pinini kullanın.

Zil sesini doğrudan D3 pinine ve Gnd pinine bağlayın.

Adım 4: Cihazı Bitirmek

Cihazı Bitirmek
Cihazı Bitirmek
Cihazı Bitirmek
Cihazı Bitirmek

Devre yapıldıktan sonra bir muhafaza içine sabitlenmelidir. Yukarıdaki 3D modele göre, muhafazanın karşı tarafına 2 esnek sensör yerleştirilmelidir. Kartı programlamak ve güç sağlamak için USB bağlantı noktası için yer açın. Bu cihazın uzun süre kullanılması gerektiğinden, güç sağlamak için en iyi yöntem sabit bir güç paketi kullanmaktır.

Adım 5: Mobil Uygulama

Mobil Uygulama
Mobil Uygulama
Mobil Uygulama
Mobil Uygulama
Mobil Uygulama
Mobil Uygulama

Blynk'i Android Play Store'dan indirin ve yükleyin. Arduino 101 için yeni bir proje başlatın. İletişim yöntemini BLE olarak seçin. Arayüze 1 terminal, 2 düğme ve BLE ekleyin. Aşağıdaki resimler arayüzü nasıl yapacağınızı gösterir.

Adım 6: Blynk Kod Dosyaları

Blynk'te arayüzü yaptıktan sonra bir yetkilendirme kodu alacaksınız. Bu kodu aşağıdaki yere girin.

#include #include char auth = "**************"; //Blynk Yetkilendirme Kodu

WidgetTerminal terminali(V2);

BLEÇevre birimi bleÇevre birimi;

Kalibrasyon işleminde, mevcut sensör okumaları EEPROM'a kaydedilir.

değerler(); EEPROM.write(0, flx1);

EEPROM.write(1, flx2);

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Kalibrasyon Başarılı");

Kalibrasyondan sonra cihaz, sapmayı eşik değerlerle karşılaştırır ve değeri aşmaları durumunda sesli uyarı verir.

değerler(); if(abs(flex1-m_flx1)>10 veya abs(flex2-m_flx2)>10){

terminal.println("Over Bend");

ton(sesli uyarı, 1000);

}

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

terminal.println("Aşırı Eğimli");

ton(sesli uyarı, 1000);

}

7. Adım: İşlevsellik

işlevsellik
işlevsellik

Cihazı, izlenmesi gereken yapıya yapıştırın. 2 esnek sensörü de yapıştırın. USB kablosunu kullanarak karta güç sağlayın.

Blynk arayüzünü açın. Bluetooth simgesine dokunarak cihaza bağlanın. Kalibrasyon düğmesine basın. Kalibre ettikten sonra terminal "Başarıyla Kalibre Edildi" şeklinde bir mesaj gösterecektir. Cihazı sıfırlayın. Artık yapıyı izleyecek ve deforme olursa sizi buzzer aracılığıyla bilgilendirecektir. Durum düğmesine basarak istediğiniz zaman açı ve büküm değerlerini kontrol edebilirsiniz. Bu küçük bir cihaz gibi görünebilir. Ama kullanımları paha biçilemez. Bazen yoğun programlarımız arasında evimizin, ofisimizin vb. durumunu kontrol etmeyi unutuyoruz. Ama ufak bir sorun olursa yukarıdaki şekildeki gibi bitebilir.

Ancak bu cihaz ile inşaatlardaki küçük ama tehlikeli problemler bildirilerek yüzlerce hayat kurtarılabilir.

Adım 8: Arduino101 Kod Dosyası

#define BLYNK_PRINT Seri

#define flex1 A0

#define flex2 A1 //Flex sensör ve buzzer pinlerini tanımlayın

#define buzzer 3

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

#include "CurieBLE.h"

#include "Wire.h"

#include "EEPROM.h"

#include "SPI.h"

char auth = "******************"; //Blynk Yetkilendirme Kodu WidgetTerminal terminali(V2);

BLEÇevre birimi bleÇevre birimi;

int m_flx1, m_flx2, m_x, m_y, m_z; // hafızaya kaydedilen değerler

int flx1, flx2, x, y, z; //Mevcut okumalar

geçersiz değerler(){ for(int i=0;i<100;i++){

flx1 = analogRead(flex1); // Sensörlerden ham okumalar alın

flx2 = analogRead(flex2);

x = CurieIMU.readAccelerometer(X_AXIS)/100;

y = CurieIMU.readAccelerometer(Y_AXIS)/100;

z = CurieIMU.readAccelerometer(Z_AXIS)/100;

gecikme(2);

}

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

x = x/100; //Okumaların ortalama değerlerini alın

y = y/100;

z = z/100;

}

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

pinMode(flex1, INPUT);

pinMode(flex2, INPUT); // Sensör pin modlarının ayarlanması

Seri.başla(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); // EEPROM'dan önceden kaydedilmiş sensör değerlerini oku

m_y = EEPROM.read(3);

m_z = EEPROM.read(4);

}

boşluk döngüsü(){ Blynk.run();

blePeripheral.poll();

değerler();

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

ton(sesli uyarı, 1000);

}

if(abs(x-m_x)>15 veya abs(y-m_y)>15 veya abs(z-m_z)>15){ terminal.println("Aşırı Eğimli");

ton(sesli uyarı, 1000);

}

ton(buzzer, 0);

}

/*VO, kalibrasyon modunu gösterir. Bu modda sensörlerin * değerleri EEPROM'a kaydedilir.

*/

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

if (pinValue == 1){

değerler();

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

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Kalibrasyon Başarılı");

}

}

/*V1 butonuna basarak mevcut sapma değerlerini * talep edebiliriz

*/

BLYNK_WRITE(V1){

int pinValue = param.asInt();

if (pinValue == 1){

değerler(); terminal.print("X açısı sapması-");

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

terminal.println();

terminal.print("Y açısı sapması-");

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

terminal.println();

terminal.print("Z açısı sapması-");

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

terminal.println();

terminal.print("Esnek 1 sapma-");

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

terminal.println();

terminal.print("Esnek 2 sapma-");

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

terminal.println();

}

}

BLYNK_WRITE(V2){

}

Önerilen: