Мазмуну:

Имараттын кулашы менен өмүрүңүздү сактаңыз: 8 кадам
Имараттын кулашы менен өмүрүңүздү сактаңыз: 8 кадам

Video: Имараттын кулашы менен өмүрүңүздү сактаңыз: 8 кадам

Video: Имараттын кулашы менен өмүрүңүздү сактаңыз: 8 кадам
Video: Ташиев подмигнул министру, чтобы тот не говорил о сумме оплаты за российскую базу в Канте 2024, Июль
Anonim
Имараттын кулашы монитору менен өмүрүңүздү сактаңыз
Имараттын кулашы монитору менен өмүрүңүздү сактаңыз

Бетонду, металлды, жыгач конструкцияларын, эгер алар баштапкы абалынан четтеп кеткен болсо, ийилүү жана бурч жана эскертүүлөрдү талдап көрүңүз.

1 -кадам: Киришүү

Киришүү
Киришүү

Жарандык инженерия тармагынын өнүгүшү менен биз бардык жерде көптөгөн курулуштарды аныктай алабыз. Металл конструкциялары, Бетон устундары, Көп платформалуу имараттар алардын айрымдары. Андан тышкары, көбүбүз күндүн көпчүлүк убагында имаратта же үйдө калууга көнгөнбүз. Бирок, биз имарат калуу үчүн коопсуз экенин кантип ишендире алабыз? Сиздин имаратта кичинекей жарака же ашыкча ийилген нур болсочу? Бул жүздөгөн адамдардын өмүрүн тобокелге салмак.

Жер титирөөлөр, Топурактын катуулугу, Торнадо жана башка көптөгөн нерселер ички жаракалар жана структуралардын же нурлардын нейтралдуу абалдан четтөөсү үчүн факторлор болушу мүмкүн. Көбүнчө биз курчап турган структуралардын абалын билбейбиз. Балким, биз күн сайын басып жүргөн жерде бетон устундар жарылган жана каалаган убакта кулап кетиши мүмкүн. Бирок биз билбей туруп, ичине ээн -эркин кирип жатабыз. Муну чечүү үчүн биз жете албаган конструкциялардын бетон, жыгач, металл устундарын көзөмөлдөөнүн жакшы ыкмасы керек.

2 -кадам: Чечим

Чечим
Чечим
Чечим
Чечим

"Структура анализатору" - бул конкреттүү устунга, металл конструкциясына, плиталарга ж.б. орнотула турган портативдик түзмөк. Бул түзмөк бурчун өлчөйт жана ийилген жерлерин анализдейт жана маалыматтарды Bluetooth аркылуу мобилдик колдонмого жөнөтөт. Бул аппарат x, y, z тегиздигиндеги бурчту өлчөө үчүн акселерометрди/ гироскопту жана ийилүүлөрдү көзөмөлдөө үчүн ийкемдүү сенсорду колдонот. Бардык чийки маалыматтар иштетилет жана маалымат мобилдик колдонмого жөнөтүлөт.

3 -кадам: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Төмөнкү компоненттерди чогултуп алыңыз.

  • Ардуино 101 тактасы
  • 2 X Flex сенсорлору
  • 2 X 10k резисторлор

Компоненттердин санын азайтуу үчүн Arduino 101 тактасы колдонулат, анткени анда акселерометр жана BLE модулу бар. Ийилүү сенсорлору ийилүү көлөмүн өлчөө үчүн колдонулат, анткени ал ийилгенде каршылыгын өзгөртөт. Район абдан кичинекей, анткени 2 резистор менен 2 ийилүү сенсорун туташтыруу керек. Төмөндөгү диаграмма ийкемдүү сенсорду Arduino тактасына кантип туташтыруу керек экенин көрсөтөт.

Резистордун бир пини Arduino тактасынын A0 пинине туташкан. Экинчи ийилүү сенсорун туташтыруу үчүн ушул эле процедураны аткарыңыз. Резисторду туташтыруу үчүн A1 пинин колдонуңуз.

Зумерди D3 жана Gnd пинге түз туташтырыңыз.

4 -кадам: Түзмөктү бүтүрүү

Түзмөктү бүтүрүү
Түзмөктү бүтүрүү
Түзмөктү бүтүрүү
Түзмөктү бүтүрүү

Районду түзгөндөн кийин, аны корпустун ичине бекитүү керек. Жогорудагы 3D моделине ылайык, 2 ийилгич сенсор корпустун карама -каршы жагына жайгаштырылышы керек. Дискти программалоо жана электр энергиясын берүү үчүн USB портуна орун бөлүңүз. Бул түзмөк узак убакыт бою колдонулушу керек болгондуктан, электр энергиясын берүүнүн эң жакшы жолу - бул туруктуу кубаттуулукту колдонуу.

5 -кадам: Мобилдик тиркеме

Мобилдик колдонмо
Мобилдик колдонмо
Мобилдик колдонмо
Мобилдик колдонмо
Мобилдик колдонмо
Мобилдик колдонмо

Android Play дүкөнүнөн Blynkти жүктөп алып, орнотуңуз. Arduino 101 үчүн жаңы долбоорду баштаңыз. BLE катары байланыш ыкмасын тандаңыз. Интерфейске 1 терминал, 2 баскыч жана BLE кошуңуз. Кийинки сүрөттөр интерфейсти кантип жасоону көрсөтөт.

6 -кадам: Blynk Code Files

Blynkте интерфейсти түзгөндөн кийин сизге авторизация коду келет. Ал кодду төмөнкү жерге киргизиңиз.

#include #include char auth = "**************"; // Blynk Authorization Code

WidgetTerminal терминалы (V2);

BLEPeripheral blePeripheral;

Калибрлөө процессинде учурдагы сенсордун көрсөткүчтөрү EEPROMде сакталат.

баалуулуктар (); EEPROM.write (0, flx1);

EEPROM.write (1, flx2);

EEPROM.write (2, x);

EEPROM.write (3, y);

EEPROM.write (4, z);

terminal.print ("Калибрлөө ийгиликтүү");

Калибрлөөдөн кийин, түзмөк четтөөнү босого маанилер менен салыштырат жана эгер алар мааниден ашып кетсе, коңгуроо сигналын берет.

баалуулуктар (); эгер (abs (flex1-m_flx1)> 10 же abs (flex2-m_flx2)> 10) {

terminal.println ("Over Bend");

обон (ызы -чуу, 1000);

}

эгер (abs (x-m_x)> 15 же abs (y-m_y)> 15 or abs (z-m_z)> 15) {

terminal.println ("Ашыкча ийилген");

обон (коңгуроо, 1000);

}

7 -кадам: Функционалдуулук

Функционалдуулук
Функционалдуулук

Түзмөктү көзөмөлдөп туруу үчүн жабыштырыңыз. 2 ийилүү сенсорун да жабыштырыңыз. USB кабелин колдонуп тактага электр энергиясын бериңиз.

Blynk интерфейсин ачыңыз. Bluetooth сөлөкөтүн тийүү менен түзмөккө туташыңыз. Калибрлөө баскычын басыңыз. Терминал калибрленгенден кийин "Ийгиликтүү калибрленген" деген билдирүү көрсөтүлөт. Түзмөктү баштапкы абалга келтирүү. Эми ал түзүлүштү көзөмөлдөйт жана эгер деформациялардан четтесе, ызылдак аркылуу сизге кабарлайт. Сиз каалаган убакта Status кнопкасын басуу менен бурчун текшерип, баалуулуктарды ийилте аласыз. Бул кичинекей аппаратка окшош болушу мүмкүн. Бирок анын колдонулушу баа жеткис. Кээде биз бош убактыбыз менен үйүбүздүн, офисибиздин абалын текшерүүнү унутуп калабыз. Бирок кичинекей көйгөй болсо, анда ал жогоруда көрсөтүлгөндөй аякташы мүмкүн.

Бирок бул аппараттын жардамы менен курулуштардагы кичинекей, бирок коркунучтуу көйгөйлөрдү маалымдоо менен жүздөгөн адамдардын өмүрүн сактап калууга болот.

8 -кадам: Arduino101 Code File

#аныктоо BLYNK_PRINT Сериал

#define flex1 A0

#define flex2 A1 // Флекс сенсорун жана ызгыруучу казыктарды аныктаңыз

#define buzzer 3

#"CurieIMU.h" кошуу#"BlynkSimpleCurieBLE.h" кошуу

#"CurieBLE.h" кошуу

#"Wire.h" кошуу

#"EEPROM.h" кошуу

#"SPI.h" кошуу

char auth = "**************"; // Blynk Authorization Code WidgetTerminal терминалы (V2);

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // эстутумда сакталган баалуулуктар

int flx1, flx2, x, y, z; // Учурдагы окуулар

void маанилери () {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); // Сенсор пин режимдерин орнотуу

Serial.begin (9600);

blePeripheral.setLocalName ("Arduino101Blynk"); blePeripheral.setDeviceName ("Arduino101Blynk");

blePeripheral.setAppearance (384);

Blynk.begin (авторизация, 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 or abs (y-m_y)> 15 or abs (z-m_z)> 15) {terminal.println ("Over Eğimli");

обон (коңгуроо, 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 ("Калибрлөө ийгиликтүү");

}

}

/ * Биз V1 баскычын басуу менен учурдагы четтөө маанилерин * сурай алабыз

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

эгер (pinValue == 1) {

баалуулуктар (); terminal.print ("X бурчтан четтөө-");

terminal.print (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 четтөө-");

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

terminal.println ();

terminal.print ("Flex 2 sapma-");

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

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Сунушталууда: