Isi kandungan:

Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan: 8 Langkah
Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan: 8 Langkah

Video: Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan: 8 Langkah

Video: Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan: 8 Langkah
Video: Terekam CCTV Staf Rumah Sakit Ini Layani Pasien 'Tak Terlihat', Syok saat Konfirmasi ke Dokter Jaga 2024, November
Anonim
Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan
Selamatkan Hidup Anda Dengan Monitor Keruntuhan Bangunan

Menganalisis struktur konkrit, logam, kayu untuk selekoh dan sudut dan amaran jika mereka telah menyimpang dari kedudukan asal.

Langkah 1: Pengenalan

Pengenalan
Pengenalan

Dengan perkembangan bidang kejuruteraan awam, kita dapat mengenal pasti banyak pembinaan di mana-mana sahaja. Struktur logam, balok konkrit, bangunan berbilang platform adalah sebahagian daripadanya. Lebih jauh lagi, kebanyakan kita terbiasa tinggal di bangunan atau rumah pada kebanyakan waktu sepanjang hari. Tetapi bagaimana kita dapat memastikan bahawa bangunan itu cukup selamat untuk tinggal? Bagaimana jika terdapat keretakan kecil atau balok miring di bangunan anda? Ia akan membahayakan ratusan nyawa.

Gempa bumi, kekerasan tanah, puting beliung dan banyak lagi perkara, boleh menjadi faktor keretakan dalaman dan penyimpangan struktur atau balok dari kedudukan neutral. Selalunya kita tidak mengetahui keadaan struktur di sekitarnya. Mungkin tempat yang kita jalani setiap hari mempunyai balok konkrit yang retak dan boleh runtuh pada bila-bila masa. Tetapi tanpa kita sedari, kita bebas masuk ke dalam. Sebagai penyelesaian untuk ini, kita memerlukan kaedah yang baik untuk memantau pembinaan konkrit, kayu, balok logam yang tidak dapat kita capai.

Langkah 2: Penyelesaian

Penyelesaian
Penyelesaian
Penyelesaian
Penyelesaian

"Structure Analyzer" adalah peranti mudah alih yang dapat dipasang pada balok konkrit, struktur logam, papak dll. Peranti ini mengukur sudut dan menganalisis selekoh di mana ia dipasang dan mengirim data ke aplikasi mudah alih melalui Bluetooth. Peranti ini menggunakan akselerometer / Giroskop untuk mengukur sudut dalam bidang x, y, z dan sensor flex untuk memantau selekoh. Semua data mentah diproses dan maklumat dihantar ke aplikasi mudah alih.

Langkah 3: Litar

Litar
Litar
Litar
Litar
Litar
Litar
Litar
Litar

Kumpulkan komponen berikut.

  • Papan Arduino 101
  • 2 X Flex sensor
  • Perintang 2 X 10k

Untuk mengurangkan bilangan komponen papan Arduino 101 digunakan di sini kerana ia mengandungi accelerometer dan modul BLE. Sensor Flex digunakan untuk mengukur jumlah lenturan kerana ia mengubah rintangan ketika membongkok. Litar ini sangat kecil kerana hanya 2 perintang dan 2 sensor flex yang perlu disambungkan. Gambar rajah berikut menunjukkan cara menyambungkan sensor flex ke papan Arduino.

Satu pin perintang disambungkan ke pin A0 dari papan Arduino. Ikuti prosedur yang sama untuk menyambungkan sensor flex kedua. Gunakan pin A1 untuk menyambungkan perintang.

Sambungkan buzzer terus ke pin D3 dan pin Gnd.

Langkah 4: Menyelesaikan Peranti

Menyelesaikan Peranti
Menyelesaikan Peranti
Menyelesaikan Peranti
Menyelesaikan Peranti

Setelah membuat litar, ia mesti dipasang di dalam kandang. Mengikut model 3D di atas, 2 sensor flex harus diletakkan di bahagian yang berlawanan dari kandang. Buat ruang untuk port USB untuk memprogram papan dan membekalkan kuasa. Oleh kerana peranti ini perlu digunakan untuk jangka masa yang panjang, kaedah terbaik untuk membekalkan tenaga adalah menggunakan pek kuasa tetap.

Langkah 5: Aplikasi Mudah Alih

Aplikasi Mudah Alih
Aplikasi Mudah Alih
Aplikasi Mudah Alih
Aplikasi Mudah Alih
Aplikasi Mudah Alih
Aplikasi Mudah Alih

Muat turun dan pasang Blynk dari Android Play Store. Mulakan projek baru untuk Arduino 101. Pilih kaedah komunikasi sebagai BLE. Tambahkan 1 terminal, 2 butang dan BLE ke antara muka. Gambar berikut menunjukkan cara membuat antara muka.

Langkah 6: Fail Kod Blynk

Setelah membuat antara muka di Blynk, anda akan menerima kod kebenaran. Masukkan kod tersebut di tempat berikut.

#include #include char auth = "**************"; // Kod Kebenaran Blynk

Terminal WidgetTerminal (V2);

BLEPeripheral BLEPeriferal;

Dalam proses penentukuran, bacaan sensor semasa disimpan di EEPROM.

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

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrasi Berjaya");

Setelah dikalibrasi, peranti akan membandingkan penyimpangan dengan nilai ambang dan membunyikan bunyi buzzer jika melebihi nilai.

nilai (); jika (abs (flex1-m_flx1)> 10 atau abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

nada (buzzer, 1000);

}

jika (abs (x-m_x)> 15 atau abs (y-m_y)> 15 atau abs (z-m_z)> 15) {

terminal.println ("Lebih condong");

nada (buzzer, 1000);

}

Langkah 7: Fungsi

Kefungsian
Kefungsian

Pasang peranti pada struktur yang perlu dipantau. Pasangkan 2 sensor flex juga. Bekalkan kuasa ke papan menggunakan kabel USB.

Buka antara muka Blynk. Sambungkan dengan peranti dengan menyentuh ikon Bluetooth. Tekan butang penentukuran. Setelah menentukur terminal akan menunjukkan mesej sebagai "Berhasil Ditentukur." Tetapkan semula peranti. Sekarang ia akan memantau strukturnya dan memberitahu anda melalui buzzer jika ia menyimpang dari ubah bentuk. Anda boleh memeriksa nilai sudut dan selekoh kapan saja dengan menekan butang Status. Ini mungkin kelihatan seperti peranti kecil. Tetapi penggunaannya tidak ternilai harganya. Kadang-kadang kita lupa untuk memeriksa keadaan rumah, pejabat dan lain-lain, dengan jadual yang sibuk. Tetapi jika ada masalah kecil, ia mungkin berakhir seperti gambar di atas.

Tetapi dengan peranti ini, ratusan nyawa dapat diselamatkan dengan memberitahu masalah kecil tetapi berbahaya dalam pembinaan.

Langkah 8: Fail Kod Arduino101

#tentukan BLYNK_PRINT Serial

#tentukan flex1 A0

#define flex2 A1 // Tentukan sensor flex dan pin buzzer

#tentukan buzzer 3

#sertakan "CurieIMU.h" #masuk "BlynkSimpleCurieBLE.h"

#sertakan "CurieBLE.h"

#sertakan "Wire.h"

#sertakan "EEPROM.h"

#sertakan "SPI.h"

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

BLEPeripheral BLEPeriferal;

int m_flx1, m_flx2, m_x, m_y, m_z; // nilai disimpan dalam memori

int flx1, flx2, x, y, z; // Bacaan semasa

nilai kekosongan () {untuk (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // Dapatkan bacaan mentah dari sensor

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS) / 100;

y = CurieIMU.readAccelerometer (Y_AXIS) / 100;

z = CurieIMU.readAccelerometer (Z_AXIS) / 100;

kelewatan (2);

}

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

x = x / 100; // Dapatkan nilai rata-rata bacaan

y = y / 100;

z = z / 100;

}

batal persediaan () {// pinMode (3, OUTPUT);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Menetapkan mod pin sensor

Serial.begin (9600);

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

blePeripheral.setPenampilan (384);

Blynk.begin (auth, blePeripheral);

blePeripheral.begin ();

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

m_x = EEPROM.baca (2); // Baca nilai sensor yang telah disimpan dari EEPROM

m_y = EEPROM.baca (3);

m_z = EEPROM.baca (4);

}

gelung kekosongan () {Blynk.run ();

blePeripheral.poll ();

nilai ();

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

nada (buzzer, 1000);

}

jika (abs (x-m_x)> 15 atau abs (y-m_y)> 15 atau abs (z-m_z)> 15) {terminal.println ("Lebih condong");

nada (buzzer, 1000);

}

nada (buzzer, 0);

}

/ * VO menunjukkan mod penentukuran. Dalam mod ini, nilai sensor * disimpan di EEPROM

*/

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

jika (pinValue == 1) {

nilai ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Kalibrasi Berjaya");

}

}

/ * Kami dapat meminta nilai penyimpangan saat ini * dengan menekan butang V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

jika (pinValue == 1) {

nilai (); terminal.print ("sisihan sudut X-");

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

terminal.println ();

terminal.print ("sisihan sudut Y-");

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

terminal.println ();

terminal.print ("sisihan sudut Z-");

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

terminal.println ();

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

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

terminal.println ();

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

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Disyorkan: