Taula de continguts:
- Pas 1: Introducció
- Pas 2: Solució
- Pas 3: Circuit
- Pas 4: finalització del dispositiu
- Pas 5: aplicació mòbil
- Pas 6: fitxers de codi Blynk
- Pas 7: Funcionalitat
- Pas 8: fitxer de codi Arduino101
Vídeo: Salvar la vida amb el monitor de col·lapse de l’edifici: 8 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Analitzeu les estructures de formigó, metall, fusta per a revolts i angles i alertes si s’han desviat de la posició original.
Pas 1: Introducció
Amb el desenvolupament del camp de l’enginyeria civil, podem identificar moltes construccions a tot arreu. Algunes d’elles són estructures metàl·liques, bigues de formigó, edificis multiplataforma. A més, la majoria de nosaltres estem acostumats a romandre en un edifici o casa durant la majoria de moments del dia. Però, com podem assegurar que l’edifici sigui prou segur per romandre? Què passa si hi ha una petita esquerda o biga inclinada al vostre edifici? Riscaria centenars de vides.
Els terratrèmols, la duresa del sòl, els tornados i moltes coses més, podrien ser factors per a les esquerdes internes i la desviació de les estructures o bigues de la posició neutra. La majoria de les vegades no som conscients de la situació de les estructures circumdants. Potser el lloc que entrem cada dia té bigues de formigó esquerdades i es pot esfondrar en qualsevol moment. Però sense saber-ho anem entrant lliurement. Com a solució per a això, necessitem un bon mètode per controlar el formigó, la fusta i les bigues metàl·liques de les construccions on no podem arribar.
Pas 2: Solució
"Structure Analyzer" és un dispositiu portàtil que es pot muntar sobre una biga de formigó, una estructura metàl·lica, lloses, etc. Aquest dispositiu mesura l'angle i analitza els revolts on està muntat i envia les dades a l'aplicació mòbil mitjançant Bluetooth. Aquest dispositiu utilitza un acceleròmetre / giroscopi per mesurar l'angle en plans x, y, z i un sensor de flexió per controlar les corbes. Es processen totes les dades en brut i la informació s’envia a l’aplicació mòbil.
Pas 3: Circuit
Recopileu els components següents.
- Tauler Arduino 101
- 2 sensors X Flex
- 2 X 10k resistències
Per reduir el nombre de components s’utilitza la placa Arduino 101, ja que conté un acceleròmetre i un mòdul BLE. Els sensors flex s’utilitzen per mesurar la quantitat de flexió a mesura que canvia la seva resistència en doblegar-la. El circuit és molt petit ja que només calia connectar 2 resistències i 2 sensors flex. El següent diagrama mostra com connectar un sensor de flexió a la placa Arduino.
Un pin de la resistència està connectat al pin A0 de la placa Arduino. Seguiu el mateix procediment per connectar el segon sensor de flexió. Utilitzeu el pin A1 per connectar la resistència.
Connecteu el brunzidor directament al pin D3 i al pin Gnd.
Pas 4: finalització del dispositiu
Després de fer el circuit, s’ha de fixar dins d’un recinte. Segons el model 3D anterior, s'han de col·locar 2 sensors flexibles al costat oposat del recinte. Deixeu espai al port USB per programar la placa i subministrar l’energia. Com que aquest dispositiu s’ha d’utilitzar durant un llarg període, el millor mètode per subministrar energia és utilitzar un bloc d’alimentació fix.
Pas 5: aplicació mòbil
Descarregueu i instal·leu Blynk des de l'Android Play Store. Inicieu un nou projecte per a Arduino 101. Seleccioneu el mètode de comunicació com a BLE. Afegiu 1 terminal, 2 botons i BLE a la interfície. Les imatges següents mostren com crear la interfície.
Pas 6: fitxers de codi Blynk
Després de crear la interfície a Blynk, rebreu un codi d'autorització. Introduïu aquest codi al lloc següent.
#include #include char auth = "**************"; // Codi d’autorització de Blynk
Terminal WidgetTerminal (V2);
BLEPeripheral blePeripheral;
En el procés de calibratge, les lectures del sensor actual es guarden a la EEPROM.
values (); EEPROM.write (0, flx1);
EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Calibració satisfactòria");
Després de calibrar-lo, el dispositiu compararà la desviació amb els valors llindars i emetrà un so al zumbador si superen el valor.
values (); if (abs (flex1-m_flx1)> 10 o abs (flex2-m_flx2)> 10) {
terminal.println ("Over Bend");
to (brunzidor, 1000);
}
si (abs (x-m_x)> 15 o abs (y-m_y)> 15 o abs (z-m_z)> 15) {
terminal.println ("Més inclinat");
to (brunzidor, 1000);
}
Pas 7: Funcionalitat
Enganxeu el dispositiu a l'estructura que cal controlar. Enganxeu també els 2 sensors flex. Subministreu energia a la placa mitjançant el cable USB.
Obriu la interfície de Blynk. Connecteu-vos amb el dispositiu tocant la icona Bluetooth. Premeu el botó de calibratge. Després de calibrar, el terminal mostrarà un missatge com a "Calibrat correctament". Restableix el dispositiu. Ara controlarà l'estructura i us notificarà a través del brunzidor si es desvia de deformar-se. Podeu comprovar els valors de l'angle i de la flexió en qualsevol moment prement el botó Estat. Pot semblar un dispositiu petit. Però els seus usos no tenen preu. De vegades ens oblidem de comprovar l’estat de la nostra llar, oficina, etc., amb els nostres horaris ocupats. Però si hi ha un petit problema, pot acabar com la figura anterior.
Però amb aquest dispositiu es poden salvar centenars de vides informant dels petits però perillosos problemes de les construccions.
Pas 8: fitxer de codi Arduino101
#defineix BLYNK_PRINT de sèrie
#define flex1 A0
#define flex2 A1 // Definiu el sensor de flexió i els pins del brunzidor
#define buzzer 3
#include "CurieIMU.h" #include "BlynkSimpleCurieBLE.h"
#include "CurieBLE.h"
#include "Wire.h"
#include "EEPROM.h"
#include "SPI.h"
char auth = "**************"; // Terminal de terminal d'autorització de codi d'autorització de Blynk (V2);
BLEPeripheral blePeripheral;
int m_flx1, m_flx2, m_x, m_y, m_z; // valors guardats a la memòria
int flx1, flx2, x, y, z; // Lectures actuals
valors buits () {for (int i = 0; i <100; i ++) {
flx1 = analogRead (flex1); // Obteniu lectures en brut dels sensors
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; // Obteniu els valors mitjans de les lectures
y = y / 100;
z = z / 100;
}
void setup () {// pinMode (3, OUTPUT);
pinMode (flex1, INPUT);
pinMode (flex2, INPUT); // Configuració dels modes de pin del 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); // Llegiu els valors del sensor desats a EEPROM
m_y = EEPROM.read (3);
m_z = EEPROM.read (4);
}
bucle buit () {Blynk.run ();
blePeripheral.poll ();
values ();
if (abs (flex1-m_flx1)> 10 o abs (flex2-m_flx2)> 10) {terminal.println ("Over Bend");
to (brunzidor, 1000);
}
if (abs (x-m_x)> 15 o abs (y-m_y)> 15 o abs (z-m_z)> 15) {terminal.println ("Més inclinat");
to (brunzidor, 1000);
}
to (timbre, 0);
}
/ * VO indica el mode de calibratge. En aquest mode, els valors dels sensors * es desen a la EEPROM
*/
BLYNK_WRITE (V0) {int pinValue = param.asInt ();
if (pinValue == 1) {
values ();
EEPROM.write (0, flx1); EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Calibració satisfactòria");
}
}
/ * Podem sol·licitar els valors de desviació actuals * prement el botó V1
*/
BLYNK_WRITE (V1) {
int PinValue = param.asInt ();
if (pinValue == 1) {
values (); terminal.print ("desviació de l'angle X");
terminal.print (abs (x-m_x));
terminal.println ();
terminal.print ("desviació de l'angle Y");
terminal.print (abs (y-m_y));
terminal.println ();
terminal.print ("desviació de l'angle Z");
terminal.print (abs (z-m_z));
terminal.println ();
terminal.print ("desviació Flex 1");
terminal.print (abs (flx1-m_flx1));
terminal.println ();
terminal.print ("Desviació Flex 2");
terminal.print (abs (flx2-m_flx2));
terminal.println ();
}
}
BLYNK_WRITE (V2) {
}
Recomanat:
Mòdul d’odometria, en col·laboració amb JLCPCB: 4 passos
Mòdul d’odometria, en col·laboració amb JLCPCB: StoryRobotech Nancy és un projecte francès situat a Polytech Nancy, una escola d’enginyeria a l’est de França. Està format per 16 estudiants amb l'objectiu de competir a la Copa de França de Robòtica del 2020. Malauradament, el futur de la competició és incert
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Salvar la vida avorrida amb una làmpada intel·ligent: 3 passos
Salvar la vida avorrida amb una làmpada intel·ligent: tots esperem que puguem viure més còmodament a casa. Si sovint us sentiu incòmode perquè l’enfosquiment de les làmpades domèstiques no és prou intel·ligent? O si us sentiu monòton per la funció de la làmpada domèstica? Aquesta làmpada us pot resoldre
Cotxe anti-col·lisió Arduino controlat amb Bluetooth: 3 passos (amb imatges)
Cotxe anti-col·lisió Arduino controlat amb Bluetooth: A continuació s’explica com fer un cotxe anti-col·lisió Arduino controlat amb Bluetooth
Què cal fer amb col·leccions de motors aleatoris: Projecte 2: Llums giratoris (model OVNI): 12 passos (amb imatges)
Què fer amb les col·leccions de motors aleatoris: Projecte 2: llums giratoris (model OVNI): Per tant, encara tinc una col·lecció de motors aleatoris … Què faré? Bé, pensem-ho. Com et trobes amb una llum LED? (No és de mà, ho sento, els amants de les filadores). Sembla una mica un OVNI, sona com una barreja entre un desherbat i una batedora