Mundarija:

O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi hurdalar yordamida qanday qurish mumkin - 2 -qism - Dasturiy ta'minot: 5 qadam (rasmlar
O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi hurdalar yordamida qanday qurish mumkin - 2 -qism - Dasturiy ta'minot: 5 qadam (rasmlar

Video: O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi hurdalar yordamida qanday qurish mumkin - 2 -qism - Dasturiy ta'minot: 5 qadam (rasmlar

Video: O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi hurdalar yordamida qanday qurish mumkin - 2 -qism - Dasturiy ta'minot: 5 qadam (rasmlar
Video: Qaysi biri yaxshiroq - o'zingizning biznesingiz yoki ishlash? | Bobir Akilkhanov 2024, Noyabr
Anonim
Qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi qoldiqlardan foydalanib, o'zingizning anemometringizni qanday qurishingiz mumkin - 2 -qism - Dasturiy ta'minot
Qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi qoldiqlardan foydalanib, o'zingizning anemometringizni qanday qurishingiz mumkin - 2 -qism - Dasturiy ta'minot
Qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi qoldiqlardan foydalanib, o'zingizning anemometringizni qanday qurishingiz mumkin - 2 -qism - Dasturiy ta'minot
Qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi qoldiqlardan foydalanib, o'zingizning anemometringizni qanday qurishingiz mumkin - 2 -qism - Dasturiy ta'minot

Kirish

Bu "O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcudagi ba'zi qoldiqlardan foydalanib qanday qurish kerak - 1 -qism - Uskuna" birinchi postining davomi - men shamol tezligi va yo'nalishini o'lchash moslamalarini qanday yig'ishni ko'rsataman. Bu erda biz Arduino IDE yordamida Nodemcu -da ishlatish uchun mo'ljallangan o'lchovlarni boshqarish dasturidan foydalanamiz.

Loyihaning tavsifi

Oldingi postda qurollangan va Nodemcuga ulangan qurilmalar shamol tezligi va yo'nalishini o'lchashga qodir. Boshqaruv dasturi anemometrning aylanishini ma'lum vaqt davomida o'qish, chiziqli tezlikni hisoblash, qanot qanotining yo'nalishini o'qish, OLEDda natijalarni ko'rsatish, natijalarni ThingSpeak -da chop etish va 15 daqiqa uxlash uchun mo'ljallangan. keyingi o'lchov.

Ogohlantirishlar: Ushbu anemometrni professional maqsadlarda ishlatmaslik kerak. Bu faqat ilmiy yoki uyda foydalanish uchun.

Eslatma: Ingliz tili mening ona tilim emas. Agar siz loyihani tushunishga to'sqinlik qiladigan grammatik xatolarni topsangiz, ularni tuzatish uchun menga xabar bering. Sizga katta rahmat.

1 -qadam: Arduino IDE, ESP8266 taxta va kutubxonalarini va ThingSpeak hisob qaydnomangizni o'rnatish

Arduino IDE, ESP8266 taxtalari va kutubxonalari va ThingSpeak hisob qaydnomangizni o'rnatish
Arduino IDE, ESP8266 taxtalari va kutubxonalari va ThingSpeak hisob qaydnomangizni o'rnatish
Arduino IDE, ESP8266 taxtalari va kutubxonalari va ThingSpeak hisob qaydnomangizni o'rnatish
Arduino IDE, ESP8266 taxtalari va kutubxonalari va ThingSpeak hisob qaydnomangizni o'rnatish

Arduino IDE va Nodemcu -ni o'rnatish

Agar siz hech qachon Arduino IDE -ni o'rnatmagan bo'lsangiz, iltimos, havoladagi ko'rsatmani o'qing - Arduino IDE -ni qanday o'rnatish kerak - bu erda to'liq ko'rsatmalarni topishingiz mumkin.

Keyingi qadam, Nodemcu taxtasini o'rnatish uchun ushbu qo'llanmani Magesh Jayakumar Instructables -dan foydalaning, bu juda to'liq. Nodemcu no Arduino IDE -ni qanday o'rnatish kerak

Kutubxonalarni o'rnatish

Keyingi bosqichda siz eskiz foydalanadigan kutubxonalarni o'rnatishingiz kerak. Ular keng tarqalgan va siz quyida ko'rsatilgan amallarni bajarishingiz mumkin.

ThingSpeak kutubxonasi -

ESP8266 kutubxonasi -

ThingSpeak hisobini yaratish

ThingSpeak -dan (https://thingspeak.com/) foydalanish uchun siz anemometrda o'lchangan ma'lumotlarni saqlashingiz va uyingizdagi shamol sharoitlarini kuzatib borishingiz mumkin bo'lgan hisob qaydnomasini yaratishingiz kerak (u hali ham ma'lum miqdordagi o'zaro ta'sirlar uchun bepul), hatto mobil telefon orqali ham. ThingSpeak -dan foydalanib, siz qiziqqanlarga to'plangan ma'lumotlaringizga jamoatchilikka kirishni berishingiz mumkin. Bu ThingSpeak -ning yaxshi afzalligi. Bosh sahifaga kiring va hisob qaydnomangizni yaratish uchun qadamlarni bajaring.

Hisob qaydnomasi yaratilgandan so'ng, kanallaringizni yaratish uchun ushbu qo'llanmani kiriting - ThingSpeak Getting Starting. Bu juda yaxshi tushuntirilgan. Xulosa qilib aytganda, siz ma'lumotlar saqlanadigan kanal yaratishingiz kerak. Bu kanalda har safar ma'lumotlarni yozmoqchi bo'lganingizda eskizda ko'rsatilishi kerak bo'lgan ID va Key API mavjud. ThingSpeak barcha ma'lumotlarni bankda saqlaydi va har safar hisobingizga kirganingizda, ularni siz ko'rsatgan tarzda ko'rsatadi.

2 -qadam: Eskizni o'rganish

Sketchni o'rganish
Sketchni o'rganish
Sketchni o'rganish
Sketchni o'rganish

Oqim sxemasi

Diagrammada siz eskizning fluxogrammasini tushunishingiz mumkin. Nodemcu uyg'onganingizda, u sizning Wi-Fi tarmog'ingizga ulanadi, uning parametrlari siz sozlagan va o'lchovlarni bajarish uchun 1 daqiqa vaqtni sanashni boshlaydi. Birinchidan, u anemometrning aylanishini 25 soniya davomida hisoblab chiqadi. chiziqli tezlik va shamol yo'nalishini o'qing. Natijalar OLEDda ko'rsatiladi. Xuddi shu qadamlarni takrorlang va ikkinchi o'qish uchun ThingSpeak -ga yuboriladi.

Keyin Nodemcu batareyani tejash uchun 15 daqiqa uxlaydi. Kichkina quyosh panelini ishlatayotganimda, buni qilishim shart. Agar siz 5V manbadan foydalanayotgan bo'lsangiz, dasturni uxlamasligi uchun o'zgartirishingiz va ma'lumotlarni o'lchashni davom ettirishingiz mumkin.

Dasturlarning tuzilishi

Diagrammada siz eskizning tuzilishini ko'rishingiz mumkin.

Ko'rsatmalar

Bu kutubxonalarni yuklaydigan, o'zgaruvchilarni ishga tushiradigan, biriktiruvchi uzilishni boshqaradigan, barcha funktsiyalarni chaqiradigan, shamol tezligini hisoblaydigan, yo'nalishini aniqlaydigan va uxlatadigan asosiy dastur.

aloqa

Wi -Fi -ni ulang va ma'lumotlarni ThingSpeak -ga yuboring.

ishonchnoma.h

ThingSpeak -dagi Wi -Fi tarmog'ingizning kalitlari va hisobingizning identifikatorlari. Bu erda siz kalit identifikatorlari va API -ni o'zgartirasiz.

belgilaydi.h

U dasturning barcha o'zgaruvchilarini o'z ichiga oladi. Bu erda siz o'qish vaqtini yoki nodemcu qancha uxlashini o'zgartirishingiz mumkin.

vazifalar

U parametrlarni birlashtirish va multipleksorni o'qish funktsiyalarini, shuningdek, anemometrning aylanishlarini o'qish funktsiyasini o'z ichiga oladi.

oledDisplay

Shamol tezligi va yo'nalishi natijalarini ekranda ko'rsatish.

3 -qadam: haqida tushuntirishlar …

Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…
Tushuntirishlar…

Interruptni biriktiring

Anemometrning aylanishi Nodemcuning GPIO 12 (pin D6) dagi attachInterrupt () (va detachInterrupt ()) funktsiyasi bilan o'lchanadi (D0-D8 pimlarida uzilish xususiyati bor).

Uzilishlar - bu mikrokontroller bajarayotgan vazifani bajarishni to'xtatishiga, vaqtincha boshqa vazifada ishlashiga va dastlabki vazifaga qaytishiga sabab bo'ladigan hodisalar yoki shartlar.

Funktsiya tafsilotlarini Arduino qo'llanmasi uchun havolada o'qishingiz mumkin. AttachInterrupt () ga qarang.

Sintaksis: attachInterrupt (pin, qayta qo'ng'iroq qilish funktsiyasi, uzilish turi/rejimi);

pin = D6

qayta qo'ng'iroq qilish funktsiyasi = rpm_anemometer - o'zgaruvchining har bir pulsini hisoblaydi.

uzilish turi/rejimi = RISING - pin pastdan yuqoriga ko'tarilganda uzilish.

Magnito Hall sensori tomonidan ishlab chiqarilgan har bir pulsda, pin pastdan yuqoriga ko'tariladi va 25 soniya davomida hisoblash funktsiyasi faollashadi va pulsni o'zgaruvchiga yig'iladi. Vaqt tugagandan so'ng, hisoblagich uziladi (detachInterrupt ()) va tartib uzilgan vaqtda tezlikni hisoblab chiqadi.

Shamol tezligini hisoblash

Anemometr 25 soniyada necha marta aylanishini aniqlagach, biz tezlikni hisoblaymiz.

  • RADIO - anemometrning markaziy o'qidan stol tennisi to'pining uchigacha bo'lgan o'lchov. Siz o'z o'lchovingizni juda yaxshi o'lchagan bo'lsangiz kerak (qarang: diagrammada 10 sm).
  • RPS (sekundiga aylanish) = aylanish / 25 soniya
  • RPM (daqiqada aylanishlar) = RPS * 60
  • OMEGA (burchak tezligi - sekundiga radian) = 2 * PI * RPS
  • Linear_Velocity (sekundiga metr) = OMEGA * RADIO
  • Linear_Velocity_kmh (soatiga km) = 3.6 * Linear_Velocity va bu ThingSpeak -ga yuboriladi.

Shamol qanotlarining yo'nalishini o'qing

Shamol yo'nalishini aniqlash uchun shamol qanotining holatini o'qish uchun dastur past, yuqori signallarni multipleksorga A, B, C parametrlarining barcha kombinatsiyalari bilan yuboradi (muxABC matritsasi) va natijani A0 pinida olishni kuting. bu 0 dan 3,3 V gacha bo'lgan har qanday kuchlanish bo'lishi mumkin. Kombinatsiyalar diagrammada ko'rsatilgan.

Masalan, C = 0 (past), B = 0 (past), A = 0 (past) bo'lganda, multipleksor unga pin 0 ma'lumotlarini beradi va Nodemcu o'qiydigan signalni A0 ga yuboradi; agar C = 0 (past), B = 0 (past), A = 1 (yuqori) bo'lsa, multipleksor 8 ta kanal o'qilishi tugaguncha sizga pin 1 va shunga o'xshash ma'lumotlarni yuboradi.

Signal analog bo'lgani uchun, dastur raqamli (0 yoki 1) ga aylanadi, agar kuchlanish 1.3V dan kam yoki unga teng bo'lsa, signal 0 ga teng; agar u 1.3V dan katta bo'lsa, signal 1. 1.3V qiymati o'zboshimchalik bilan va men uchun juda yaxshi ishladi. Har doim kichik oqim oqimi bo'ladi va bu yolg'on pozitsiyalar yo'qligidan himoya qiladi.

Bu ma'lumotlar vektor val [8] da saqlanadi, ular kompas sifatida manzillar qatori bilan solishtiriladi. Diagrammadagi matritsani ko'ring. Masalan, agar qabul qilingan vektor [0, 0, 1, 0, 0, 0, 0, 0, 0] bo'lsa, u matritsada E yo'nalishini ko'rsatadi va 90 graduslik burchakka to'g'ri keladi; agar [0, 0, 0, 0, 0, 0, 1, 1] matritsada WNW manzilini ko'rsatsa va 292,5 graduslik burchakka to'g'ri kelsa. N [1, 0, 0, 0, 0, 0, 0, 0, 0] va 0 graduslik burchakka to'g'ri keladi.

ThingSpeak -ga yuboriladigan narsa burchak ostida, chunki u faqat raqamlarni qabul qiladi.

4 -qadam: Aloqa

Aloqa
Aloqa
Aloqa
Aloqa

ThingSpeak -ga ma'lumotlarni qanday yuborish kerak

Thingspeaksenddata () funktsiyasi ma'lumotlarni yuborish uchun javobgardir.

ThingSpeak.setField (1, float (linear_velocity_kmh)) - Tezlik ma'lumotlarini kanalimning 1 -maydoniga yuborish

ThingSpeak.setField (2, float (wind_Direction_Angle)) - Manzil ma'lumotlarini kanalimning 2 -maydoniga yuborish

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - myChannelNumber kanalimga TS ko'rsatgan yozilgan myWriteAPIKey API bilan yuboring. Bu ma'lumotlar sizning hisobingiz va kanalingizni yaratishda TS tomonidan yaratilgan.

Yuqoridagi rasmlarda ThingSpeak olingan ma'lumotlarni qanday ko'rsatishini ko'rishingiz mumkin.

Ushbu havolada siz ThingSpeak umumiy kanalidagi mening loyiham ma'lumotlariga kirishingiz mumkin.

5 -qadam: Asosiy o'zgaruvchilar

shamol qanotlarining parametrlari

  • MUX_A D5 - D5 nodemcu pinidan mux pi A
  • MUX_B D4 - muxbir pin B dan Nodemcu pin D4 gacha
  • MUX_C D3 - muxbir pimi C dan Nodemcu pin D3 gacha
  • READPIN 0 - NodeMcu = A0 ga analog kirish
  • NO_PINS 8 - muxlis pinlari soni
  • val [NO_PINS] - 0 dan 7 gacha mux
  • wind_Direction_Angle - Shamol yo'nalishi burchagi
  • Tarmoqli shamolRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenallar, garovlar va sub -garovlar
  • 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} - har bir yo'nalishning burchaklari
  • Raqam [16] [NO_PINS] - Yo'nalish matritsasi
  • muxABC [8] [3] - ABC muxbirlarining kombinatsiyasi

anemometr parametrlari

  • rpmcount - anemometr ajratilgan vaqt ichida qancha to'liq aylanishni hisoblang
  • Vaqt o'lchovi = 25.00 - o'lchash davomiyligi soniyalarda
  • timetoSleep = 1 - Nodemcu bir necha daqiqada uyg'oq
  • sleepTime = 15 - bir necha daqiqada uxlashni davom ettirish vaqti
  • rpm, rps - aylanish chastotalari (daqiqada aylanish, soniyada aylanish)
  • radius - metr - anemometr qanoti uzunligining o'lchovi
  • lineer_velocity - m/segmentdagi chiziqli tezlik
  • lineer_velocity_kmh - km/soatlik chiziqli tezlik
  • omega - rad/segmentdagi radial tezlik

Quyida to'liq eskizni topishingiz mumkin. Kompyuteringizning Arduino papkasida asosiy dastur bilan bir xil nomdagi yangi papka yarating (Anemometer_Instructables) va barchasini bir joyga to'plang.

Wi -Fi tarmog'ingiz ma'lumotlarini va ThingSpeak ID va API Writer kalitlarini Credentials.h qismiga kiriting va saqlang. Nodemcu -ga yuklang va hammasi shu.

Tizimning ishlashini tekshirish uchun men yaxshi aylanadigan fanni tavsiya qilaman.

Ma'lumotlarga mobil telefon orqali kirish uchun ThingView deb nomlangan IOS yoki Android ilovasini yuklab oling, xayriyatki, u hali ham bepul.

Hisob sozlamalarini sozlang, shunda siz qayerda bo'lsangiz ham, uyingizda shamol sharoitlarini ko'rishga tayyor bo'lasiz.

Agar sizda qiziqish bo'lsa, mening ThingSpeak Channel ID kanalimga kiring: 438851, u hammaga ochiq va u erda siz mening uyimda shamol va yo'nalish o'lchovlarini topasiz.

Umid qilamanki, siz zavqlanasiz.

Agar shubhangiz bo'lsa, men bilan bog'lanishdan tortinmang.

Hurmat bilan

Tavsiya: