جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
يميل الناس إلى الشعور بالحنين إلى الهوايات التي تهمهم ، مثل المشي لمسافات طويلة.
لكن كيف تحتفظ بذكرى التنزه؟
الصور خيار ، نعم. سيسمح هذا الجهاز بخيار آخر ليكون أرشيف بيانات من الرحلة. سيكون لدى الشخص رسم بياني يوضح الوقت الذي استغرقه الارتفاع مقارنة بالارتفاع الذي صعد إليه. بالإضافة إلى ذلك ، ستخبرهم بالضغط الأقصى والدقيق والمتوسط الذي تعرضوا له طوال فترة الارتفاع.
يستخدم هذا مستشعر الارتفاع والضغط لإنترنت الأشياء لمراقبة وتسجيل البيانات حول الارتفاع. ثم يتم استخدام MATLAB لتحليل البيانات لإخراج قراءات ضغط المفاتيح ورسم بياني للوقت مقابل الارتفاع.
الخطوة 1: الأجزاء والمواد
سباركفن ESP8266
مستشعر ارتفاع / ضغط متوافق
الأسلاك
USB إلى كابل micro-USB
حساب ThingSpeak
برنامج اردوينو
برنامج MATLAB وصندوق أدوات ThingSpeak
الخطوة الثانية: إعداد البرنامج
انشئ حساب
إنشاء "قناة جديدة"
قم بتسمية الحقل 1 على أنه ارتفاع والحقل 2 كضغط
حفظ القناة
انتقل إلى "مشاركة" وحدد "مشاركة عرض القناة مع الجميع"
الصق الكود من [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] في Arduino
تغيير شبكة WiFi وكلمة المرور "ssid"
غيّر "streamID" و "privateKey" لمطابقة مفاتيح API على ThingSpeak
الخطوة 3: إعداد الأجهزة
الأجهزة السلكية وفقا للصورة أعلاه
قم بتوصيل USB بجهاز كمبيوتر محمول و ESP8266
الخطوة 4: الاتصال بجهازك
ابحث عن المفتاح الأسود الصغير واقلبه على ESP8266 لتشغيله
انقر فوق السهم الأيمن في الزاوية اليسرى العليا من برنامج Arduino لتحميل الكود (قد يستغرق ذلك بضع دقائق)
الآن يجب أن تقوم قراءات المستشعر بإخراج البيانات إلى موقع ThingSpeak على الويب ، والذي يتم تمثيله بيانياً
الخطوة 5: تشفير MATLAB
انسخ الكود التالي للدالة "microcontroller_project" إلى MATLAB
قم بتعديل النص الغامق ليناسب قناة ThingSpeak المحددة
(يشير الرقم "90" بالخط العريض إلى دقائق البيانات المأخوذة في الاعتبار من القناة. قم بتغيير هذا يدويًا وفقًا لطول مدة تشغيل القناة.)
استدعاء الوظيفة عن طريق كتابة "microcontroller_project" في نافذة الأوامر
الشفرة:
الوظيفة [الرسم البياني Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102، 'Fields'، [1، 2]، 'NumMinutes'، 90، 'OutputFormat'، 'table')؛
readChannelID = 364102 ،
readAPIKey = 'U9AJ9S68KVNYQKQV' ،
altitudefieldID = 1 ؛
معرف حقل الضغط = 2 ؛
writeChannelID = 364102 ؛
writeAPIKey = '6H8W3UNH6HMT1TCZ' ،
بالنسبة إلى i = 1: max (size (data))
الطابع الزمني = البيانات (i ، 1) ؛
time_cell_array = table2cell (الطابع الزمني) ؛
time_string_array = datestr (time_cell_array {1، 1}) ؛
ساعة = str2num (time_string_array (13:14)) ؛
دقيقة = str2num (time_string_array (16:17)) ؛
الثانية = str2num (time_string_array (19:20)) ؛
الوقت (ط) = 3600. * ساعة + 60. * دقيقة + ثانية ؛
نهاية
alt = البيانات (: ، 2) ؛
alt2 = table2cell (بديل) ؛
الارتفاع = تبديل (cell2mat (alt2)) ؛
ع = البيانات (: ، 3) ؛
الضغط = cell2mat (table2cell (p)) ؛
مؤامرة (الوقت ، الارتفاع)
العنوان ("بيانات مسار المشي: الوقت مقابل الارتفاع")
xlabel ("الوقت (ثانية)")
ylabel ("الارتفاع (قدم)")
str = التاريخ ؛ أسطورة (شارع)
Pressures_Pa.max = max (الضغط)
Pressures_Pa.min = min (الضغط)
Pressures_Pa.avg = متوسط (الضغط)
نهاية