Turinys:
- 1 žingsnis: Įvadas
- 2 žingsnis: sprendimas
- 3 žingsnis: grandinė
- 4 žingsnis: Įrenginio apdaila
- 5 veiksmas: programa mobiliesiems
- 6 žingsnis: „Blynk“kodo failai
- 7 žingsnis: funkcionalumas
- 8 veiksmas: „Arduino101“kodo failas
Video: Išsaugokite savo gyvybę naudodami pastato griūties monitorių: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Išanalizuokite betono, metalo, medžio konstrukcijas, ar nėra lenkimų ir kampų, ir įspėjimus, jei jie nukrypo nuo pradinės padėties.
1 žingsnis: Įvadas
Vystantis civilinės inžinerijos sričiai, visur galime identifikuoti daugybę konstrukcijų. Kai kurios iš jų yra metalinės konstrukcijos, betoninės sijos, kelių platformų pastatai. Be to, dauguma iš mūsų yra įpratę likti pastate ar namuose didžiąją dienos dalį. Bet kaip galime užtikrinti, kad pastatas yra pakankamai saugus, kad liktų? Ką daryti, jei jūsų pastate yra nedidelis įtrūkimas ar perlenkta sija? Tai rizikuotų šimtais gyvybių.
Žemės drebėjimai, dirvožemio kietumas, tornadai ir daugelis kitų dalykų gali būti vidinių įtrūkimų ir konstrukcijų ar sijų nukrypimo nuo neutralios padėties veiksniai. Daugeliu atvejų mes nežinome aplinkinių struktūrų situacijos. Galbūt vieta, kurioje kasdien vaikštome, turi įtrūkusias betonines sijas ir gali bet kada sugriūti. Tačiau to nežinodami mes laisvai einame į vidų. Norėdami išspręsti šią problemą, mums reikia gero būdo stebėti betono, medžio, metalo sijas, kurių mes negalime pasiekti.
2 žingsnis: sprendimas
„Struktūros analizatorius“yra nešiojamas įrenginys, kurį galima montuoti ant betoninės sijos, metalinės konstrukcijos, plokščių ir pan. Šis prietaisas matuoja kampą ir analizuoja posūkius, kur jis yra sumontuotas, ir siunčia duomenis į programą mobiliesiems per „Bluetooth“. Šis prietaisas naudoja akselerometrą/ giroskopą kampui x, y, z plokštumose matuoti ir lenkimo jutikliui stebėti posūkius. Visi neapdoroti duomenys apdorojami ir informacija siunčiama į programą mobiliesiems.
3 žingsnis: grandinė
Surinkite šiuos komponentus.
- „Arduino 101“lenta
- 2 X Flex jutikliai
- 2 X 10k rezistoriai
Siekiant sumažinti komponentų skaičių, čia naudojama „Arduino 101“plokštė, nes joje yra akselerometras ir BLE modulis. Lankstumo jutikliai naudojami lenkimo kiekiui matuoti, nes jis keičia pasipriešinimą lenkimo metu. Grandinė yra labai maža, nes reikėjo prijungti tik 2 rezistorius ir 2 lanksčius jutiklius. Šioje diagramoje parodyta, kaip prijungti lankstumo jutiklį prie „Arduino“plokštės.
Vienas rezistoriaus kaištis yra prijungtas prie „Arduino“plokštės A0 kaiščio. Atlikite tą pačią procedūrą, kad prijungtumėte antrąjį lankstumo jutiklį. Norėdami prijungti rezistorių, naudokite A1 kaištį.
Prijunkite garso signalą tiesiai prie D3 ir Gnd kaiščio.
4 žingsnis: Įrenginio apdaila
Sukūrus grandinę, ji turi būti pritvirtinta gaubto viduje. Pagal aukščiau pateiktą 3D modelį 2 lankstūs jutikliai turi būti pastatyti priešingoje korpuso pusėje. Suteikite vietos USB prievadui programuoti plokštę ir tiekti maitinimą. Kadangi šį įrenginį reikia naudoti ilgą laiką, geriausias energijos tiekimo būdas yra fiksuoto maitinimo bloko naudojimas.
5 veiksmas: programa mobiliesiems
Atsisiųskite ir įdiekite „Blynk“iš „Android Play“parduotuvės. Pradėkite naują „Arduino 101“projektą. Pasirinkite ryšio metodą kaip BLE. Prie sąsajos pridėkite 1 terminalą, 2 mygtukus ir BLE. Tolesniuose paveikslėliuose parodyta, kaip sukurti sąsają.
6 žingsnis: „Blynk“kodo failai
Sukūrę „Blynk“sąsają, gausite autorizacijos kodą. Įveskite šį kodą šioje vietoje.
#include #include char auth = "**************"; // Blynk autorizacijos kodas
ValdiklisTerminalo terminalas (V2);
BLEPeripheral blePeripheral;
Kalibravimo metu dabartiniai jutiklių rodmenys išsaugomi EEPROM.
vertės (); EEPROM.write (0, flx1);
EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Kalibravimas sėkmingas");
Po kalibravimo prietaisas palygins nuokrypį su slenksčio reikšmėmis ir pypsės, kai signalas viršija vertę.
vertės (); jei (abs (flex1-m_flx1)> 10 arba abs (flex2-m_flx2)> 10) {
terminal.println ("Over Bend");
tonas (garsinis signalas, 1000);
}
jei (abs (x-m_x)> 15 arba abs (y-m_y)> 15 arba abs (z-m_z)> 15) {
terminal.println ("Perlenkta");
tonas (garsinis signalas, 1000);
}
7 žingsnis: funkcionalumas
Priklijuokite prietaisą prie konstrukcijos, kurią reikia stebėti. Taip pat priklijuokite 2 lankstumo jutiklius. Maitinkite plokštę naudodami USB kabelį.
Atidarykite „Blynk“sąsają. Prisijunkite prie įrenginio paliesdami „Bluetooth“piktogramą. Paspauskite kalibravimo mygtuką. Po kalibravimo terminalas parodys pranešimą „Sėkmingai kalibruotas“. Iš naujo nustatykite įrenginį. Dabar jis stebės struktūrą ir praneša jums per garsinį signalą, jei jis nukrypsta nuo deformacijų. Galite bet kuriuo metu patikrinti kampo ir lenkimo vertes paspausdami būsenos mygtuką. Tai gali atrodyti kaip mažas įrenginys. Tačiau jo naudojimas yra neįkainojamas. Kartais pamirštame patikrinti savo namų, biuro ir tt būklę pagal mūsų užimtumą. Bet jei yra nedidelė problema, tai gali baigtis taip, kaip parodyta aukščiau.
Tačiau naudojant šį prietaisą galima išgelbėti šimtus gyvybių, informuojant apie nedideles, tačiau pavojingas statybų problemas.
8 veiksmas: „Arduino101“kodo failas
#define BLYNK_PRINT Serialas
#define flex1 A0
#define flex2 A1 // Apibrėžkite lankstumo jutiklį ir signalų kaiščius
#apibrėžti signalą 3
#įtraukti „CurieIMU.h“#įtraukti „BlynkSimpleCurieBLE.h“
#įtraukti „CurieBLE.h“
#įtraukti „Wire.h“
#include "EEPROM.h"
#įtraukti „SPI.h“
char auth = "**************"; // „Blynk Authorization Code WidgetTerminal terminal“(V2);
BLEPeripheral blePeripheral;
int m_flx1, m_flx2, m_x, m_y, m_z; // atmintyje išsaugotos vertės
int flx1, flx2, x, y, z; // Dabartiniai rodmenys
void values () {for (int i = 0; i <100; i ++) {
flx1 = analogRead (flex1); // Gaukite neapdorotus rodmenis iš jutiklių
flx2 = analogRead (flex2);
x = CurieIMU.readAkcelerometras (X_AXIS)/100;
y = „CurieIMU.readAccelerometer“(Y_AXIS)/100;
z = CurieIMU.readAkcelerometras (Z_AXIS)/100;
uždelsimas (2);
}
flx1 = flx1/100; flx2 = flx2/100;
x = x/100; // Gaukite vidutines rodmenų reikšmes
y = y/100;
z = z/100;
}
void setup () {// pinMode (3, OUTPUT);
pinMode (flex1, INPUT);
pinMode (flex2, INPUT); // Jutiklio kaiščio režimų nustatymas
Serial.begin (9600);
blePeripheral.setLocalName ("Arduino101Blynk"); blePeripheral.setDeviceName ("Arduino101Blynk");
blePeripheral.setAppearance (384);
Blynk.begin (aut., BlePeripheral);
blePeripheral.begin ();
m_flx1 = EEPROM.read (0); m_flx2 = EEPROM.read (1);
m_x = EEPROM.read (2); // Skaityti iš anksto išsaugotas jutiklio vertes iš EEPROM
m_y = EEPROM.read (3);
m_z = EEPROM.read (4);
}
tuštumos kilpa () {Blynk.run ();
blePeripheral.poll ();
vertės ();
if (abs (flex1-m_flx1)> 10 arba abs (flex2-m_flx2)> 10) {terminal.println ("Per lenkimą");
tonas (garsinis signalas, 1000);
}
if (abs (x-m_x)> 15 arba abs (y-m_y)> 15 arba abs (z-m_z)> 15) {terminal.println ("Over Incended");
tonas (garsinis signalas, 1000);
}
tonas (garsinis signalas, 0);
}
/*VO rodo kalibravimo režimą. Šiuo režimu jutiklių * vertės išsaugomos EEPROM
*/
BLYNK_WRITE (V0) {int pinValue = param.asInt ();
if (pinValue == 1) {
vertės ();
EEPROM.write (0, flx1); EEPROM.write (1, flx2);
EEPROM.write (2, x);
EEPROM.write (3, y);
EEPROM.write (4, z);
terminal.print ("Kalibravimas sėkmingas");
}
}
/ * Mes galime paprašyti esamų nuokrypių verčių * paspausdami mygtuką V1
*/
BLYNK_WRITE (V1) {
int pinValue = param.asInt ();
if (pinValue == 1) {
vertės (); terminal.print ("X kampo nuokrypis");
terminal.print (abs (x-m_x));
terminal.println ();
terminal.print ("Y kampo nuokrypis-");
terminal.print (abs (y-m_y));
terminal.println ();
terminal.print ("Z kampo nuokrypis");
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 nuokrypis");
terminal.print (abs (flx2-m_flx2));
terminal.println ();
}
}
BLYNK_WRITE (V2) {
}
Rekomenduojamas:
Automatiškai išsaugokite ekrano kopijas „Windows“naudodami „Python“scenarijų: 4 veiksmai
Automatiškai išsaugoti ekrano kopijas „Windows“naudojant „Python“scenarijų: Paprastai „Windows“, kad išsaugotume ekrano kopiją (spausdinimo ekraną), pirmiausia turime padaryti ekrano kopiją, tada atidaryti dažus, tada įklijuoti ir galiausiai išsaugoti. Dabar aš išmokysiu jus, kaip sukurti „python“programą, kad ji būtų automatizuota. Ši programa sukurs aplanką
Taupykite vandenį ir pinigus naudodami dušo vandens monitorių: 15 žingsnių (su nuotraukomis)
Taupykite vandenį ir pinigus naudodami dušo vandens monitorių: kuris naudoja daugiau vandens - vonia ar dušas? Neseniai galvojau apie šį klausimą ir supratau, kad iš tikrųjų nežinau, kiek vandens sunaudojama maudantis duše. Žinau, kai būnu duše, kartais mano mintys klajoja, galvodamos apie šaunų vakarėlį
Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: 6 veiksmai
Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: Sąžiningai, sunku saugoti „Arduino“duomenis tiesiai į „MySQL“, kad priklausydamas nuo „Arduino IDE“naudojau apdorojimo IDE, kuris yra panašus į „Arduino IDE“, tačiau buvo naudojamas įvairiai ir galite jį koduoti java.Pastaba: nepaleiskite „Arduino“serijos moni
Padarykite savo monitorių nematomą (beveik beveik): 4 žingsniai
Padarykite savo monitorių nematomą (beveik beveik): sukurkite darbalaukio foną, kad pralinksmintumėte ir suklaidintumėte savo draugus ir bendradarbius, naudodami tik skaitmeninį fotoaparatą ir šiek tiek pasimėgaudami
Išsaugokite planetą ir savo kišenę. $$ Paverskite savo pigų „P&S“skaitmeninį fotoaparatą įkraunamu: 4 žingsniai (su nuotraukomis)
Išsaugokite planetą ir savo kišenę. $$ Konvertuokite savo pigų „P&S“skaitmeninį fotoaparatą į įkraunamą: Prieš metus aš nusipirkau „Dolphin Jazz 2.0“megapikselių skaitmeninį fotoaparatą. Jis turėjo gerų savybių ir kainos. Ji taip pat turėjo apetitą „AAA Bateries“. Ne vienas norėdamas pabėgti nuo iššūkio, aš maniau, kad pakeisiu jį, naudodamas įkraunamą bateriją, kad nustotų švaistyti