Съдържание:
- Стъпка 1: Въведение
- Стъпка 2: Решение
- Стъпка 3: Схема
- Стъпка 4: Завършване на устройството
- Стъпка 5: Мобилно приложение
- Стъпка 6: Blynk Code Files
- Стъпка 7: Функционалност
- Стъпка 8: Ардуино101 код файл
Видео: Спасете живота си с монитора за срутване на сградата: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Анализирайте бетонни, метални, дървени конструкции за завои и ъгли и предупреждения, ако те са се отклонили от първоначалната позиция.
Стъпка 1: Въведение
С развитието на областта на гражданското инженерство можем да идентифицираме много конструкции навсякъде. Метални конструкции, Бетонни греди, Многоплатформени сгради са някои от тях. Освен това повечето от нас са свикнали да остават в сграда или дом през повечето време на деня. Но как можем да гарантираме, че сградата е достатъчно безопасна, за да остане? Какво ще стане, ако във вашата сграда има малка пукнатина или наклонена греда? Това би рискувало стотици животи.
Земетресения, твърдост на почвата, торнадо и много други неща могат да бъдат фактори за вътрешни пукнатини и отклонение на конструкциите или гредите от неутралното положение. В повечето случаи не сме наясно с положението на околните структури. Може би мястото, където всеки ден влизаме, е с напукани бетонни греди и може да се срути по всяко време. Но без да знаем, ние влизаме свободно. Като решение за това се нуждаем от добър метод за наблюдение на бетон, дърво, метални греди на конструкции, до които не можем да достигнем.
Стъпка 2: Решение
„Structure Analyzer“е преносимо устройство, което може да се монтира върху бетонна греда, метална конструкция, плочи и др. Това устройство измерва ъгъла и анализира завоите, където е монтирано, и изпраща данните към мобилното приложение чрез Bluetooth. Това устройство използва акселерометър/ жироскоп за измерване на ъгъла в равнини x, y, z и сензор за огъване за наблюдение на завоите. Всички необработени данни се обработват и информацията се изпраща до мобилното приложение.
Стъпка 3: Схема
Съберете следните компоненти.
- Дъска Arduino 101
- 2 X Flex сензора
- 2 X 10k резистора
За да се намали броят на компонентите тук се използва дъската Arduino 101, тъй като съдържа акселерометър и BLE модул. Гъвкавите сензори се използват за измерване на размера на огъване, тъй като той променя съпротивлението си при огъване. Веригата е много малка, тъй като трябва да се свържат само 2 резистора и 2 гъвкави сензора. Следващата диаграма показва как да свържете гъвкав сензор към платката Arduino.
Един щифт на резистора е свързан към щифта A0 на платката Arduino. Следвайте същата процедура, за да свържете втория сензор за огъване. Използвайте щифт A1, за да свържете резистора.
Свържете зумера директно към щифта D3 и щифта Gnd.
Стъпка 4: Завършване на устройството
След като направите веригата, тя трябва да бъде фиксирана вътре в кутия. Съгласно горния 3D модел, 2 сензора за огъване трябва да бъдат поставени от противоположната страна на корпуса. Освободете място за USB порта за програмиране на платката и захранване. Тъй като това устройство трябва да се използва за дълъг период, най -добрият метод за захранване е използването на фиксиран захранващ блок.
Стъпка 5: Мобилно приложение
Изтеглете и инсталирайте Blynk от Android Play Store. Стартирайте нов проект за Arduino 101. Изберете метода на комуникация като BLE. Добавете 1 терминал, 2 бутона и BLE към интерфейса. Следващите изображения ви показват как да направите интерфейса.
Стъпка 6: Blynk Code Files
След като направите интерфейса на Blynk, ще получите код за оторизация. Въведете този код на следното място.
#include #include char auth = "**************"; // Код за разрешаване на Blynk
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 ("Калибрирането е успешно");
След калибриране устройството ще сравни отклонението с праговите стойности и ще издаде звуков сигнал, ако те надвишат стойността.
стойности(); if (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 или abs (z-m_z)> 15) {
terminal.println ("Над наклонено");
тон (зумер, 1000);
}
Стъпка 7: Функционалност
Залепете устройството върху структурата, която трябва да се наблюдава. Залепете и 2 -те гъвкави сензора. Захранвайте платката с помощта на USB кабел.
Отворете интерфейса на Blynk. Свържете се с устройството, като докоснете иконата на Bluetooth. Натиснете бутона за калибриране. След калибриране терминалът ще покаже съобщение като „Успешно калибриран“. Нулирайте устройството. Сега той ще следи структурата и ще ви уведоми чрез зумера, ако се отклони от деформациите. Можете да проверите стойностите на ъгъла и огъването по всяко време, като натиснете бутона Статус. Това може да изглежда като малко устройство. Но употребата му е безценна. Понякога забравяме да проверим състоянието на нашия дом, офис и т.н., с натоварения ни график. Но ако има малък проблем, той може да завърши както на фигурата по -горе.
Но с това устройство стотици животи могат да бъдат спасени чрез информиране за малките, но опасни проблеми в конструкциите.
Стъпка 8: Ардуино101 код файл
#define BLYNK_PRINT Сериен
#дефинирайте flex1 A0
#define flex2 A1 // Дефинирайте гъвкавия сензор и щифта на зумера
#дефинирайте зумера 3
#include "CurieIMU.h" #include "BlynkSimpleCurieBLE.h"
#include "CurieBLE.h"
#include "Wire.h"
#include "EEPROM.h"
#включва "SPI.h"
char auth = "**************"; // Blynk Authorization Code WidgetTerminal terminal (V2);
BLEPeripheral blePeripheral;
int m_flx1, m_flx2, m_x, m_y, m_z; // стойности, запазени в паметта
int flx1, flx2, x, y, z; // Текущи показания
void values () {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 (auth, blePeripheral);
blePeripheral.begin ();
m_flx1 = EEPROM.прочетено (0); m_flx2 = EEPROM.прочетете (1);
m_x = EEPROM.прочетете (2); // Прочетете предварително запаметените стойности на сензора от EEPROM
m_y = EEPROM.прочетете (3);
m_z = EEPROM.прочетете (4);
}
void loop () {Blynk.run ();
blePeripheral.poll ();
стойности();
if (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 или abs (z-m_z)> 15) {terminal.println ("Над наклонено");
тон (зумер, 1000);
}
тон (зумер, 0);
}
/*VO показва режима на калибриране. В този режим стойностите на сензорите * се записват в EEPROM
*/
BLYNK_WRITE (V0) {int pinValue = param.asInt ();
if (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 ();
if (pinValue == 1) {
стойности(); terminal.print ("X отклонение на ъгъла-");
terminal.print (abs (x-m_x));
terminal.println ();
terminal.print ("Отклонение на ъгъла Y-");
terminal.print (abs (y-m_y));
terminal.println ();
terminal.print ("Z ъгъл отклонение-");
terminal.print (abs (z-m_z));
terminal.println ();
terminal.print ("Отклонение Flex 1");
terminal.print (abs (flx1-m_flx1));
terminal.println ();
terminal.print ("Отклонение Flex 2-");
terminal.print (abs (flx2-m_flx2));
terminal.println ();
}
}
BLYNK_WRITE (V2) {
}
Препоръчано:
Как да утроите живота на батерията на фенерчетата AAA: 3 стъпки
Как да утроите живота на батерията на фенерчетата AAA: Когато използвате 3W LED фенери, захранвани от батерии AAA, ще очаквате те да издържат около 30 минути. Има начин да утроите времето за работа, като използвате батерии тип АА, което ще ви покажа, като закачите държач на батерия АА към него
ELEGOO Kit Lab или Как да направя живота ми като разработчик по -лесен: 5 стъпки (със снимки)
ELEGOO Kit Lab или Как да улесня живота си като разработчик: Цели на проекта Много от нас имат проблеми с макета около контролерите на UNO. Често окабеляването на компоненти става трудно с много компоненти. От друга страна, програмирането под Arduino може да бъде сложно и може да изисква много
ArduBand - Спасете очите си!: 6 стъпки (със снимки)
ArduBand - Save Your Eyes !: Здравейте, в настоящата ситуация много хора работят у дома, поради което прекарваме много повече време пред компютри или смартфони. Понякога можем да седим няколко часа пред дисплея, разрушавайки очите си и извивайки гърба си. Бихме могли да използваме де
Спасете зарядно за кола?: 6 стъпки
Спасете зарядно за кола?: Това е зарядното за кола за моя iPhone. Жълтите вихри светват, когато работят. Това се случва само периодично. Реших да видя какво може да се направи
Спасете 9V скоби за батерии от мъртви батерии: 10 стъпки
Спасете 9V скоби за батерии от мъртви батерии: Можете да използвате горната част на стара 9V батерия като щипка за 9V батерия за различни проекти за електроника. "9V клипът" се използва и при някои държачи за тесто с различни напрежения (т.е. 4AA батерия.) Ето как да направите хубава версия с проводник … (Това аз