Orodha ya maudhui:

Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo: Hatua 8
Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo: Hatua 8

Video: Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo: Hatua 8

Video: Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo: Hatua 8
Video: Majambazi walipopambana na Polisi baada ya kuiba pesa NMB Bank 2024, Julai
Anonim
Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo
Okoa Maisha Yako Pamoja na Mfuatiliaji wa Kuanguka kwa Jengo

Chambua saruji, chuma, miundo ya mbao kwa kunama na pembe na arifu ikiwa zimepotoka kutoka kwa nafasi ya asili.

Hatua ya 1: Utangulizi

Utangulizi
Utangulizi

Pamoja na maendeleo ya uwanja wa uhandisi wa kiraia, tunaweza kutambua ujenzi mwingi kila mahali. Miundo ya metali, mihimili ya zege, majengo ya jukwaa nyingi ni zingine. Zaidi ya hayo, wengi wetu hutumiwa kukaa katika jengo au nyumba wakati mwingi wa siku. Lakini tunawezaje kuhakikisha kuwa jengo ni salama vya kutosha kukaa? Je! Ikiwa kuna ufa mdogo au boriti iliyopindukia zaidi kwenye jengo lako? Inahatarisha mamia ya maisha.

Matetemeko ya ardhi, ugumu wa mchanga, vimbunga na vitu vingi zaidi, inaweza kuwa sababu za nyufa za ndani na kupotoka kwa miundo au mihimili kutoka kwa msimamo wa upande wowote. Mara nyingi hatujui hali ya miundo iliyo karibu. Labda mahali kila siku tunapotembea kuna mihimili ya saruji iliyopasuka na inaweza kuanguka wakati wowote. Lakini bila kujua tunaenda kwa uhuru kama suluhisho la hii, tunahitaji njia nzuri ya kufuatilia saruji, kuni, mihimili ya chuma ya ujenzi ambapo hatuwezi kufikia.

Hatua ya 2: Suluhisho

Suluhisho
Suluhisho
Suluhisho
Suluhisho

"Muundo wa Kichanganyo" ni kifaa kinachoweza kubeba ambacho kinaweza kuwekwa kwenye boriti ya saruji, muundo wa chuma, slabs n.k kifaa hiki hupima pembe na kuchambua bends ambapo imewekwa na kutuma data kwa programu ya rununu kupitia Bluetooth. Kifaa hiki hutumia accelerometer / Gyroscope kupima angle katika x, y, z ndege na sensorer ya flex ili kufuatilia kunama. Takwimu zote mbichi zinasindika na habari hutumwa kwa programu ya rununu.

Hatua ya 3: Mzunguko

Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko

Kukusanya vifaa vifuatavyo.

  • Bodi ya Arduino 101
  • Sensorer za 2 X Flex
  • 2 X 10k Resistors

Ili kupunguza idadi ya vifaa Bodi ya Arduino 101 inatumiwa hapa kwani ina kasi na moduli ya BLE. Sensorer za Flex hutumiwa kupima kiwango cha kuinama kwani inabadilisha upinzani wakati wa kuinama. Mzunguko ni mdogo sana kwani vipingaji 2 tu na sensorer 2 za kubadilika zinahitajika kuunganishwa. Mchoro unaofuata unaonyesha jinsi ya kuunganisha sensor ya kubadilika kwa bodi ya Arduino.

Pini moja ya kontena imeunganishwa na pini ya A0 ya bodi ya Arduino. Fuata utaratibu sawa ili kuunganisha sensorer ya pili ya kubadilika. Tumia pini ya A1 kuunganisha kontena.

Unganisha buzzer moja kwa moja kwenye pini ya D3 na pini ya Gnd.

Hatua ya 4: Kumaliza Kifaa

Kumaliza Kifaa
Kumaliza Kifaa
Kumaliza Kifaa
Kumaliza Kifaa

Baada ya kufanya mzunguko, lazima urekebishwe ndani ya ua. Kulingana na mfano wa 3D hapo juu, sensorer 2 za kubadilika zinapaswa kuwekwa upande wa pili wa eneo hilo. Tengeneza nafasi ya bandari ya USB kupanga bodi na kusambaza umeme. Kwa kuwa kifaa hiki kinahitajika kutumiwa kwa muda mrefu, njia bora ya kusambaza umeme ni kutumia pakiti ya umeme iliyowekwa.

Hatua ya 5: App ya rununu

Programu ya Simu ya Mkononi
Programu ya Simu ya Mkononi
Programu ya Simu ya Mkononi
Programu ya Simu ya Mkononi
Programu ya Simu ya Mkononi
Programu ya Simu ya Mkononi

Pakua na usakinishe Blynk kutoka Duka la Google Play. Anza mradi mpya wa Arduino 101. Chagua njia ya mawasiliano kama BLE. Ongeza terminal 1, vifungo 2 na BLE kwenye kiolesura. Kufuatia picha kukuonyesha jinsi ya kutengeneza kiolesura.

Hatua ya 6: Faili za Nambari za Blynk

Baada ya kutengeneza kiunga kwenye Blynk utapokea nambari ya idhini. Ingiza nambari hiyo mahali hapo.

# pamoja na # pamoja na char auth = "**************"; // Msimbo wa Uidhinishaji wa Blynk

WidgetTerminal terminal (V2);

BLEPeripheral blePheripheral;

Katika mchakato wa upimaji, usomaji wa sensa za sasa umehifadhiwa kwenye EEPROM.

maadili (); Andika EEPROM (0, flx1);

Andika EEPROM (1, flx2);

Andika EEPROM (2, x);

Andika EEPROM (3, y);

Andika EEPROM (4, z);

alama ya terminal ("Ufanisi wa Upimaji");

Baada ya kupima, kifaa kitalinganisha kupotoka na maadili ya kizingiti na hupiga buzzer ikiwa inazidi thamani.

maadili (); ikiwa (abs (flex1-m_flx1)> 10 au abs (flex2-m_flx2)> 10) {

terminal.println ("Zaidi ya Bend");

sauti (buzzer, 1000);

}

ikiwa (abs (x-m_x)> 15 au abs (y-m_y)> 15 au abs (z-m_z)> 15) {

terminal.println ("Zaidi ya Iliyopendekezwa");

sauti (buzzer, 1000);

}

Hatua ya 7: Utendaji

Utendaji kazi
Utendaji kazi

Bandika kifaa kwenye muundo unaohitajika kufuatiliwa. Funga sensorer 2 za kubadilika pia. Sambaza nguvu kwa bodi kwa kutumia kebo ya USB.

Fungua kiolesura cha Blynk. Unganisha na kifaa kwa kugusa ikoni ya Bluetooth. Bonyeza kitufe cha calibration. Baada ya kusahihisha kituo kitaonyesha ujumbe kama "Imesawazishwa kwa Mafanikio." Weka upya kifaa. Sasa itafuatilia muundo na kukuarifu kupitia buzzer ikiwa inapotoka kwa vilema. Unaweza kuangalia pembe na bend maadili wakati wowote kwa kubonyeza kitufe cha Hali. Hii inaweza kuonekana kama kifaa kidogo. Lakini matumizi yake hayana bei. Wakati mwingine tunasahau kuangalia hali ya nyumba yetu, ofisi nk, na ratiba zetu nyingi. Lakini ikiwa kuna shida ndogo, inaweza kuishia kama vile takwimu hapo juu.

Lakini na kifaa hiki, mamia ya maisha yanaweza kuokolewa kwa kufahamisha shida ndogo lakini hatari katika ujenzi.

Hatua ya 8: Faili ya Msimbo wa Arduino101

#fafanua BLYNK_PRINT Serial

#fafanua flex1 A0

#fafanua flex2 A1 // Fafanua sensor ya laini na pini za buzzer

#fafanua buzzer 3

# pamoja na "CurieIMU.h" # pamoja na "BlynkSimpleCurieBLE.h"

# pamoja na "CurieBLE.h"

# pamoja na "Wire.h"

# pamoja na "EEPROM.h"

# pamoja na "SPI.h"

char auth = "**************"; // Msimbo wa Idhini ya Blynk WidgetTerminal terminal (V2);

BLEPeripheral blePeripheral;

int m_flx1, m_flx2, m_x, m_y, m_z; // maadili yaliyohifadhiwa kwenye kumbukumbu

int flx1, flx2, x, y, z; // Usomaji wa sasa

maadili batili () {for (int i = 0; i <100; i ++) {

flx1 = AnalogSoma (flex1); // Pata usomaji mbichi kutoka kwa sensorer

flx2 = analog Soma (flex2);

x = CurieIMU.readAccelerometer (X_AXIS) / 100;

y = CurieIMU.readAccelerometer (Y_AXIS) / 100;

z = CurieIMU.readAccelerometer (Z_AXIS) / 100;

kuchelewesha (2);

}

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

x = x / 100; // Pata maadili ya wastani ya usomaji

y = y / 100;

z = z / 100;

}

kuanzisha batili () {// pinMode (3, OUTPUT);

pinMode (flex1, INPUT);

pinMode (flex2, INPUT); // Kuweka njia za siri za sensorer

Serial. Kuanza (9600);

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

blePeripheral.setMuonekano (384);

Blynk kuanza (auth, blePeripheral);

blePeripheral.anza ();

m_flx1 = soma EEPROM (0); m_flx2 = soma EEPROM (1);

m_x = EEPROM.soma (2); // Soma maadili ya sensa iliyohifadhiwa kutoka EEPROM

m_y = soma EEPROM (3);

m_z = EEPROM.soma (4);

}

kitanzi batili () {Blynk.run ();

blePeripheral.poll ();

maadili ();

ikiwa (abs (flex1-m_flx1)> 10 au abs (flex2-m_flx2)> 10) {terminal.println ("Over Bend");

sauti (buzzer, 1000);

}

ikiwa (abs (x-m_x)> 15 au abs (y-m_y)> 15 au abs (z-m_z)> 15) {terminal.println ("Zaidi ya Iliyopendekezwa");

sauti (buzzer, 1000);

}

sauti (buzzer, 0);

}

/ * VO inaonyesha hali ya upimaji. Katika hali hii maadili ya sensorer * yanahifadhiwa kwenye EEPROM

*/

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

ikiwa (pinValue == 1) {

maadili ();

Andika EEPROM (0, flx1); Andika EEPROM (1, flx2);

Andika EEPROM (2, x);

Andika EEPROM (3, y);

Andika EEPROM (4, z);

alama ya terminal ("Ufanisi wa Upimaji");

}

}

/ * Tunaweza kuomba maadili ya sasa ya kupotoka * kwa kubonyeza kitufe cha V1

*/

BLYNK_WRITE (V1) {

int pinValue = param.asInt ();

ikiwa (pinValue == 1) {

maadili (); terminal.print ("kupotoka kwa pembe ya X-");

alama ya terminal (abs (x-m_x));

terminal.println ();

print.print ("kupotoka kwa angle-");

alama ya mwisho (abs (y-m_y));

terminal.println ();

print.print ("kupotoka kwa angle Z");

alama ya terminal (abs (z-m_z));

terminal.println ();

print.print ("Flex 1 kupotoka-");

alama ya terminal (abs (flx1-m_flx1));

terminal.println ();

print.print ("Flex 2 kupotoka-");

alama ya terminal (abs (flx2-m_flx2));

terminal.println ();

}

}

BLYNK_WRITE (V2) {

}

Ilipendekeza: