תוכן עניינים:
- שלב 1: מבוא
- שלב 2: פתרון
- שלב 3: מעגל
- שלב 4: סיום המכשיר
- שלב 5: אפליקציה לנייד
- שלב 6: קבצי קוד Blynk
- שלב 7: פונקציונליות
- שלב 8: קובץ קוד Arduino101
וִידֵאוֹ: הצילו את חייכם בעזרת צג התמוטטות הבניין: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
נתח מבני בטון, מתכת, עץ לעיקולים וזוויות והתראות אם הם חרגו מהעמדה המקורית.
שלב 1: מבוא
עם התפתחות תחום ההנדסה האזרחית, אנו יכולים לזהות הרבה מבנים בכל מקום. מבני מתכת, קורות בטון, בניינים מרובי פלטפורמות הם חלקם. יתר על כן, רובנו רגילים לשהות בבניין או בבית במשך רוב שעות היום. אך כיצד נוכל להבטיח שהבניין בטוח מספיק כדי להישאר? מה אם יש בבניין שלך סדק קטן או קורות נוטות יתר? זה יסכן מאות חיים.
רעידות אדמה, קשיות הקרקע, טורנדו ועוד הרבה דברים יכולים להוות גורמים לסדקים פנימיים ולסטיית המבנים או הקורות מהמיקום הניטרלי. ברוב הפעמים איננו מודעים למצב המבנים שמסביב. אולי המקום בו אנו נכנסים כל יום כולל קורות בטון סדוקות והוא יכול להתמוטט בכל עת. אך מבלי לדעת זאת אנו נכנסים פנימה בחופשיות. כפתרון לכך, אנו זקוקים לשיטה טובה לניטור קורות בטון, עץ, מתכת של מבנים אליהם איננו יכולים להגיע.
שלב 2: פתרון
"מנתח מבנים" הוא מכשיר נייד הניתן להתקנה על קורת בטון, מבנה מתכת, לוחות וכו 'מכשיר זה מודד את הזווית ומנתח עיקולים היכן שהוא מותקן ושולח את הנתונים לאפליקציה לנייד באמצעות בלוטות'. מכשיר זה משתמש במד תאוצה/ ג'ירוסקופ למדידת הזווית במטוסים x, y, z וחיישן גמישות לניטור העיקולים. כל הנתונים הגולמיים מעובדים ומידע נשלח לאפליקציה לנייד.
שלב 3: מעגל
אסוף את הרכיבים הבאים.
- לוח ארדואינו 101
- 2 X חיישני Flex
- 2 X 10k נגדים
כדי לצמצם את מספר הרכיבים לוח Arduino 101 משמש כאן מכיוון שהוא מכיל מד תאוצה ומודול BLE. חיישני גמישות משמשים למדידת כמות הכיפוף מכיוון שהיא משנה את ההתנגדות שלה בעת כיפוף. המעגל קטן מאוד מכיוון שצריך לחבר רק 2 נגדים ושני חיישני גמישות. התרשים הבא מראה כיצד לחבר חיישן גמישה ללוח Arduino.
סיכה אחת של הנגד מחוברת לסיכה A0 של לוח הארדואינו. בצע את אותו הליך לחיבור חיישן הגמישות השני. השתמש בסיכה A1 לחיבור הנגד.
חבר את הזמזם ישירות לסיכה D3 ולסיכת Gnd.
שלב 4: סיום המכשיר
לאחר ביצוע המעגל, יש לתקן אותו בתוך מארז. על פי המודל התלת ממדי לעיל, יש להציב 2 חיישני גמישות בצד הנגדי של המתחם. פנה מקום ליציאת ה- USB לתכנת הלוח ואספקת החשמל. מכיוון שיש צורך להשתמש במכשיר זה לתקופה ארוכה, השיטה הטובה ביותר לאספקת חשמל היא באמצעות מארז חשמל קבוע.
שלב 5: אפליקציה לנייד
הורד והתקן את Blynk מחנות Android Play. התחל פרויקט חדש עבור Arduino 101. בחר את שיטת התקשורת כ- BLE. הוסף ממשק אחד, 2 כפתורים ו- BLE לממשק. התמונות הבאות מראות לך כיצד ליצור את הממשק.
שלב 6: קבצי קוד Blynk
לאחר ביצוע הממשק ב- Blynk תקבל קוד הרשאה. הזן את הקוד במקום הבא.
#include #include char auth = "***************"; // קוד הרשאה של Blynk
WidgetTerminal terminal (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: קובץ קוד Arduino101
#הגדר סדרה BLYNK_PRINT
#define flex1 A0
#define flex2 A1 // הגדר חיישן גמישות וסיכות זמזם
#מגדיר זמזם 3
#כלול "CurieIMU.h"#כולל "BlynkSimpleCurieBLE.h"
#כלול "CurieBLE.h"
#כלול "Wire.h"
#כלול "EEPROM.h"
#כלול "SPI.h"
char auth = "**************"; // Blynk קוד הרשאה Widget מסוף מסוף (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 () {// 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.read (0); m_flx2 = EEPROM.read (1);
m_x = EEPROM.read (2); // קרא ערכי חיישנים שנשמרו מראש מ- EEPROM
m_y = EEPROM.read (3);
m_z = EEPROM.read (4);
}
לולאת חלל () {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 ();
אם (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-");
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) {
}
מוּמלָץ:
התקנת ST Visual פיתוח בעזרת מהדר STM8 Cosmic: 11 שלבים
התקנת ST Visual Develop עם מהדר STM8 Cosmic: כך הגדרתי את סביבת הפיתוח המשולבת (IDE) כדי לתכנת בקרי מיקרו STM8 מ ST Microelectronics (ST) עם Windows 10. אני לא טוען שזו הדרך הנכונה, אבל זה עובד היטב בשבילי. במדריך זה זה יראה כמו
מדוד את המרחק בעזרת החיישן האולטרסאונד HC-SRF04 (האחרון 2020): 3 שלבים
מדוד את המרחק בעזרת החיישן האולטראסוני HC-SRF04 (האחרון 2020): מהו החיישן האולטראסוני (מרחק)? אולטרסאונד (סונאר) עם גלים ברמה גבוהה שאנשים לא יכולים לשמוע. עם זאת, אנו יכולים לראות את נוכחותם של גלי קולי בכל מקום בטבע. בבעלי חיים כגון עטלפים, דולפינים … השתמשו בגלים קוליים כדי
מכונת מאקרו, הפכו את חייכם לקלים יותר !: 3 שלבים
מכונת מאקרו, הפכו את חייכם לקלים יותר! מאקרו הוא דבר שימושי מאוד מכיוון שהוא עוזר לנו לעשות דברים מהר יותר. פרויקט זה עוסק בהקלדת קישור לאתר עבורכם על ידי לחיצה על כפתור שהוא מעין מאקרו. פרויקט זה מיועד לסטודנטים ב- KCIS אשר לעתים קרובות צריכים להזין את Managbac עבור
הצילו את הילד שלי: המושב החכם ששולח הודעות טקסט אם שכחתם את הילד במכונית: 8 שלבים
הצילו את הילד שלי: המושב החכם ששולח הודעות טקסט אם שכחתם את הילד במכונית: הוא מותקן במכוניות, ובזכות גלאי שהונח על כסא הילדים, הוא מזהיר אותנו - באמצעות SMS או שיחת טלפון - אם נקבל משם בלי להביא את הילד איתנו
הצילו את כוכב הלכת והכיס שלכם. $$ המר את המצלמה הדיגיטלית הזולה שלך ל- P&S להטענה: 4 שלבים (עם תמונות)
הצילו את כוכב הלכת והכיס שלכם. $$ המירו את המצלמה הדיגיטלית הזולה שלכם ל- P&S להטענה: לפני שנים קניתי מצלמה דיגיטלית של דולפין ג'אז 2.0 מגה פיקסל. היו לה תכונות ומחירים טובים. היה לו תיאבון גם לבאטרי AAA. לא אחד שהתרחק מאתגר, חשבתי שאעשה זאת באמצעות סוללה נטענת כדי להפסיק לבזבז