Агуулгын хүснэгт:

Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн бүтээх вэ - 2 -р хэсэг - Програм хангамж: 5 алхам (зурагтай)
Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн бүтээх вэ - 2 -р хэсэг - Програм хангамж: 5 алхам (зурагтай)

Видео: Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн бүтээх вэ - 2 -р хэсэг - Програм хангамж: 5 алхам (зурагтай)

Видео: Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн бүтээх вэ - 2 -р хэсэг - Програм хангамж: 5 алхам (зурагтай)
Видео: Обсерватория Эдварда Поповича (Star Digger) под Кагарлыком. 2024, Оны зургадугаар сарын
Anonim
Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн яаж бүтээх вэ - 2 -р хэсэг - Програм хангамж
Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн яаж бүтээх вэ - 2 -р хэсэг - Програм хангамж
Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн яаж бүтээх вэ - 2 -р хэсэг - Програм хангамж
Зэгсэн унтраалга, танхимын эффект мэдрэгч болон Nodemcu дээрх зарим хаягдлыг ашиглан өөрийн анемометрийг хэрхэн яаж бүтээх вэ - 2 -р хэсэг - Програм хангамж

Танилцуулга

Энэ бол салхины хурд, чиглэлийг хэмжих төхөөрөмжийг хэрхэн яаж угсрахыг харуулсан "Зэгс унтраалга, танхимын эффект мэдрэгч, зарим хаягдал ашиглан Nodemcu дээр өөрийн анемометрийг хэрхэн яаж бүтээх вэ - 1 -р хэсэг - Тоног төхөөрөмж" гэсэн анхны бичлэгийн үргэлжлэл юм. Энд бид Arduino IDE ашиглан Nodemcu -д ашиглах зориулалттай хэмжих хяналтын програмыг ашиглах болно.

Төслийн тодорхойлолт

Өмнөх нийтлэлд Нодемку руу зэвсэглэсэн, холбогдсон төхөөрөмжүүд нь салхины хурд, чиглэлийг хэмжих чадвартай байдаг. Хяналтын програм нь анемометрийн эргэлтийг тодорхой хугацаанд унших, шугаман хурдыг тооцоолох, сэнсний чиглэлийг унших, OLED -д үр дүнг харуулах, үр дүнг ThingSpeak дээр нийтлэх, 15 минут хүртэл унтахад зориулагдсан болно. дараагийн хэмжилт.

Анхааруулга: Энэхүү анемометрийг мэргэжлийн зорилгоор ашиглах ёсгүй. Энэ нь зөвхөн эрдэм шинжилгээний болон гэрийн хэрэглээнд зориулагдсан болно.

Жич: Англи хэл бол миний төрөлх хэл биш. Хэрэв та төслийг ойлгоход тань саад болж буй дүрмийн алдааг олж мэдвэл тэдгээрийг засахын тулд надад мэдэгдээрэй. Маш их баярлалаа.

Алхам 1: Arduino IDE, ESP8266 самбар, номын сан, ThingSpeak дансаа суулгах

Arduino IDE, ESP8266 самбар, номын сан, таны ThingSpeak дансыг суулгах
Arduino IDE, ESP8266 самбар, номын сан, таны ThingSpeak дансыг суулгах
Arduino IDE, ESP8266 самбар, номын сан, таны ThingSpeak дансыг суулгах
Arduino IDE, ESP8266 самбар, номын сан, таны ThingSpeak дансыг суулгах

Arduino IDE ба Nodemcu суулгаж байна

Хэрэв та Arduino IDE -ийг хэзээ ч суулгаагүй бол Arduino IDE -ийг хэрхэн суулгах тухай холбоос дээрх зааврыг уншина уу.

Дараагийн алхам бол Nodemcu самбарыг суулгахын тулд Magesh Jayakumar Instructables -ийн энэхүү гарын авлагыг ашиглаарай. Nodemcu no Arduino IDE -ийг хэрхэн суулгах талаар

Номын сан суулгах

Дараагийн алхам бол ноорог ашигладаг номын санг суулгах ёстой. Тэдгээр нь нийтлэг байдаг бөгөөд та доор үзүүлсэн алхмуудыг дагаж болно.

ThingSpeak номын сан -

ESP8266 номын сан -

ThingSpeak данс үүсгэх

ThingSpeak (https://thingspeak.com/) -ийг ашиглахын тулд та анемометрт хэмжсэн өгөгдлийг хадгалах, гэртээ салхины нөхцөл байдлыг хянах боломжтой данс (тодорхой тооны харилцан үйлчлэлд үнэ төлбөргүй хэвээр байх ёстой) үүсгэх ёстой. гар утсаар ч гэсэн. ThingSpeak -ийг ашигласнаар та сонирхож буй хүмүүст өөрийн цуглуулсан өгөгдөлд олон нийтэд хандах эрхийг өгөх боломжтой. Энэ бол ThingSpeak -ийн сайн давуу тал юм. Нүүр хуудсыг оруулаад данс үүсгэх алхамуудыг дагана уу.

Акаунт үүсгэсний дараа ThingSpeak Getting Starting - энэ хичээлийг оруулаад сувгаа үүсгээрэй. Үүнийг маш сайн тайлбарласан байна. Дүгнэж хэлэхэд та өгөгдлийг хадгалах суваг үүсгэх ёстой. Энэ суваг нь өгөгдөл бичихийг хүссэн үедээ эскиз дээр дурдах ёстой ID болон Key API -тэй. ThingSpeak нь бүх өгөгдлийг банкинд хадгалдаг бөгөөд таны данс руу нэвтрэх бүртээ таны тохируулсан байдлаар харуулах болно.

Алхам 2: Ноорогыг судлах

Ноорогыг судалж байна
Ноорогыг судалж байна
Ноорогыг судалж байна
Ноорогыг судалж байна

Урсгал диаграм

Диаграммд та ноорогны флюсограммыг ойлгож болно. Nodemcu-ийг сэрээх үед таны параметрүүдийг тохируулсан Wi-Fi сүлжээнд холбогдож хэмжилт хийхэд 1 минут зарцуулж эхэлнэ. Эхлээд анемометрийн эргэлтийг 25 секундын турш тоолж, тооцоолно. шугаман хурд ба салхины чиглэлийг уншина уу. Үр дүнг OLED дээр харуулав. Үүнтэй ижил алхамуудыг дахин хий, энэ хоёр дахь уншлага нь ThingSpeak руу дамжуулагдах болно.

Дараа нь Нодемку зайг хэмнэхийн тулд 15 минут унтдаг. Би жижиг нарны зай ашиглаж байгаа тул үүнийг хийх нь маш чухал юм. Хэрэв та 5V эх үүсвэр ашиглаж байгаа бол програмыг унтахгүйн тулд өөрчилж, өгөгдлийг хэмжиж болно.

Хөтөлбөрүүдийн бүтэц

Диаграммд ноорогны бүтцийг харж болно.

Анемометр_Захих боломжтой

Энэ бол номын санг ачаалах, хувьсагчийг эхлүүлэх, хавсралтын тасалдлыг хянах, бүх функцийг дуудах, салхины хурдыг тооцоолох, чиглэлийг нь тодорхойлох, унтуулах үндсэн програм юм.

харилцаа холбоо

WiFi холбож өгөгдлийг ThingSpeak руу илгээнэ үү.

итгэмжлэл.h

ThingSpeak дахь таны WiFi сүлжээний түлхүүрүүд болон таны акаунтын таних тэмдэг. Эндээс та түлхүүрийн ID болон API -аа өөрчлөх болно.

тодорхойлдог.h

Энэ нь програмын бүх хувьсагчийг агуулдаг. Эндээс та унших цагийг эсвэл nodemcu хэр удаан унтах ёстойг өөрчилж болно.

функцууд

Энэ нь параметрүүдийг нэгтгэх, мультиплексор унших, анемометрийн эргэлтийг унших функцийг агуулдаг.

oled Дэлгэц

Салхины хурд, чиглэлийн үр дүнг дэлгэц дээр харуул.

Алхам 3: Энэ тухай тайлбар …

Тайлбар…
Тайлбар…
Тайлбар…
Тайлбар…
Тайлбар…
Тайлбар…
Тайлбар…
Тайлбар…

Тасалдлыг хавсаргана уу

Анемометрийн эргэлтийг Nodemcu-ийн GPIO 12 (зүү D6) дахь attachInterrupt () (ба detachInterrupt ()) функцээр хэмждэг (Энэ нь D0-D8 зүү дээр тасалдах шинж чанартай байдаг).

Тасалдал гэдэг нь микроконтроллер гүйцэтгэж буй даалгаврынхаа гүйцэтгэлийг зогсоож, өөр үүрэг даалгаварт түр ажиллаж, анхны ажилдаа буцаж ороход хүргэдэг үйл явдал эсвэл нөхцөл юм.

Та функцийн дэлгэрэнгүйг Arduino -ийн зааварчилгааны линкээс уншиж болно. AttachInterrupt () -ийг үзнэ үү.

Синтакс: attachInterrupt (зүү, буцааж залгах функц, тасалдлын төрөл/горим);

зүү = D6

дуудлага хийх функц = rpm_anemometer - хувьсагчийн импульс бүрийг тоолно.

тасалдлын төрөл/горим = ӨСӨЛТ - зүү нь багаас өндөр рүү шилжих үед тасалдах.

Танхимын мэдрэгч дэх соронзоор үүсгэсэн импульс бүрт зүү нь багаас өндөр рүү шилжих бөгөөд тогтоосон 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 зүү өгөгдлийг өгч, Nodemcu уншдаг A0 руу дохио илгээдэг; хэрэв C = 0 (бага), B = 0 (бага), A = 1 (өндөр) мультиплексор нь 8 сувгийг уншиж дуустал 1 зүү гэх мэт өгөгдлийг танд илгээх болно.

Дохио нь аналог тул програм нь дижитал (0 эсвэл 1) болгон хувиргадаг, хэрэв хүчдэл 1.3В -аас бага эсвэл тэнцүү бол дохио нь 0; хэрэв энэ нь 1.3V -ээс их бол дохио нь 1. 1.3V утга нь дур зоргоороо бөгөөд миний хувьд маш сайн ажилласан. Үргэлж бага хэмжээний алдагдал байдаг бөгөөд энэ нь хуурамч эерэг зүйл байхгүй болохыг хамгаалдаг.

Энэ өгөгдлийг [8] векторт хадгалдаг бөгөөд үүнийг луужингийн хаягийн массивтай харьцуулах болно. Диаграм дээрх матрицыг үзнэ үү. Жишээлбэл, хэрэв хүлээн авсан вектор нь [0, 0, 1, 0, 0, 0, 0, 0, 0] байвал энэ нь матрицад Е чиглэлийг зааж, 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) - TS -ийн заасан myWriteAPIKey API -ийг myChannelNumber суваг руу илгээнэ үү. Энэхүү өгөгдлийг TS таны данс, сувгийг үүсгэх үед үүсгэсэн.

Дээрх зургуудаас та ThingSpeak хүлээн авсан өгөгдлийг хэрхэн харуулдаг болохыг харж болно.

Энэ холбоос дээр та миний төслийн өгөгдлийг ThingSpeak олон нийтийн суваг дээрээс үзэх боломжтой.

Алхам 5: Үндсэн хувьсагчид

салхины сэнсний параметрүүд

  • MUX_A D5 - mux pi pi A -аас Nodemcu pin D5 хүртэл
  • MUX_B D4 - мухар зүү B -ээс Nodemcu pin D4 хүртэл
  • MUX_C D3 - мухар зүү C -ээс Nodemcu pin D3 хүртэл
  • READPIN 0 - NodeMcu = A0 дээрх аналог оролт
  • NO_PINS 8 - mux -ийн голын тоо
  • val [NO_PINS] - mux -ийн 0 -ээс 7 хүртэлх портууд
  • 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] - ABC mux хослолууд

анемометрийн параметрүүд

  • rpmcount - анемометрийг хуваарилагдсан хугацаанд хичнээн бүтэн эргэлт хийснийг тоол
  • timemeasure = 25.00 - секундээр хэмжих хугацаа
  • timetoSleep = 1 - Нодемку хэдэн минутын дотор сэрүүн байна
  • sleepTime = 15 - хэдэн минутын дотор үргэлжлүүлэн унтах цаг
  • rpm, rps - эргэлтийн давтамж (минутанд эргэлт, секундэд эргэлт)
  • радиус - метр - анемометрийн далавчны уртыг хэмжих
  • шугаман_ хурд - м/сегмент дэх шугамын хурд
  • lineer_velocity_kmh - км/цаг дахь шугамын хурд
  • омега - рад/сегмент дэх радиаль хурд

Доорх тоймыг бүрэн эхээр нь авах боломжтой. Компьютерийн Arduino фолдер дээр үндсэн програмтай ижил нэртэй шинэ хавтас үүсгэнэ үү (Anemometer_Instructables), бүгдийг нь нэгтгээрэй.

Wifi сүлжээний мэдээлэл болон ThingSpeak ID болон API Writer Key -ийг Credentials.h хэсэгт оруулаад хадгална уу. Nodemcu руу байршуулаарай, тэгээд л болоо.

Системийн ажиллагааг шалгахын тулд сайн эргэдэг сэнс санал болгож байна.

Өгөгдөлд гар утсаар хандахын тулд ThingView нэртэй IOS эсвэл Android програмыг татаж аваарай, гэхдээ азаар үнэгүй хэвээр байна.

Бүртгэлийнхээ тохиргоог хийснээр та хаана ч байсан гэрийнхээ салхины нөхцөлийг харахад бэлэн байх болно.

Хэрэв танд сонирхол байгаа бол миний ThingSpeak Channel ID суваг руу нэвтрээрэй: 438851, энэ нь олон нийтэд нээлттэй бөгөөд тэндээс та манай байшинд салхи, чиглэлийг хэмжих боломжтой болно.

Та үнэхээр хөгжилтэй байна гэж найдаж байна.

Хэрэв та эргэлзэж байвал надтай холбоо бариарай.

Хүндэтгэсэн

Зөвлөмж болгож буй: