Mündəricat:

Bina Çöküşü Monitoru ilə Həyatınızı xilas edin: 8 addım
Bina Çöküşü Monitoru ilə Həyatınızı xilas edin: 8 addım

Video: Bina Çöküşü Monitoru ilə Həyatınızı xilas edin: 8 addım

Video: Bina Çöküşü Monitoru ilə Həyatınızı xilas edin: 8 addım
Video: Lotu Şəmi Hyundai Teksun Sürür Drift Balığçı Rəis | Maşın Oyunları | BeamNG.Driver #malikbedelov 2024, Noyabr
Anonim
Bina Çöküşü Monitoru ilə Həyatınızı Xilas Edin
Bina Çöküşü Monitoru ilə Həyatınızı Xilas Edin

Beton, metal, taxta konstruksiyaları əyilmələr, açılar və xəbərdarlıqlar üçün orijinal mövqedən kənara çıxdıqlarını təhlil edin.

Addım 1: Giriş

Giriş
Giriş

İnşaat mühəndisliyi sahəsinin inkişafı ilə hər yerdə bir çox konstruksiya müəyyən edə bilərik. Metal konstruksiyalar, Beton kirişlər, Çox platformalı binalar bunlardan bəziləridir. Üstəlik, bir çoxumuz günün çox vaxtında bir binada və ya evdə qalmağa öyrəşmişik. Bəs binanın qalacaq qədər təhlükəsiz olduğunu necə təmin edə bilərik? Binanızda kiçik bir çatlaq və ya çox meylli bir şüa varsa nə etməli? Yüzlərlə insanın həyatını təhlükəyə atacaq.

Zəlzələlər, Torpağın sərtliyi, Tornadolar və daha çox şey daxili çatlar və strukturların və ya kirişlərin neytral mövqedən sapması üçün faktorlar ola bilər. Əksər hallarda ətrafdakı strukturların vəziyyətindən xəbərimiz olmur. Bəlkə də hər gün getdiyimiz yerin beton kirişləri çatlayır və hər an çökə bilər. Ancaq bilmədən sərbəst içəri giririk, bunun həlli olaraq çata bilməyəcəyimiz konstruksiyaların beton, taxta, metal kirişlərini izləmək üçün yaxşı bir üsula ehtiyacımız var.

Addım 2: Həll

Həll
Həll
Həll
Həll

"Struktur Analizatoru", beton şüa, metal konstruksiya, plitələr və s. Bu cihaz, x, y, z təyyarələrində bucağı ölçmək üçün əyilmələri izləmək üçün bir accelerometer/ Gyroscope istifadə edir. Bütün xam məlumatlar işlənir və məlumatlar mobil tətbiqə göndərilir.

Addım 3: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Aşağıdakı komponentləri toplayın.

  • Arduino 101 lövhəsi
  • 2 X Flex sensorlar
  • 2 x 10k rezistorlar

Komponentlərin sayını azaltmaq üçün burada bir akselerometr və BLE modulu olduğu üçün Arduino 101 lövhəsi istifadə olunur. Bükülmə zamanı müqavimətini dəyişdiyi üçün əyilmə miqdarını ölçmək üçün fleks sensorlar istifadə olunur. Dövrə çox kiçikdir, çünki yalnız 2 rezistor və 2 əyilmə sensoru bağlanmalıdır. Aşağıdakı diaqram, bir flex sensorun Arduino lövhəsinə necə bağlanacağını göstərir.

Rezistorun bir pimi Arduino lövhəsinin A0 pininə bağlıdır. İkinci fleks sensoru bağlamaq üçün eyni proseduru edin. Rezistoru bağlamaq üçün A1 pinindən istifadə edin.

Siqnalı birbaşa D3 və Gnd pininə bağlayın.

Addım 4: Cihazı bitirmək

Cihazı bitirmək
Cihazı bitirmək
Cihazı bitirmək
Cihazı bitirmək

Dövrə qurduqdan sonra, bir korpusa sabitlənməlidir. Yuxarıdakı 3D modelinə görə, 2 əyilmə sensoru korpusun əks tərəfinə yerləşdirilməlidir. Kartı proqramlaşdırmaq və gücü təmin etmək üçün USB portu üçün yer açın. Bu cihazın uzun müddət istifadə edilməsinə ehtiyac olduğu üçün, enerji təchizatının ən yaxşı yolu sabit bir güc paketindən istifadə etməkdir.

Addım 5: Mobil Tətbiq

Mobil Tətbiq
Mobil Tətbiq
Mobil Tətbiq
Mobil Tətbiq
Mobil Tətbiq
Mobil Tətbiq

Android Play Store -dan Blynk yükləyin və quraşdırın. Arduino 101 üçün yeni bir layihəyə başlayın. BLE olaraq ünsiyyət metodunu seçin. İnterfeysə 1 terminal, 2 düymə və BLE əlavə edin. Aşağıdakı şəkillər, interfeysi necə quracağınızı göstərir.

Addım 6: Blynk Kod Dosyaları

Blynk -də interfeys yaratdıqdan sonra bir icazə kodu alacaqsınız. Bu kodu aşağıdakı yerə daxil edin.

#include #include char auth = "**************"; // Blynk İcazə Kodu

WidgetTerminal terminalı (V2);

BLEPeriferik blePeriferik;

Kalibrləmə prosesində cari sensor oxunuşları EEPROM -da saxlanılır.

dəyərlər (); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Uğurlu Kalibrləmə");

Kalibrləmə etdikdən sonra cihaz sapmanı eşik dəyərləri ilə müqayisə edəcək və dəyərdən artıq olduqda səs siqnalı verir.

dəyərlər (); əgər (abs (flex1-m_flx1)> 10 və ya abs (flex2-m_flx2)> 10) {

terminal.println ("Aşırı əyilmə");

ton (səs -küy, 1000);

}

əgər (abs (x-m_x)> 15 və ya abs (y-m_y)> 15 və ya abs (z-m_z)> 15) {

terminal.println ("Aşırı meylli");

ton (səs -küy, 1000);

}

Addım 7: İşlevsellik

İşlevsellik
İşlevsellik

Cihazı izlənilməsi lazım olan quruluşa yapışdırın. 2 fleks sensoru da yapışdırın. USB kabelindən istifadə edərək lövhəyə enerji verin.

Blynk interfeysini açın. Bluetooth simgesinə toxunaraq cihazla əlaqə qurun. Kalibrləmə düyməsini basın. Terminal kalibr edildikdən sonra "Uğurla Kalibr edildi" mesajı görünəcək. Cihazı sıfırlayın. İndi quruluşu izləyəcək və deformasiyalardan yayınarsa, səs siqnalı ilə sizə xəbər verəcəkdir. İstənilən vaxt Status düyməsinə basaraq bucağı və əyilmə dəyərlərini yoxlaya bilərsiniz. Bu kiçik bir cihaz kimi görünə bilər. Lakin onun istifadəsi əvəzsizdir. Bəzən evlərimizin, ofislərimizin və sair vəziyyətlərini sıx iş qrafiki ilə yoxlamağı unuduruq. Ancaq kiçik bir problem varsa, yuxarıdakı şəkildə olduğu kimi bitə bilər.

Ancaq bu cihazla, konstruksiyalardakı kiçik, lakin təhlükəli problemləri bildirməklə yüzlərlə insanın həyatını xilas etmək olar.

Addım 8: Arduino101 Kod Dosyası

#blynk_print seriyasını təyin edin

#flex1 A0 təyin edin

#define flex2 A1 // Fleks sensoru və səs siqnalı pinlərini təyin edin

#dezini təyin edin 3

#"CurieIMU.h" daxil edin "BlynkSimpleCurieBLE.h" daxil edin

#"CurieBLE.h" daxil edin

#"Wire.h" daxil edin

#"EEPROM.h" daxil edin

#"SPI.h" daxil edin

char auth = "**************"; // Blynk İcazə Kodu WidgetTerminal terminalı (V2);

BLEPeriferik blePeriferik;

int m_flx1, m_flx2, m_x, m_y, m_z; // yaddaşda saxlanılan dəyərlər

int flx1, flx2, x, y, z; // Mövcud oxunuşlar

void dəyərləri () {for (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Sensorlardan xam oxunuşlar alın

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

gecikmə (2);

}

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

x = x/100; // Oxunuşların orta dəyərlərini əldə edin

y = y/100;

z = z/100;

}

void setup () {// pinMode (3, ÇIXIŞ);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Sensor pin rejimlərinin qurulması

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); // EEPROM -dan əvvəlcədən saxlanılan sensor dəyərlərini oxuyun

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

boşluq döngəsi () {Blynk.run ();

blePeripheral.poll ();

dəyərlər ();

if (abs (flex1-m_flx1)> 10 və ya abs (flex2-m_flx2)> 10) {terminal.println ("Aşırı əyilmə");

ton (səs -küy, 1000);

}

əgər (abs (x-m_x)> 15 və ya abs (y-m_y)> 15 və ya abs (z-m_z)> 15) {terminal.println ("Aşırı meylli");

ton (səs -küy, 1000);

}

ton (səs -küy, 0);

}

/*VO kalibrləmə rejimini göstərir. Bu rejimdə sensorlar * dəyərləri EEPROM -da saxlanılır

*/

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

əgər (pinValue == 1) {

dəyərlər ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Uğurlu Kalibrləmə");

}

}

/ * V1 düyməsini basaraq cari sapma dəyərlərini tələb edə bilərik

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

əgər (pinValue == 1) {

dəyərlər (); terminal.print ("X açı sapması-");

terminal. çap (abs (x-m_x));

terminal.println ();

terminal.print ("Y bucağı sapması-");

terminal. çap (abs (y-m_y));

terminal.println ();

terminal.print ("Z bucağı sapması-");

terminal. çap (abs (z-m_z));

terminal.println ();

terminal.print ("Flex 1 sapması-");

terminal. çap (abs (flx1-m_flx1));

terminal.println ();

terminal.print ("Flex 2 sapması-");

terminal. çap (abs (flx2-m_flx2));

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Tövsiyə: