Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Analüüsige betooni-, metalli-, puitkonstruktsioone kurvide ja nurkade osas ning märguandeid, kui need on algsest asendist kõrvale kaldunud.
Samm 1: Sissejuhatus
Tsiviilehituse valdkonna arenguga saame igal pool tuvastada palju konstruktsioone. Metallkonstruktsioonid, betoontalad, mitme platvormiga hooned on mõned neist. Lisaks on enamik meist harjunud enamikul kellaaegadel hoones või kodus viibima. Aga kuidas me saame tagada, et hoone on piisavalt ohutu, et jääda? Mis siis, kui teie hoones on väike pragu või ülekaldu tala? See ohustaks sadu elusid.
Maavärinad, mulla kõvadus, tornaadod ja palju muud võivad olla tegurid sisemiste pragude ja konstruktsioonide või talade kõrvalekaldumiseks neutraalsest asendist. Enamasti ei ole me ümbritsevate struktuuride olukorrast teadlikud. Võib -olla on koht, kus me iga päev kõnnime, pragunenud betoonpalgid ja võib igal ajal kokku kukkuda. Kuid seda teadmata läheme vabalt sisse. Selle lahendusena vajame head meetodit betoonist, puidust, metalltaladest konstruktsioonide jälgimiseks, kuhu me ei pääse.
2. samm: lahendus
„Struktuurianalüsaator” on kaasaskantav seade, mida saab paigaldada betoontalale, metallkonstruktsioonile, plaatidele jne. See seade mõõdab nurka ja analüüsib paindumiskohti, kus see on paigaldatud, ning saadab andmed Bluetoothi kaudu mobiilirakendusse. See seade kasutab kiirendusmõõturit/ güroskoopi, et mõõta nurka x, y, z tasapindades ja paindeandurit, et jälgida paindeid. Kõik algandmed töödeldakse ja teave saadetakse mobiilirakendusse.
3. samm: ahel
Koguge järgmised komponendid.
- Arduino 101 juhatus
- 2 X Flex andurit
- 2 X 10k takistid
Komponentide arvu vähendamiseks kasutatakse siin Arduino 101 plaati, kuna see sisaldab kiirendusmõõturit ja BLE moodulit. Paindehulga mõõtmiseks kasutatakse paindeandureid, kuna see muudab painde vastupanu. Vooluahel on väga väike, kuna ühendamiseks oli vaja ainult 2 takistit ja 2 paindeandurit. Järgmine diagramm näitab, kuidas paindeandurit Arduino plaadiga ühendada.
Üks takisti tihvt on ühendatud Arduino plaadi A0 tihvtiga. Teise paindeanduri ühendamiseks järgige sama protseduuri. Takisti ühendamiseks kasutage A1 tihvti.
Ühendage helisignaal otse D3 ja Gnd tihvtiga.
Samm: seadme viimistlemine
Pärast vooluringi tegemist tuleb see kinnitada korpuse sisse. Ülaltoodud 3D -mudeli kohaselt tuleb korpuse vastasküljele paigutada 2 paindeandurit. Tehke ruumi USB -pordi jaoks plaadi programmeerimiseks ja toite varustamiseks. Kuna seda seadet on vaja pikka aega kasutada, on parim viis toiteallikaks kasutada fikseeritud toiteallikat.
Samm: mobiilirakendus
Laadige alla ja installige Blynk Android Play poest. Alustage Arduino 101 jaoks uut projekti. Valige suhtlusmeetodiks BLE. Lisage liidesele 1 terminal, 2 nuppu ja BLE. Järgmised pildid näitavad teile, kuidas liidest luua.
Samm: Blynk -koodifailid
Pärast liidese loomist Blynkis saate autoriseerimiskoodi. Sisestage see kood järgmisesse kohta.
#include #include char auth = "**************"; // Blynk Authorization Code
VidinTerminali terminal (V2);
BLEPeripheral blePeripheral;
Kalibreerimisprotsessis salvestatakse anduri praegused näidud EEPROM -i.
väärtused(); EEPROM.write (0, flx1);
EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Calibration Succesful");
Pärast kalibreerimist võrdleb seade hälvet läviväärtustega ja annab helisignaali, kui need ületavad väärtuse.
väärtused(); kui (abs (flex1-m_flx1)> 10 või abs (flex2-m_flx2)> 10) {
terminal.println ("Üle painde");
toon (sumin, 1000);
}
kui (abs (x-m_x)> 15 või abs (y-m_y)> 15 või abs (z-m_z)> 15) {
terminal.println ("Üle kaldu");
toon (sumin, 1000);
}
Samm: funktsionaalsus
Kleepige seade jälgitava struktuuri külge. Kleepige ka 2 paindeandurit. Toite plaadile toite USB -kaabli abil.
Avage Blynk liides. Ühendage seadmega, puudutades Bluetoothi ikooni. Vajutage kalibreerimisnuppu. Pärast kalibreerimist kuvatakse terminalis teade "Kalibreerimine õnnestus". Lähtestage seade. Nüüd jälgib see struktuuri ja teavitab teid summeri kaudu, kui see deformeerub. Nurga ja painde väärtusi saate igal ajal kontrollida, vajutades oleku nuppu. See võib tunduda väike seade. Kuid selle kasutamine on hindamatu. Mõnikord unustame oma tiheda ajakavaga kontrollida oma kodu, kontori jne seisukorda. Kuid väikese probleemi korral võib see lõppeda nagu ülaltoodud joonisel.
Kuid selle seadmega saab sadu elusid päästa, teavitades konstruktsioonides esinevaid väikseid, kuid ohtlikke probleeme.
Samm: Arduino101 koodifail
#define BLYNK_PRINT seeria
#define flex1 A0
#define flex2 A1 // Määra paindeanduri ja summeri tihvtid
#definiseeri helisignaal 3
#sisalda "CurieIMU.h"#sisalda "BlynkSimpleCurieBLE.h"
#include "CurieBLE.h"
#include "Wire.h"
#include "EEPROM.h"
#include "SPI.h"
char auth = "**************"; // Blynk Authorization Code WidgetTerminal terminal (V2);
BLEPeripheral blePeripheral;
int m_flx1, m_flx2, m_x, m_y, m_z; // mällu salvestatud väärtused
int flx1, flx2, x, y, z; // Praegused näidud
tühjad väärtused () {for (int i = 0; i <100; i ++) {
flx1 = analogRead (flex1); // Andurite töötlemata näitude saamine
flx2 = analogRead (flex2);
x = CurieIMU.readKiirendusmõõtur (X_AXIS)/100;
y = CurieIMU.readKiirendusmõõtur (Y_AXIS)/100;
z = CurieIMU.readKiirendusmõõtur (Z_AXIS)/100;
viivitus (2);
}
flx1 = flx1/100; flx2 = flx2/100;
x = x/100; // Näitude keskmised väärtused
y = y/100;
z = z/100;
}
void setup () {// pinMode (3, VÄLJUND);
pinMode (flex1, INPUT);
pinMode (flex2, INPUT); // Anduri pin -režiimide seadistamine
Seriaalne algus (9600);
blePeripheral.setLocalName ("Arduino101Blynk"); blePeripheral.setDeviceName ("Arduino101Blynk");
blePeripheral.setAppearance (384);
Blynk.begin (autent, blePeripheral);
blePeripheral.begin ();
m_flx1 = EEPROM.read (0); m_flx2 = EEPROM.read (1);
m_x = EEPROM.read (2); // EEPROM -i eelnevalt salvestatud anduri väärtuste lugemine
m_y = EEPROM.read (3);
m_z = EEPROM.read (4);
}
void loop () {Blynk.run ();
blePeripheral.poll ();
väärtused();
if (abs (flex1-m_flx1)> 10 või abs (flex2-m_flx2)> 10) {terminal.println ("Üle painde");
toon (sumin, 1000);
}
kui (abs (x-m_x)> 15 või abs (y-m_y)> 15 või abs (z-m_z)> 15) {terminal.println ("Üle kaldus");
toon (sumin, 1000);
}
toon (sumin, 0);
}
/*VO näitab kalibreerimisrežiimi. Selles režiimis salvestatakse andurite * väärtused EEPROM -i
*/
BLYNK_WRITE (V0) {int pinValue = param.asInt ();
kui (pinValue == 1) {
väärtused();
EEPROM.write (0, flx1); EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Calibration Succesful");
}
}
/ * Võime küsida praeguseid kõrvalekaldeid *, vajutades nuppu V1
*/
BLYNK_WRITE (V1) {
int pinValue = param.asInt ();
kui (pinValue == 1) {
väärtused(); terminal.print ("X nurga kõrvalekalle-");
terminal.print (abs (x-m_x));
terminal.println ();
terminal.print ("Y nurga kõrvalekalle-");
terminal.print (abs (y-m_y));
terminal.println ();
terminal.print ("Z nurga kõrvalekalle-");
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 kõrvalekalle-");
terminal.print (abs (flx2-m_flx2));
terminal.println ();
}
}
BLYNK_WRITE (V2) {
}