Daftar Isi:

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

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

Video: Selamatkan Hidup Anda Dengan Monitor Runtuh Bangunan: 8 Langkah
Video: VIDEO ORANG BUNUH DIRI (LEMAH JANTUNG JANGAN LIHAT) 2024, Desember
Anonim
Selamatkan Hidup Anda Dengan Monitor Runtuh Bangunan
Selamatkan Hidup Anda Dengan Monitor Runtuh Bangunan

Analisis struktur beton, logam, kayu untuk tikungan dan sudut dan peringatan jika menyimpang dari posisi semula.

Langkah 1: Pendahuluan

pengantar
pengantar

Dengan berkembangnya bidang teknik sipil, kita dapat mengidentifikasi banyak konstruksi di mana-mana. Struktur logam, balok beton, bangunan multi-platform adalah beberapa di antaranya. Selanjutnya, kebanyakan dari kita terbiasa tinggal di gedung atau rumah hampir sepanjang hari. Tapi bagaimana kita bisa memastikan bahwa bangunan itu cukup aman untuk ditinggali? Bagaimana jika ada retakan kecil atau balok miring di gedung Anda? Itu akan mempertaruhkan ratusan nyawa.

Gempa bumi, kekerasan tanah, angin puting beliung dan masih banyak lagi, dapat menjadi faktor retak internal dan penyimpangan struktur atau balok dari posisi netral. Sebagian besar waktu kita tidak menyadari situasi struktur sekitarnya. Mungkin tempat yang kita jalani sehari-hari memiliki balok beton yang retak dan sewaktu-waktu bisa runtuh. Tapi tanpa kita sadari kita dengan leluasa masuk ke dalam. Sebagai solusi untuk hal ini, kita membutuhkan metode yang baik untuk memantau beton, kayu, balok logam dari konstruksi yang tidak bisa kita jangkau.

Langkah 2: Solusi

Larutan
Larutan
Larutan
Larutan

"Structure Analyzer" adalah perangkat portabel yang dapat dipasang pada balok beton, struktur logam, pelat, dll. Perangkat ini mengukur sudut dan menganalisis tikungan di mana ia dipasang dan mengirim data ke aplikasi seluler melalui Bluetooth. Perangkat ini menggunakan akselerometer/Giroskop untuk mengukur sudut dalam bidang x, y, z dan sensor flex untuk memantau tikungan. Semua data mentah diproses dan informasi dikirim ke aplikasi seluler.

Langkah 3: Sirkuit

sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit

Kumpulkan komponen berikut.

  • Papan Arduino 101
  • 2 X sensor Fleksibel
  • 2 X 10k Resistor

Untuk mengurangi jumlah komponen, papan Arduino 101 digunakan di sini karena berisi akselerometer dan modul BLE. Sensor fleksi digunakan untuk mengukur jumlah pembengkokan saat mengubah resistansinya saat ditekuk. Sirkuit ini sangat kecil karena hanya 2 resistor dan 2 sensor fleksibel yang perlu dihubungkan. Diagram berikut menunjukkan cara menghubungkan sensor fleksibel ke papan Arduino.

Satu pin resistor terhubung ke pin A0 papan Arduino. Ikuti prosedur yang sama untuk menghubungkan sensor flex kedua. Gunakan pin A1 untuk menghubungkan resistor.

Hubungkan buzzer langsung ke pin D3 dan pin Gnd.

Langkah 4: Menyelesaikan Perangkat

Menyelesaikan Perangkat
Menyelesaikan Perangkat
Menyelesaikan Perangkat
Menyelesaikan Perangkat

Setelah membuat sirkuit, itu harus diperbaiki di dalam selungkup. Menurut model 3D di atas, 2 sensor fleksibel harus ditempatkan di sisi yang berlawanan dari enklosur. Beri ruang untuk port USB untuk memprogram papan dan memasok daya. Karena perangkat ini perlu digunakan untuk waktu yang lama, metode terbaik untuk memasok daya adalah menggunakan paket daya tetap.

Langkah 5: Aplikasi Seluler

Aplikasi Seluler
Aplikasi Seluler
Aplikasi Seluler
Aplikasi Seluler
Aplikasi Seluler
Aplikasi Seluler

Unduh dan instal Blynk dari Android Play Store. Mulai proyek baru untuk Arduino 101. Pilih metode komunikasi sebagai BLE. Tambahkan 1 terminal, 2 tombol dan BLE ke antarmuka. Gambar berikut menunjukkan cara membuat antarmuka.

Langkah 6: File Kode Blynk

Setelah membuat antarmuka di Blynk Anda akan menerima kode otorisasi. Masukkan kode itu di tempat berikut.

#include #include char auth = "***************"; //Kode Otorisasi Blynk

Terminal Terminal Widget(V2);

BLEPeriferal blePeriferal;

Dalam proses kalibrasi, pembacaan sensor arus disimpan di EEPROM.

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

EEPROM.write(1, flx2);

EEPROM.tulis(2, x);

EEPROM.tulis(3, y);

EEPROM.tulis(4, z);

terminal.print("Kalibrasi Berhasil");

Setelah kalibrasi, perangkat akan membandingkan deviasi dengan nilai ambang batas dan membunyikan bel jika melebihi nilai.

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

terminal.println("Melewati Tikungan");

nada (bel, 1000);

}

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

terminal.println("Melebihi Cenderung");

nada (bel, 1000);

}

Langkah 7: Fungsionalitas

Kegunaan
Kegunaan

Tempelkan perangkat pada struktur yang perlu dipantau. Tempelkan 2 sensor fleksibel juga. Pasokan daya ke papan menggunakan kabel USB.

Buka antarmuka Blynk. Hubungkan dengan perangkat dengan menyentuh ikon Bluetooth. Tekan tombol kalibrasi. Setelah mengkalibrasi terminal akan menampilkan pesan sebagai "Berhasil Dikalibrasi." Setel ulang perangkat. Sekarang akan memantau struktur dan memberi tahu Anda melalui bel jika menyimpang dari deformasi. Anda dapat memeriksa nilai sudut dan tikungan kapan saja dengan menekan tombol Status. Ini mungkin terlihat seperti perangkat kecil. Tapi kegunaannya tak ternilai harganya. Terkadang kita lupa mengecek kondisi rumah, kantor dll, dengan jadwal padat kita. Tapi jika ada masalah kecil, mungkin akan berakhir seperti gambar di atas.

Namun dengan perangkat ini, ratusan nyawa dapat diselamatkan dengan menginformasikan masalah kecil namun berbahaya dalam konstruksi.

Langkah 8: File Kode Arduino101

#tentukan Serial BLYNK_PRINT

#definisikan flex1 A0

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

#tentukan bel 3

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

#sertakan "CurieBLE.h"

#sertakan "Wire.h"

#sertakan "EEPROM.h"

#sertakan "SPI.h"

char auth = "***************"; //Blynk Kode Otorisasi WidgetTerminal terminal(V2);

BLEPeriferal blePeriferal;

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

int flx1, flx2, x, y, z; //Bacaan saat ini

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

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

flx2 = analogRead(flex2);

x = CurieIMU.readAccelerometer(X_AXIS)/100;

y = CurieIMU.readAccelerometer(Y_AXIS)/100;

z = CurieIMU.readAccelerometer(Z_AXIS)/100;

penundaan (2);

}

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

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

y = y/100;

z = z/100;

}

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

pinMode(flex1, INPUT);

pinMode(flex2, INPUT); //Mengatur mode pin sensor

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); //Baca nilai sensor yang disimpan sebelumnya dari EEPROM

m_y = EEPROM.read(3);

m_z = EEPROM.read(4);

}

void loop(){ Blynk.run();

blePeripheral.poll();

nilai();

if(abs(flex1-m_flx1)>10 atau abs(flex2-m_flx2)>10){ terminal.println("Melewati Tikungan");

nada (bel, 1000);

}

if(abs(x-m_x)>15 atau abs(y-m_y)>15 atau abs(z-m_z)>15){ terminal.println("Melebihi Miring");

nada (bel, 1000);

}

nada (bel, 0);

}

/*VO menunjukkan mode kalibrasi. Dalam mode ini nilai sensor * disimpan di EEPROM

*/

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

if (nilai pin == 1){

nilai();

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

EEPROM.tulis(2, x);

EEPROM.tulis(3, y);

EEPROM.tulis(4, z);

terminal.print("Kalibrasi Berhasil");

}

}

/*Kami dapat meminta nilai deviasi saat ini * dengan menekan tombol V1

*/

BLYNK_MENULIS(V1){

int pinValue = param.asInt();

if (nilai pin == 1){

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

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

terminal.println();

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

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

terminal.println();

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

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

terminal.println();

terminal.print("Penyimpangan flex 1- ");

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

terminal.println();

terminal.print("Penyimpangan flex 2- ");

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

terminal.println();

}

}

BLYNK_MENULIS(V2){

}

Direkomendasikan: