Სარჩევი:

გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით: 8 ნაბიჯი
გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით: 8 ნაბიჯი

ვიდეო: გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით: 8 ნაბიჯი

ვიდეო: გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით: 8 ნაბიჯი
ვიდეო: მიხეილ ჯავახიშვილი - "ჯაყოს ხიზნები" - აუდიო წიგნი 2024, ნოემბერი
Anonim
გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით
გადაარჩინე შენი სიცოცხლე შენობის ჩამონგრევის მონიტორით

გაანალიზეთ ბეტონის, ლითონის, ხის კონსტრუქციები მოსახვევებში და კუთხეებში და სიგნალები, თუ ისინი გადაუხვევენ თავდაპირველ პოზიციას.

ნაბიჯი 1: შესავალი

შესავალი
შესავალი

სამოქალაქო ინჟინერიის დარგის განვითარებით, ჩვენ ყველგან შეგვიძლია განვსაზღვროთ ბევრი კონსტრუქცია. ლითონის კონსტრუქციები, ბეტონის სხივები, მრავალპლატფორმიანი შენობები ზოგიერთი მათგანია. გარდა ამისა, უმეტესობა ჩვენგანს ეჩვევა შენობაში ან სახლში ყოფნა დღის უმეტეს დროს. მაგრამ როგორ შეგვიძლია დავრწმუნდეთ, რომ შენობა საკმარისად უსაფრთხოა დარჩენისთვის? რა მოხდება, თუ თქვენს შენობაში არის პატარა ბზარი ან ზედმეტად დახრილი სხივი? ეს ასობით სიცოცხლეს საფრთხეს შეუქმნის.

მიწისძვრები, ნიადაგის სიმტკიცე, ტორნადოები და მრავალი სხვა რამ შეიძლება იყოს შიდა ბზარების ფაქტორები და სტრუქტურების ან სხივების გადახრა ნეიტრალური პოზიციიდან. უმეტეს შემთხვევაში ჩვენ არ ვიცით მიმდებარე სტრუქტურების მდგომარეობა. შესაძლოა იმ ადგილს, სადაც ყოველდღიურად ვსეირნობთ, აქვს ბეტონის სხივები და ნებისმიერ დროს შეიძლება დაიშალოს. მაგრამ ამის ცოდნის გარეშე ჩვენ თავისუფლად შევდივართ შიგნით. როგორც გამოსავალი, ჩვენ გვჭირდება კარგი მეთოდი ბეტონის, ხის, ლითონის სხივების მონიტორინგისთვის, სადაც ჩვენ ვერ მივაღწევთ.

ნაბიჯი 2: გამოსავალი

გამოსავალი
გამოსავალი
გამოსავალი
გამოსავალი

"სტრუქტურის ანალიზატორი" არის პორტატული მოწყობილობა, რომლის დამონტაჟებაც შესაძლებელია ბეტონის სხივზე, ლითონის კონსტრუქციაზე, ფილებზე და ა.შ. ეს მოწყობილობა იყენებს აქსელერომეტრს/ გიროსკოპს, რომ გაზომოთ კუთხე x, y, z სიბრტყეში და მოქნილი სენსორი მოსახვევების მონიტორინგისთვის. ყველა ნედლი მონაცემი მუშავდება და ინფორმაცია იგზავნება მობილური აპლიკაციისთვის.

ნაბიჯი 3: წრე

წრე
წრე
წრე
წრე
წრე
წრე
წრე
წრე

შეაგროვეთ შემდეგი კომპონენტები.

  • Arduino 101 დაფა
  • 2 X Flex სენსორი
  • 2 X 10k რეზისტორები

კომპონენტების რაოდენობის შესამცირებლად აქ გამოიყენება Arduino 101 დაფა, რადგან ის შეიცავს ამაჩქარებელს და BLE მოდულს. მოქნილი სენსორები გამოიყენება მოსახვევის რაოდენობის გასაზომად, რადგან ის ცვლის მის წინააღმდეგობას მოხრის დროს. წრე ძალიან მცირეა, რადგან მხოლოდ 2 რეზისტორი და 2 მოქნილი სენსორი უნდა იყოს დაკავშირებული. შემდეგი დიაგრამა გვიჩვენებს, თუ როგორ უნდა დააკავშიროთ მოქნილი სენსორი არდუინოს დაფაზე.

რეზისტორის ერთი პინი უკავშირდება არდუინოს დაფის A0 პინს. დაიცავით იგივე პროცედურა მეორე მოქნილი სენსორის დასაკავშირებლად. რეზისტორის დასაკავშირებლად გამოიყენეთ A1 პინი.

შეაერთეთ ზუზერი პირდაპირ D3 პინთან და Gnd პინთან.

ნაბიჯი 4: მოწყობილობის დასრულება

მოწყობილობის დასრულება
მოწყობილობის დასრულება
მოწყობილობის დასრულება
მოწყობილობის დასრულება

მიკროსქემის გაკეთების შემდეგ, ის უნდა დაფიქსირდეს შიგთავსში. ზემოაღნიშნული 3D მოდელის მიხედვით, 2 მოქნილი სენსორი უნდა განთავსდეს გარსაცმის მოპირდაპირე მხარეს. გამოყავით ადგილი USB პორტისთვის დაფის დასაპროგრამებლად და ელექტროენერგიის მიწოდებისთვის. ვინაიდან ეს მოწყობილობა საჭიროებს ხანგრძლივ გამოყენებას, ელექტროენერგიის მიწოდების საუკეთესო მეთოდია ფიქსირებული კვების ბლოკის გამოყენება.

ნაბიჯი 5: მობილური აპლიკაცია

მობილური აპლიკაცია
მობილური აპლიკაცია
მობილური აპლიკაცია
მობილური აპლიკაცია
მობილური აპლიკაცია
მობილური აპლიკაცია

ჩამოტვირთეთ და დააინსტალირეთ Blynk Android Play Store– დან. დაიწყეთ ახალი პროექტი Arduino 101 -ისთვის. აირჩიეთ საკომუნიკაციო მეთოდი, როგორც BLE. დაამატეთ 1 ტერმინალი, 2 ღილაკი და BLE ინტერფეისს. შემდეგი სურათები აჩვენებს, თუ როგორ უნდა გააკეთოთ ინტერფეისი.

ნაბიჯი 6: ბლინკის კოდის ფაილები

ბლინკზე ინტერფეისის შექმნის შემდეგ თქვენ მიიღებთ ავტორიზაციის კოდს. შეიყვანეთ ეს კოდი შემდეგ ადგილას.

#მოიცავს #მოიცავს char autor = "**************"; // ბლინკის ავტორიზაციის კოდი

ვიჯეტის ტერმინალი (V2);

BLE პერიფერიული ble პერიფერიული;

კალიბრაციის პროცესში, მიმდინარე სენსორის კითხვა ინახება EEPROM– ში.

ღირებულებები (); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Calibration Succesful");

დაკალიბრების შემდეგ, მოწყობილობა ადარებს გადახრას ბარიერის მნიშვნელობებთან და აფიქსირებს ზუმერს, თუ ისინი აღემატება მნიშვნელობას.

ღირებულებები (); if (abs (flex1-m_flx1)> 10 ან abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

ტონი (ზუზერი, 1000);

}

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

terminal.println ("ზედმეტად დახრილი");

ტონი (ზუზუნი, 1000);

}

ნაბიჯი 7: ფუნქციონალურობა

ფუნქციონალურობა
ფუნქციონალურობა

მიამაგრეთ მოწყობილობა იმ სტრუქტურაზე, რომლის მონიტორინგიც საჭიროა. მიამაგრეთ 2 მოქნილი სენსორიც. მიეცით დენის დაფა USB კაბელის გამოყენებით.

გახსენით ბლინკის ინტერფეისი. დაუკავშირდით მოწყობილობას Bluetooth ხატის შეხებით. დააჭირეთ კალიბრაციის ღილაკს. ტერმინალის დაკალიბრების შემდეგ გამოჩნდება შეტყობინება, როგორც "წარმატებით დაკალიბრებული". გადატვირთეთ მოწყობილობა. ახლა ის მონიტორინგს გაუწევს სტრუქტურას და აცნობებს ზუზუნის საშუალებით თუ იგი გადახრის დეფორმებს. თქვენ შეგიძლიათ ნებისმიერ დროს შეამოწმოთ კუთხის და მოსახვევის მნიშვნელობები სტატუსის ღილაკზე დაჭერით. ეს შეიძლება პატარა მოწყობილობას ჰგავდეს. მაგრამ მისი გამოყენება ფასდაუდებელია. ხანდახან გვავიწყდება ჩვენი სახლის, ოფისის მდგომარეობის შემოწმება დატვირთული გრაფიკით. მაგრამ თუ არსებობს მცირე პრობლემა, ის შეიძლება დასრულდეს ისევე როგორც ზემოთ მოყვანილი ფიგურა.

მაგრამ ამ მოწყობილობით ასობით ადამიანის სიცოცხლე შეიძლება გადარჩეს კონსტრუქციებში მცირე, მაგრამ საშიში პრობლემების ინფორმირებით.

ნაბიჯი 8: Arduino101 კოდის ფაილი

#განსაზღვრეთ BLYNK_PRINT სერიალი

#განსაზღვრეთ flex1 A0

#განსაზღვრეთ flex2 A1 // განსაზღვრეთ მოქნილი სენსორი და ზუზუნის ქინძისთავები

#განსაზღვრეთ ზუზუნი 3

#მოიცავს "CurieIMU.h"#მოიცავს "BlynkSimpleCurieBLE.h"

#მოიცავს "CurieBLE.h"

#მოიცავს "Wire.h"

#მოიცავს "EEPROM.h"

#მოიცავს "SPI.h"

char author = "**************"; // ბლინკის ავტორიზაციის კოდის ვიჯეტის ტერმინალი (V2);

BLE პერიფერიული ble პერიფერიული;

int m_flx1, m_flx2, m_x, m_y, m_z; // მეხსიერებაში შენახული მნიშვნელობები

int flx1, flx2, x, y, z; // მიმდინარე კითხვა

ბათილი მნიშვნელობები () {for (int i = 0; i <100; i ++) {

flx1 = analogRead (flex1); // მიიღეთ სენსორების ნედლი კითხვა

flx2 = analogRead (flex2);

x = CurieIMU.readAccelerometer (X_AXIS)/100;

y = CurieIMU.readAccelerometer (Y_AXIS)/100;

z = CurieIMU.readAccelerometer (Z_AXIS)/100;

დაგვიანება (2);

}

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

x = x/100; // მიიღეთ კითხვების საშუალო მნიშვნელობები

y = y/100;

z = z/100;

}

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

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // სენსორის პინის რეჟიმების დაყენება

სერიული.დაწყება (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); // წაიკითხეთ წინასწარ შენახული სენსორის მნიშვნელობები EEPROM– დან

m_y = EEPROM.read (3);

m_z = EEPROM.read (4);

}

void loop () {Blynk.run ();

blePeripheral.poll ();

ღირებულებები ();

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

ტონი (ზუზუნი, 1000);

}

if (abs (x-m_x)> 15 ან abs (y-m_y)> 15 ან abs (z-m_z)> 15) {terminal.println ("ზედმეტად დახრილი");

ტონი (ზუზუნი, 1000);

}

ტონი (ზუზუნი, 0);

}

/*VO მიუთითებს კალიბრაციის რეჟიმზე. ამ რეჟიმში სენსორების * მნიშვნელობები ინახება EEPROM– ში

*/

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

თუ (pinValue == 1) {

ღირებულებები ();

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

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Calibration Succesful");

}

}

/ * ჩვენ შეგვიძლია მოვითხოვოთ მიმდინარე გადახრის მნიშვნელობები * ღილაკზე V1 დაჭერით

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

თუ (pinValue == 1) {

ღირებულებები (); terminal.print ("X კუთხის გადახრა-");

ტერმინალი. ბეჭდვა (abs (x-m_x));

terminal.println ();

terminal.print ("Y კუთხის გადახრა-");

ტერმინალი. ბეჭდვა (abs (y-m_y));

terminal.println ();

terminal.print ("Z კუთხის გადახრა-");

ტერმინალი. ბეჭდვა (abs (z-m_z));

terminal.println ();

terminal.print ("Flex 1 გადახრა-");

ტერმინალი. ბეჭდვა (აბს (flx1-m_flx1));

terminal.println ();

terminal.print ("Flex 2 გადახრა-");

ტერმინალი. ბეჭდვა (აბს (flx2-m_flx2));

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

გირჩევთ: