Table des matières:

Sauvez votre vie avec le Building Collapse Monitor : 8 étapes
Sauvez votre vie avec le Building Collapse Monitor : 8 étapes

Vidéo: Sauvez votre vie avec le Building Collapse Monitor : 8 étapes

Vidéo: Sauvez votre vie avec le Building Collapse Monitor : 8 étapes
Vidéo: 【抗日電影】红军赶路途中竟與敵軍相遇,小夥不慌不忙騙他是友軍再殺他們個措手不及! ⚔️ 抗日 | 戰爭 | 神槍手 | 佟大為 | 人物传记电影 Full Movie HD 2024, Juillet
Anonim
Sauvez votre vie avec le moniteur d'effondrement de bâtiment
Sauvez votre vie avec le moniteur d'effondrement de bâtiment

Analysez les structures en béton, en métal, en bois pour les coudes et les angles et alerte si elles ont dévié de la position d'origine.

Étape 1: Présentation

introduction
introduction

Avec le développement du domaine du génie civil, nous pouvons identifier beaucoup de constructions partout. Les structures métalliques, les poutres en béton, les bâtiments multiplateformes en font partie. De plus, la plupart d'entre nous ont l'habitude de rester dans un immeuble ou une maison pendant la plupart des heures de la journée. Mais comment pouvons-nous nous assurer que le bâtiment est suffisamment sûr pour rester ? Et s'il y a une petite fissure ou une poutre trop inclinée dans votre bâtiment ? Cela risquerait des centaines de vies.

Les tremblements de terre, la dureté du sol, les tornades et bien d'autres choses pourraient être des facteurs de fissures internes et de déviation des structures ou des poutres par rapport à la position neutre. La plupart du temps, nous ne sommes pas conscients de la situation des structures environnantes. Peut-être que l'endroit où nous marchons tous les jours a des poutres en béton fissurées et peut s'effondrer à tout moment. Mais sans le savoir, nous allons librement à l'intérieur. Comme solution pour cela, nous avons besoin d'une bonne méthode pour surveiller les poutres en béton, bois, métal des constructions où nous ne pouvons pas atteindre.

Étape 2: Résolution

Solution
Solution
Solution
Solution

« Structure Analyzer » est un appareil portable qui peut être monté sur une poutre en béton, une structure métallique, des dalles, etc. Cet appareil mesure l'angle et analyse les coudes où il est monté et envoie les données à l'application mobile via Bluetooth. Cet appareil utilise un accéléromètre/gyroscope pour mesurer l'angle dans les plans x, y, z et un capteur de flexion pour surveiller les virages. Toutes les données brutes sont traitées et les informations sont envoyées à l'application mobile.

Étape 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Rassemblez les composants suivants.

  • Carte Arduino 101
  • 2 capteurs Flex
  • 2 résistances 10k

Pour réduire le nombre de composants, la carte Arduino 101 est utilisée ici car elle contient un accéléromètre et un module BLE. Les capteurs Flex sont utilisés pour mesurer la quantité de flexion car elle change sa résistance lors de la flexion. Le circuit est très petit car seulement 2 résistances et 2 capteurs flexibles devaient être connectés. Le schéma suivant montre comment connecter un capteur flexible à la carte Arduino.

Une broche de la résistance est connectée à la broche A0 de la carte Arduino. Suivez la même procédure pour connecter le deuxième capteur flex. Utilisez la broche A1 pour connecter la résistance.

Connectez le buzzer directement à la broche D3 et à la broche Gnd.

Étape 4: Terminer l'appareil

Finition de l'appareil
Finition de l'appareil
Finition de l'appareil
Finition de l'appareil

Après avoir fait le circuit, il doit être fixé à l'intérieur d'une enceinte. Selon le modèle 3D ci-dessus, 2 capteurs flexibles doivent être placés du côté opposé du boîtier. Faites de la place pour le port USB pour programmer la carte et fournir l'alimentation. Comme cet appareil doit être utilisé pendant une longue période, la meilleure méthode d'alimentation est d'utiliser un bloc d'alimentation fixe.

Étape 5: Application mobile

Application mobile
Application mobile
Application mobile
Application mobile
Application mobile
Application mobile

Téléchargez et installez Blynk depuis Android Play Store. Démarrez un nouveau projet pour Arduino 101. Sélectionnez la méthode de communication comme BLE. Ajoutez 1 terminal, 2 boutons et BLE à l'interface. Les images suivantes vous montrent comment créer l'interface.

Étape 6: fichiers de code Blynk

Après avoir fait l'interface sur Blynk vous recevrez un code d'autorisation. Entrez ce code à l'endroit suivant.

#include #include char auth = "**************"; //Code d'autorisation Blynk

Terminal WidgetTerminal (V2);

BLEPériphérique blePériphérique;

Dans le processus d'étalonnage, les lectures actuelles du capteur sont enregistrées dans l'EEPROM.

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

EEPROM.write(1, flx2);

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Étalonnage réussi");

Après l'étalonnage, l'appareil comparera l'écart avec les valeurs de seuil et émettra un bip sonore si elles dépassent la valeur.

valeurs(); if(abs(flex1-m_flx1)>10 ou abs(flex2-m_flx2)>10){

terminal.println("Over Bend");

tonalité (buzzer, 1000);

}

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

terminal.println("Sur incliné");

tonalité (buzzer, 1000);

}

Étape 7: Fonctionnalité

Fonctionnalité
Fonctionnalité

Collez l'appareil sur la structure à surveiller. Collez également les 2 capteurs de flexion. Alimentez la carte à l'aide du câble USB.

Ouvrez l'interface Blynk. Connectez-vous à l'appareil en touchant l'icône Bluetooth. Appuyez sur le bouton d'étalonnage. Après avoir calibré, le terminal affichera un message comme "Calibré avec succès". Réinitialisez l'appareil. Maintenant, il surveillera la structure et vous avertira via le buzzer si elle s'écarte des déformations. Vous pouvez vérifier les valeurs d'angle et de pliage à tout moment en appuyant sur le bouton État. Cela pourrait ressembler à un petit appareil. Mais ses utilisations sont inestimables. Parfois, nous oublions de vérifier l'état de notre maison, de notre bureau, etc., avec nos horaires chargés. Mais s'il y a un petit problème, cela peut se terminer comme la figure ci-dessus.

Mais avec cet appareil, des centaines de vies peuvent être sauvées en informant les petits mais dangereux problèmes dans les constructions.

Étape 8: Fichier de code Arduino101

#define BLYNK_PRINT Série

#définir flex1 A0

#define flex2 A1 //Définir les broches du capteur flex et du buzzer

#définir le buzzer 3

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

#include "CurieBLE.h"

#include "Fil.h"

#include "EEPROM.h"

#include "SPI.h"

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

BLEPériphérique blePériphérique;

int m_flx1, m_flx2, m_x, m_y, m_z; //valeurs enregistrées en mémoire

int flx1, flx2, x, y, z; //Lectures actuelles

valeurs nulles(){ for(int i=0;i<100;i++){

flx1 = analogRead(flex1); //Obtenir les lectures brutes des capteurs

flx2 = analogRead(flex2);

x = CurieIMU.readAccelerometer(X_AXIS)/100;

y = CurieIMU.readAccelerometer(Y_AXIS)/100;

z = CurieIMU.readAccelerometer(Z_AXIS)/100;

retard(2);

}

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

x = x/100; //Obtenir les valeurs moyennes des lectures

y = y/100;

z = z/100;

}

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

pinMode(flex1, INPUT);

pinMode(flex2, INPUT); //Définition des modes de broche du capteur

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); //Lire les valeurs de capteur préenregistrées à partir de l'EEPROM

m_y = EEPROM.read(3);

m_z = EEPROM.read(4);

}

boucle vide(){ Blynk.run();

blePeripheral.poll();

valeurs();

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

tonalité (buzzer, 1000);

}

if(abs(x-m_x)>15 ou abs(y-m_y)>15 ou abs(z-m_z)>15){ terminal.println("Over Inclined");

tonalité (buzzer, 1000);

}

tonalité (buzzer, 0);

}

/*VO indique le mode de calibrage. Dans ce mode les valeurs des capteurs * sont enregistrées dans l'EEPROM

*/

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

if (pinValue == 1){

valeurs();

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

EEPROM.write(2, x);

EEPROM.write(3, y);

EEPROM.write(4, z);

terminal.print("Étalonnage réussi");

}

}

/*On peut demander les valeurs de déviation courante * en appuyant sur le bouton V1

*/

BLYNK_WRITE(V1){

int pinValue = param.asInt();

if (pinValue == 1){

valeurs(); terminal.print("Déviation de l'angle X- ");

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

terminal.println();

terminal.print("Déviation de l'angle Y- ");

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

terminal.println();

terminal.print("Déviation de l'angle Z- ");

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

terminal.println();

terminal.print("Déviation Flex 1- ");

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

terminal.println();

terminal.print("Déviation Flex 2- ");

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

terminal.println();

}

}

BLYNK_WRITE(V2){

}

Conseillé: