Оглавление:
- Шаг 1. Введение
- Шаг 2: решение
- Шаг 3: Схема
- Шаг 4: Завершение работы с устройством
- Шаг 5. Мобильное приложение
- Шаг 6: файлы кода Blynk
- Шаг 7: Функциональность
- Шаг 8: файл кода Arduino101
Видео: Спасите свою жизнь с помощью монитора обрушения здания: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Проанализируйте бетонные, металлические, деревянные конструкции на предмет изгибов и углов и предупредите, если они отклонились от исходного положения.
Шаг 1. Введение
С развитием области гражданского строительства мы можем найти множество построек повсюду. Металлические конструкции, Бетонные балки, Многоплатформенные здания - вот некоторые из них. Кроме того, большинство из нас привыкли оставаться в здании или доме большую часть дня. Но как мы можем гарантировать, что здание достаточно безопасно, чтобы остаться? Что делать, если в вашем доме есть небольшая трещина или наклонная балка? Это было бы опасно для сотен жизней.
Землетрясения, твердость почвы, торнадо и многое другое могут быть факторами для внутренних трещин и отклонения конструкций или балок от нейтрального положения. В большинстве случаев мы не осведомлены о положении окружающих структур. Может быть, в месте, где мы каждый день ходим, есть трещины в бетонных балках, и оно может рухнуть в любой момент. Но, не зная об этом, мы свободно идем внутрь. Чтобы решить эту проблему, нам нужен хороший метод контроля бетонных, деревянных, металлических балок конструкций, куда мы не можем добраться.
Шаг 2: решение
«Анализатор конструкции» - это портативное устройство, которое можно установить на бетонную балку, металлическую конструкцию, плиты и т. Д. Это устройство измеряет угол и анализирует изгибы, где оно установлено, и отправляет данные в мобильное приложение через Bluetooth. Это устройство использует акселерометр / гироскоп для измерения угла в плоскостях x, y, z и датчик изгиба для отслеживания изгибов. Все необработанные данные обрабатываются, и информация отправляется в мобильное приложение.
Шаг 3: Схема
Соберите следующие компоненты.
- Плата Arduino 101
- 2 датчика Flex
- 2 резистора по 10 кОм
Для уменьшения количества компонентов здесь используется плата 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
После создания интерфейса на 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 («Изгиб»);
тон (зуммер, 1000);
}
if (abs (x-m_x)> 15 или abs (y-m_y)> 15 или abs (z-m_z)> 15) {
terminal.println ("Слишком наклонен");
тон (зуммер, 1000);
}
Шаг 7: Функциональность
Прикрепите устройство к конструкции, за которой необходимо следить. Также приклейте 2 датчика изгиба. Подайте питание на плату с помощью кабеля USB.
Откройте интерфейс Blynk. Подключитесь к устройству, коснувшись значка Bluetooth. Нажмите кнопку калибровки. После калибровки терминал отобразит сообщение «Успешно откалибровано». Перезагрузите устройство. Теперь он будет следить за конструкцией и уведомлять вас через зуммер, если она отклоняется от деформации. Вы можете в любой момент проверить значения угла и изгиба, нажав кнопку «Статус». Это может выглядеть как небольшое устройство. Но его использование бесценно. Иногда мы забываем проверить состояние нашего дома, офиса и т. Д. Из-за нашего плотного графика. Но если есть небольшая проблема, она может закончиться так, как показано на рисунке выше.
Но с помощью этого устройства можно спасти сотни жизней, сообщив о небольших, но опасных проблемах в строительстве.
Шаг 8: файл кода Arduino101
#define BLYNK_PRINT Серийный номер
#define flex1 A0
#define flex2 A1 // Определение контактов датчика гибкости и зуммера
#define buzzer 3
#include "CurieIMU.h" #include "BlynkSimpleCurieBLE.h"
#include "CurieBLE.h"
#include "Wire.h"
#include "EEPROM.h"
#include "SPI.h"
char auth = "**************"; // Код авторизации Blynk 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;
х = х / 100; // Получаем средние значения показаний
у = у / 100;
z = z / 100;
}
void setup () {// pinMode (3, OUTPUT);
pinMode (flex1, ВХОД);
pinMode (flex2, ВХОД); // Установка режимов вывода датчика
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 или 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 (абс (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) {
}
Рекомендуемые:
Рабочий стол Raspberry Pi: безопасная установка без монитора без монитора: 6 шагов
Рабочий стол Raspberry Pi: безопасная установка без монитора без дисплея: если вы читаете это, вы, вероятно, уже знакомы с Raspberry Pi. У меня дома есть пара этих классных досок для выполнения различных проектов. Если вы посмотрите любое руководство, которое покажет вам, как начать работу с Raspberry Pi
Упростите свою жизнь с помощью NFC: 7 шагов
Упростите свою жизнь с помощью NFC: Привет, ребята, просто сегодня краткое руководство с лучшими идеями NFC, которые я нашел, чтобы упростить мою жизнь. Так что я недавно купил эти наклейки NFC Tag 215 всего за несколько долларов в Интернете. И хотя есть много интересных вещей, которые вы можете сделать с этими вещами
Как транслировать свою жизнь с помощью Justin.tv: 6 шагов
Как транслировать свою жизнь с помощью Justin.tv: Транслировать свою жизнь через Интернет, AKA lifecasting *, для всеобщего обозрения может показаться жутким, но для некоторых людей это весело и интересно. При наличии надлежащего оборудования вы можете мгновенно транслировать прямые трансляции через Интернет. Это почти как hav
Спасите планету и свой карман. $$ Превратите свою дешевую цифровую камеру P&S в аккумуляторную: 4 шага (с фотографиями)
Спасите планету и свой карман. $$ Превратите свою дешевую цифровую камеру P&S в аккумуляторную: несколько лет назад я купил цифровую камеру Dolphin Jazz 2.0 Megapixel, у нее были хорошие характеристики и цена. У него также был аппетит к батареям AAA. Не тот, кто уклоняется от задачи, я подумал, что смогу модифицировать ее, чтобы использовать перезаряжаемую батарею, чтобы перестать тратить ба
Сделай сам свою жизнь !: 17 шагов
Сделай свою жизнь своими руками !: Если вы настоящий домашний мастер, вы, вероятно, думаете, что стандартный образ жизни никогда не может быть адаптирован к вашим потребностям. Есть французская пословица, которая гласит: "Vous n'etes jamais mieux servis que par vous meme" (Если хочешь, чтобы что-то было сделано хорошо, сделай это, лет