Мазмуну:
- 1 -кадам: Киришүү
- 2 -кадам: Чечим
- 3 -кадам: Circuit
- 4 -кадам: Түзмөктү бүтүрүү
- 5 -кадам: Мобилдик тиркеме
- 6 -кадам: Blynk Code Files
- 7 -кадам: Функционалдуулук
- 8 -кадам: Arduino101 Code File
Video: Имараттын кулашы менен өмүрүңүздү сактаңыз: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бетонду, металлды, жыгач конструкцияларын, эгер алар баштапкы абалынан четтеп кеткен болсо, ийилүү жана бурч жана эскертүүлөрдү талдап көрүңүз.
1 -кадам: Киришүү
Жарандык инженерия тармагынын өнүгүшү менен биз бардык жерде көптөгөн курулуштарды аныктай алабыз. Металл конструкциялары, Бетон устундары, Көп платформалуу имараттар алардын айрымдары. Андан тышкары, көбүбүз күндүн көпчүлүк убагында имаратта же үйдө калууга көнгөнбүз. Бирок, биз имарат калуу үчүн коопсуз экенин кантип ишендире алабыз? Сиздин имаратта кичинекей жарака же ашыкча ийилген нур болсочу? Бул жүздөгөн адамдардын өмүрүн тобокелге салмак.
Жер титирөөлөр, Топурактын катуулугу, Торнадо жана башка көптөгөн нерселер ички жаракалар жана структуралардын же нурлардын нейтралдуу абалдан четтөөсү үчүн факторлор болушу мүмкүн. Көбүнчө биз курчап турган структуралардын абалын билбейбиз. Балким, биз күн сайын басып жүргөн жерде бетон устундар жарылган жана каалаган убакта кулап кетиши мүмкүн. Бирок биз билбей туруп, ичине ээн -эркин кирип жатабыз. Муну чечүү үчүн биз жете албаган конструкциялардын бетон, жыгач, металл устундарын көзөмөлдөөнүн жакшы ыкмасы керек.
2 -кадам: Чечим
"Структура анализатору" - бул конкреттүү устунга, металл конструкциясына, плиталарга ж.б. орнотула турган портативдик түзмөк. Бул түзмөк бурчун өлчөйт жана ийилген жерлерин анализдейт жана маалыматтарды Bluetooth аркылуу мобилдик колдонмого жөнөтөт. Бул аппарат x, y, z тегиздигиндеги бурчту өлчөө үчүн акселерометрди/ гироскопту жана ийилүүлөрдү көзөмөлдөө үчүн ийкемдүү сенсорду колдонот. Бардык чийки маалыматтар иштетилет жана маалымат мобилдик колдонмого жөнөтүлөт.
3 -кадам: 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) {
}
Сунушталууда:
Live Arduino маалыматынан кооз сюжеттерди жасаңыз (жана маалыматтарды Excelге сактаңыз): 3 кадам
Live Arduino маалыматтарынан кооз сюжеттерди жасаңыз (жана маалыматтарды Excelге сактаңыз): Биз баарыбыз Arduino IDEдеги P … лотерея функциясы менен ойногонду жакшы көрөбүз. пункттар кошулат жана бул көзгө өзгөчө жагымдуу эмес. Arduino IDE плоттери жок
Beatти сактаңыз: 5 кадам
Битти кармаңыз: Музыканын ыргагына жетүү үчүн мен көп жылдар бою кол чаап же бутумду жерге тийгизип койчумун. Музыка угуубу же жеке аспапта ойнообу, мага ыргакты сактоону үйрөтүштү. Бирок 21 -кылымда, эмне үчүн иштеп чыгуучуну түзүүгө болбойт
Windowsту коопсуз сактаңыз: 10 кадам
Windowsту коопсуз сактаңыз: HACKING- Баарыбызды таң калтырган сөз. Бул сиз толугу менен салкын-буурчак-техниги адам болушуңуз же хакерликке айланган адам болушуңуз мүмкүн дегенди билдирет. Баары компьютерлерден жана смартфондордон көз каранды болгон азыркы санариптик дүйнөдө, хакерликке кабылуу биз үчүн эмес
Бул велосипедди бурулуш сигналдары менен коопсуз сактаңыз: 5 кадам (сүрөттөр менен)
Бул велосипедди бурулуш сигналдары менен коопсуз сактаңыз: Мен велосипед тепкенди жакшы көрөм, адатта аны мектепке жетүү үчүн колдоном. Кыш мезгилинде көбүнчө сыртта караңгы болуп турат жана башка машиналар үчүн менин колумдун бурулуш сигналдарын көрүү кыйын. Ошондуктан бул чоң коркунуч, анткени жүк ташуучу унаалар менин каалаганымды көрбөй калышы мүмкүн
Планетаны жана Чөнтөгүңүздү сактаңыз. $$ Сиздин арзан P&S санарип камераңызды кайра заряддалуучуга айландырыңыз: 4 кадам (сүрөттөр менен)
Планетаны жана Чөнтөгүңүздү сактаңыз. $$ Сиздин арзан P&S санарип камераңызды кайра заряддалуучуга айландырыңыз: Бир нече жыл мурун мен Dolphin Jazz 2.0 Megapixel Digital Camera.It жакшы өзгөчөлүктөргө жана баага ээ болгон. Ошондой эле AAA Bateries үчүн табити бар болчу. Эч ким кыйынчылыктан алыстап кетпейт, мен аны текке кетирбөө үчүн кайра заряддалуучу батареяны колдонуу үчүн өзгөртөм деп ойлогом