فهرست مطالب:

چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار: 5 مرحله (همراه با تصاویر)
چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار: 5 مرحله (همراه با تصاویر)

تصویری: چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار: 5 مرحله (همراه با تصاویر)

تصویری: چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار: 5 مرحله (همراه با تصاویر)
تصویری: فقط یک حبه سیر رو داخل آن بگذارید و نتیجه آن! 2024, ژوئن
Anonim
چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار
چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 2 - نرم افزار
نحوه ساخت بادسنج خود با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu - قسمت 2 - نرم افزار
نحوه ساخت بادسنج خود با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu - قسمت 2 - نرم افزار

معرفی

این دنباله اولین پست "چگونه می توان بادسنج خود را با استفاده از کلیدهای نی ، سنسور جلوه هال و برخی ضایعات در Nodemcu ساخت - قسمت 1 - سخت افزار" - که در آن نحوه جمع آوری دستگاه های اندازه گیری سرعت و جهت باد را نشان می دهم. در اینجا ما از نرم افزار کنترل اندازه گیری که برای استفاده در Nodemcu با استفاده از Arduino IDE طراحی شده است ، استفاده خواهیم کرد.

شرح پروژه

در پست قبلی ، دستگاه های مسلح و متصل به Nodemcu قادر به اندازه گیری سرعت و جهت باد هستند. نرم افزار کنترل برای خواندن چرخش بادسنج برای یک دوره زمانی ، محاسبه سرعت خطی ، خواندن جهت پره ، نمایش نتایج در OLED ، انتشار نتایج در ThingSpeak و خوابیدن به مدت 15 دقیقه طراحی شده است. اندازه گیری بعدی

سلب مسئولیت: این بادسنج نباید برای اهداف حرفه ای استفاده شود. فقط برای مصارف دانشگاهی یا خانگی است.

توجه: انگلیسی زبان طبیعی من نیست. اگر خطاهای دستوری را پیدا کردید که مانع درک پروژه می شود ، لطفاً به من اطلاع دهید تا آنها را اصلاح کنم. خیلی ممنونم.

مرحله 1: نصب Arduino IDE ، ESP8266 Boards and Libraries و حساب ThingSpeak شما

نصب Arduino IDE ، بردها و کتابخانه های ESP8266 و حساب ThingSpeak شما
نصب Arduino IDE ، بردها و کتابخانه های ESP8266 و حساب ThingSpeak شما
نصب Arduino IDE ، بردها و کتابخانه های ESP8266 و حساب ThingSpeak شما
نصب Arduino IDE ، بردها و کتابخانه های ESP8266 و حساب ThingSpeak شما

نصب Arduino IDE و Nodemcu

اگر IDE را هرگز نصب نکرده اید ، لطفاً آموزش موجود در پیوند - نحوه نصب Arduino IDE - که در آن می توانید دستورالعمل های کامل را بیابید ، مطالعه کنید.

در مرحله بعد ، برای نصب برد Nodemcu از این آموزش آموزشی Magesh Jayakumar Instructables استفاده کنید که بسیار کامل است. نحوه نصب Nodemcu no Arduino IDE

نصب کتابخانه ها

در مرحله بعد باید کتابخانه هایی را که طرح از آنها استفاده می کند نصب کنید. آنها رایج هستند و می توانید مراحل زیر را دنبال کنید.

کتابخانه ThingSpeak -

کتابخانه ESP8266 -

ایجاد حساب ThingSpeak

برای استفاده از ThingSpeak (https://thingspeak.com/) باید یک حساب ایجاد کنید (برای تعدادی از فعل و انفعالات هنوز رایگان است) که در آن می توانید داده های اندازه گیری شده در بادسنج خود را ذخیره کرده و شرایط باد در خانه خود را زیر نظر داشته باشید ، حتی از طریق تلفن همراه با استفاده از ThingSpeak ، می توانید دسترسی عمومی به داده های جمع آوری شده خود را در اختیار هر کسی که علاقه مند است قرار دهید. این یک مزیت خوب ThingSpeak است. وارد صفحه اصلی شده و مراحل ایجاد حساب خود را دنبال کنید.

پس از ایجاد حساب ، این آموزش را وارد کنید - ThingSpeak Getting Started - برای ایجاد کانال های خود. خیلی خوب توضیح داده شده به طور خلاصه ، شما باید یک کانال ایجاد کنید تا اطلاعات در آن ذخیره شود. این کانال دارای یک شناسه و یک API کلید است که هر زمان که می خواهید داده ها را ضبط کنید باید در طرح به آنها اشاره شود. ThingSpeak همه داده ها را در یک بانک ذخیره می کند و هر بار که به حساب خود دسترسی پیدا می کنید ، آنها را به روشی که پیکربندی کرده اید نشان می دهد.

مرحله 2: بررسی طرح

کاوش در طرح
کاوش در طرح
کاوش در طرح
کاوش در طرح

فلوچارت

در نمودار ، می توانید فلوکسوگرام طرح را درک کنید. هنگامی که Nodemcu را بیدار می کنید (پیوند دهید) ، به شبکه Wi-Fi شما متصل می شود ، پارامترهای آن را پیکربندی کرده اید و برای انجام اندازه گیری ها 1 دقیقه زمان را شروع می کنید. ابتدا چرخش بادسنج را به مدت 25 ثانیه شمارش می کند ، محاسبه کنید سرعت خطی و جهت باد را بخوانید. نتایج در OLED نشان داده شده است. دوباره همین مراحل را انجام دهید و برای این خوانش دوم ، به ThingSpeak منتقل می شود.

سپس نودمکو 15 دقیقه می خوابد تا باتری را ذخیره کند. از آنجا که من از یک پنل خورشیدی کوچک استفاده می کنم ، ضروری است که این کار را انجام دهم. اگر از منبع 5V استفاده می کنید ، می توانید برنامه را طوری تغییر دهید که خواب نبیند و به اندازه گیری داده ها ادامه دهید.

ساختار برنامه ها

در نمودار ، ساختار طرح را مشاهده می کنید.

بادسنج_قابل دستورالعمل

این برنامه اصلی است که کتابخانه ها را بارگیری می کند ، متغیرها را راه اندازی می کند ، وقفه اتصال را کنترل می کند ، همه توابع را فرا می خواند ، سرعت باد را محاسبه می کند ، جهت آن را تعیین می کند و آن را به خواب می برد.

ارتباطات

وای فای را وصل کرده و داده ها را به ThingSpeak ارسال کنید.

اعتبارنامه ها. h

کلیدهای شبکه WiFi و شناسه های حساب شما در ThingSpeak. در اینجا شما می توانید شناسه های کلیدها و API های خود را تغییر دهید.

تعریف می کند. h

این شامل همه متغیرهای برنامه است. اینجاست که می توانید زمان خواندن یا مدت زمان خواب nodemcu را تغییر دهید.

کارکرد

این شامل توابع برای ترکیب پارامترها و خواندن مالتی پلکسر و همچنین عملکرد خواندن چرخش بادسنج است.

oledDisplay

نتایج سرعت و جهت باد را روی صفحه نمایش دهید.

مرحله 3: توضیحاتی در مورد…

توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…
توضیحات در مورد…

ضمیمه قطع کنید

چرخش بادسنج با استفاده از عملکرد

وقفه ها رویدادها یا شرایطی هستند که باعث می شوند میکروکنترلر وظیفه ای را که انجام می دهد متوقف کرده ، موقتاً در یک کار متفاوت کار کرده و به کار اولیه بازگردد.

می توانید جزئیات عملکرد را در پیوند آموزش آردوینو بخوانید. به attachInterrupt () مراجعه کنید.

نحو: attachInterrupt (پین ، عملکرد تماس ، نوع/حالت وقفه) ؛

پین = D6

تابع تماس = rpm_anemometer - هر پالس را روی یک متغیر شمارش می کند.

نوع/حالت وقفه = RISING - وقفه زمانی که پین از پایین به بالا می رود.

در هر پالس تولید شده توسط مگنتو در سنسور هال ، پین از پایین به بالا می رود و عملکرد شمارش فعال می شود و در 25 ثانیه تعیین شده ، پالس را در یک متغیر خلاصه می کند. پس از اتمام زمان ، شمارنده قطع می شود (detachInterrupt ()) و روال در حین قطع سرعت را محاسبه می کند.

محاسبه سرعت باد

پس از مشخص شدن تعداد چرخش های بادسنج در 25 ثانیه ، سرعت را محاسبه می کنیم.

  • RADIO اندازه گیری از محور مرکزی بادسنج تا نوک توپ پینگ پنگ است. حتماً اندازه خود را بسیار خوب اندازه گیری کرده اید - (در نمودار 10 سانتی متر ببینید).
  • RPS (چرخش در ثانیه) = چرخش / 25 ثانیه
  • RPM (دور در دقیقه) = RPS * 60
  • OMEGA (سرعت زاویه ای - رادیان بر ثانیه) = 2 * PI * RPS
  • سرعت_خطی (متر بر ثانیه) = OMEGA * RADIO
  • Linear_Velocity_kmh (کیلومتر در ساعت) = 3.6 * Linear_Velocity و این چیزی است که قرار است به ThingSpeak ارسال شود.

جهت پره باد را بخوانید

برای خواندن موقعیت پره باد برای تعیین جهت باد ، برنامه سیگنالهای کم و زیاد را با چند ترکیب پارامترهای A ، B ، C (ماتریس muxABC) به چندضلعی ارسال می کند و منتظر بمانید تا نتیجه را در پین A0 دریافت کنید. که می تواند هر ولتاژی بین 0 تا 3.3 ولت باشد. ترکیبات در نمودار نشان داده شده است.

به عنوان مثال ، هنگامی که C = 0 (کم) ، B = 0 (کم) ، A = 0 (کم) مالتی پلکسر اطلاعات پین 0 را به آن می دهد و سیگنال را به A0 ارسال می کند که توسط Nodemcu خوانده می شود. اگر C = 0 (کم) ، B = 0 (کم) ، A = 1 (زیاد) ، مالتی پلکسر اطلاعات پین 1 و غیره را برای شما ارسال می کند تا خواندن 8 کانال به پایان برسد.

از آنجا که سیگنال آنالوگ است ، برنامه به دیجیتال (0 یا 1) تبدیل می شود ، اگر ولتاژ کمتر از 1.3V باشد یا سیگنال 0 باشد. اگر از 1.3 ولت بیشتر باشد سیگنال 1 است. مقدار 1.3 ولت دلخواه است و برای من بسیار خوب کار می کرد. همیشه نشتهای کوچکی از جریان وجود دارد و این باعث می شود که هیچگونه کاذب مثبت وجود نداشته باشد.

این داده ها در یک بردار val [8] ذخیره می شود که با آرایه آدرس به عنوان قطب نما مقایسه می شود. ماتریس را در نمودار ببینید. به عنوان مثال ، اگر بردار دریافتی [0 ، 0 ، 1 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0] باشد ، در ماتریس جهت E را نشان می دهد و با زاویه 90 درجه مطابقت دارد. اگر [0، 0، 0، 0، 0، 0، 1، 1] در ماتریس آدرس WNW را نشان می دهد و با زاویه 292.5 درجه مطابقت دارد. N با [1 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0] و زاویه 0 درجه مطابقت دارد.

چیزی که به ThingSpeak ارسال می شود در زاویه است زیرا فقط اعداد را می پذیرد.

مرحله 4: ارتباطات

ارتباطات
ارتباطات
ارتباطات
ارتباطات

نحوه ارسال داده به ThingSpeak

تابع thingspeaksenddata () مسئول ارسال داده ها است.

ThingSpeak.setField (1 ، float (linear_velocity_kmh)) - ارسال داده های سرعت به فیلد 1 کانال من

ThingSpeak.setField (2 ، float (wind_Direction_Angle)) - ارسال اطلاعات آدرس به فیلد 2 کانال من

ThingSpeak.writeFields (myChannelNumber ، myWriteAPIKey) - ارسال myChannelNumber به کانال من ، با API myWriteAPIKey نوشته شده توسط TS. این داده ها هنگام ایجاد حساب و کانال شما توسط TS تولید شده است.

در تصاویر بالا می توانید نحوه نمایش ThingSpeak داده های دریافت شده را مشاهده کنید.

در این پیوند می توانید به داده های پروژه من در کانال عمومی ThingSpeak دسترسی پیدا کنید.

مرحله 5: متغیرهای اصلی

پارامترهای پره باد

  • MUX_A D5 - mux pi A به Nodemcu pin D5
  • MUX_B D4 - پین mux B تا Nodemcu pin D4
  • MUX_C D3 - mux pin C تا Nodemcu pin D3
  • READPIN 0 - ورودی آنالوگ در NodeMcu = A0
  • NO_PINS 8 - تعداد پین های mux
  • val [NO_PINS] - پورت های 0 تا 7 از mux
  • Wind_Direction_Angle - زاویه جهت باد
  • String windRose [16] = {"N" ، "NNE" ، "NE" ، "ENE" ، "E" ، "ESE" ، "SE" ، "SSE" ، "S" ، "SSW" ، "SW" ، "WSW" ، "W" ، "WNW" ، "NW" ، "NNW"} - کارتنال ها ، وثیقه ها و وثیقه های فرعی
  • windAng [16] = {0 ، 22.5 ، 45 ، 67.5 ، 90 ، 112.5 ، 135 ، 157.5 ، 180 ، 202.5 ، 225 ، 247.5 ، 270 ، 292.5 ، 315 ، 337.5} - زوایای هر جهت
  • رقم [16] [NO_PINS] - ماتریس جهت ها
  • muxABC [8] [3] - ترکیب AX mux

پارامترهای بادسنج

  • rpmcount - تعداد چرخش های کامل بادسنج را در زمان تعیین شده محاسبه کنید
  • timemeasure = 25.00 - اندازه گیری مدت زمان دوام در ثانیه
  • timetoSleep = 1 - زمان بیداری Nodemcu در چند دقیقه
  • زمان خواب = 15 - زمان برای ادامه خواب در چند دقیقه
  • rpm ، rps - فرکانس چرخش (چرخش در دقیقه ، چرخش در ثانیه)
  • شعاع - متر - اندازه طول بال بادسنج
  • سرعت_خطی - سرعت خطی بر حسب m/seg
  • line_velocity_kmh - سرعت خطی بر کیلومتر بر ساعت
  • امگا - سرعت شعاعی در rad/seg

در زیر می توانید طرح کامل را پیدا کنید. یک پوشه جدید در پوشه آردوینو رایانه خود با همان نام برنامه اصلی (Anemometer_Instructables) ایجاد کرده و همه آنها را کنار هم قرار دهید.

داده های شبکه wifi و شناسه ThingSpeak و API Writer Key را در قسمت Credentials.h وارد کرده و ذخیره کنید. بارگذاری در Nodemcu و این همه.

برای آزمایش عملکرد سیستم ، یک فن دوار خوب را توصیه می کنم.

برای دسترسی به داده ها از طریق تلفن همراه ، برنامه IOS یا Android را با نام ThingView بارگیری کنید ، که خوشبختانه هنوز رایگان است.

تنظیمات حساب خود را پیکربندی کنید و آماده خواهید بود تا شرایط باد خانه خود را در هر کجا که هستید مشاهده کنید.

اگر علاقه مند هستید ، به کانال شناسه کانال ThingSpeak من مراجعه کنید: 438851 ، که عمومی است و در آنجا اندازه گیری باد و جهت را در خانه من پیدا خواهید کرد.

من واقعاً امیدوارم که خوش بگذرانید.

اگر شک دارید در تماس با من شک نکنید.

با احترام

توصیه شده: