Mündəricat:
- Addım 1: Arduino IDE, ESP8266 lövhələrini və kitabxanalarını və ThingSpeak hesabınızı quraşdırın
- Addım 2: Eskizi araşdırın
- Addım 3: Haqqında izahlar…
- Addım 4: Ünsiyyət
- Addım 5: Əsas dəyişənlər
Video: Nodemcu üzərindəki Qamış Açarları, Zal Təsiri Sensoru və Bəzi Hurda İstifadə edərək Öz Anemometrinizi Necə Qurursunuz - 2 -ci hissə - Proqram: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Giriş
Küləyin sürətini və istiqamətini ölçmə cihazlarını necə yığacağımı göstərdiyim "Nodemcu üzərindəki qamış açarları, Hall effekti sensoru və bəzi hurdalardan istifadə edərək öz anemometrinizi necə qurmaq olar - 1 -ci hissə" adlı ilk yazının davamıdır. Burada Arduino IDE -dən istifadə edərək Nodemcu -da istifadə üçün nəzərdə tutulmuş ölçü nəzarət proqramından istifadə edəcəyik.
Layihənin təsviri
Əvvəlki yazıda silahlanmış və Nodemcu ilə əlaqəli qurğular küləyin sürətini və istiqamətini ölçə bilir. Nəzarət proqramı, anemometrin fırlanmasını bir müddət oxumaq, xətti sürəti hesablamaq, qanadın olduğu istiqaməti oxumaq, nəticələri OLED -də göstərmək, nəticələrini ThingSpeak -də dərc etmək və 15 dəqiqə yatmaq üçün hazırlanmışdır. növbəti ölçü.
İmtina: Bu anemometr peşəkar məqsədlər üçün istifadə edilməməlidir. Yalnız akademik və ya ev istifadəsi üçündür.
Qeyd: İngilis dili mənim təbii dilim deyil. Layihəni başa düşməyinizə mane olan qrammatik səhvlər tapsanız, onları düzəltmək üçün mənə bildirin. Çox sağ ol.
Addım 1: Arduino IDE, ESP8266 lövhələrini və kitabxanalarını və ThingSpeak hesabınızı quraşdırın
Arduino IDE və Nodemcu qurmaq
Arduino IDE -ni heç yükləməmisinizsə, zəhmət olmasa tam təlimatları tapa biləcəyiniz linkdəki Arduino IDE -ni necə qurmaq olar - oxuyun.
Növbəti addım, Nodemcu lövhəsini quraşdırmaq üçün bu dərsliyi Magesh Jayakumar Instructables -dən istifadə edərək tamamlayın. Nodemcu no Arduino IDE necə qurulacaq
Kitabxanaların quraşdırılması
Növbəti addım, eskizin istifadə etdiyi kitabxanaları quraşdırmalısınız. Bunlar çox yayılmışdır və aşağıda göstərilən addımları izləyə bilərsiniz.
ThingSpeak Kitabxanası -
ESP8266 Kitabxanası -
ThingSpeak Hesabı Yaratmaq
ThingSpeak (https://thingspeak.com/) istifadə etmək üçün anemometrinizdə ölçülən məlumatları saxlaya və evinizdəki külək şəraitini izləyə biləcəyiniz bir hesab yaratmalısınız (müəyyən sayda qarşılıqlı əlaqə üçün hələ də pulsuzdur), hətta cib telefonu vasitəsilə. ThingSpeak istifadə edərək, maraqlanan hər kəsə topladığınız məlumatlara ictimaiyyətə giriş imkanı verə bilərsiniz. ThingSpeak -in yaxşı bir üstünlüyü budur. Ana səhifəyə daxil olun və hesabınızı yaratmaq üçün addımları izləyin.
Hesab yaradıldıqdan sonra kanallarınızı yaratmaq üçün bu təlimatı - ThingSpeak Başlarken - daxil edin. Olduqca yaxşı izah olunub. Xülasə olaraq, məlumatların saxlanılacağı bir kanal yaratmalısınız. Bu kanalda, hər dəfə məlumat yazmaq istədiyiniz zaman eskizdə istinad edilməli olan bir ID və Açar API var. ThingSpeak bütün məlumatları bir bankda saxlayacaq və hesabınıza hər dəfə daxil olduğunuzda konfiqurasiya etdiyiniz şəkildə göstərəcək.
Addım 2: Eskizi araşdırın
Akış qrafiki
Diaqramda eskizin fluxoqramını başa düşə bilərsiniz. Nodemcu oyandığınızda (parametrləri) konfiqurasiya etdiyiniz Wi-Fi şəbəkənizə qoşulacaq və ölçüləri yerinə yetirmək üçün 1 dəqiqə vaxt saymağa başlayacaq. Birincisi, anemometrin fırlanmasını 25 saniyə hesablayacaq, hesablayacaq xətti sürəti və küləyin istiqamətini oxuyun. Nəticələr OLED -də göstərilir. Eyni addımları təkrarlayın və bu ikinci oxu üçün ThingSpeak -ə ötürüləcəkdir.
Sonra Nodemcu batareyanı saxlamaq üçün 15 dəqiqə yatır. Kiçik bir günəş paneli istifadə etdiyim üçün bunu etməyim vacibdir. 5V mənbəyindən istifadə edirsinizsə, proqramı yuxuya getməyəcək şəkildə dəyişə və məlumatları ölçməyə davam edə bilərsiniz.
Proqramların quruluşu
Diaqramda eskizin quruluşunu görə bilərsiniz.
Anemometr_ Təlimatlar
Kitabxanaları yükləyən, dəyişənləri işə salan, əlavənin kəsilməsini idarə edən, bütün funksiyaları çağıran, küləyin sürətini hesablayan, istiqamətini təyin edən və yuxuya qoyan əsas proqramdır.
rabitə
WiFi -ni qoşun və məlumatları ThingSpeak -a göndərin.
etimadnaməsi.h
ThingSpeak -də WiFi şəbəkənizin açarları və hesabınızın identifikatorları. Açar ID -lərinizi və API -lərinizi dəyişdirəcəyiniz yer budur.
müəyyən edir.h
Proqramın bütün dəyişənlərini ehtiva edir. Burada oxu vaxtlarını və ya nodemcu nə qədər yatmalı olduğunu dəyişə bilərsiniz.
funksiyalar
Parametrləri birləşdirmək və multipleksoru oxumaq funksiyalarını, həmçinin anemometrin fırlanmalarını oxumaq funksiyasını ehtiva edir.
oledDisplay
Küləyin sürəti və istiqamətinin nəticələrini ekranda göstərin.
Addım 3: Haqqında izahlar…
Kəsmə əlavə edin
Anemometrin fırlanması, Nodemcu-nun GPIO 12-də (pin D6) attachInterrupt () (və detachInterrupt ()) funksiyası ilə ölçülür (D0-D8 pinlərində kəsmə xüsusiyyətinə malikdir).
Fasillər, mikrokontrolörün yerinə yetirdiyi vəzifənin icrasını dayandırmasına, müvəqqəti olaraq fərqli bir işdə işləməsinə və ilkin işə qayıtmasına səbəb olan hadisələr və ya şərtlərdir.
Funksiyanın təfərrüatını Arduino dərsliyi üçün keçiddə oxuya bilərsiniz. Əlavə edinInterrupt ().
Sintaksis: attachInterrupt (pin, geri çağırma funksiyası, ara vermə növü/rejimi);
pin = D6
geri çağırma funksiyası = rpm_anemometer - dəyişənin hər nəbzini sayır.
fasilə növü/rejimi = QALDIRMA - pin aşağıdan yuxarıya doğru getdikdə kəsmək.
Magnetonun Hall sensorunda istehsal etdiyi hər nəbzdə, pin aşağıdan yuxarıya doğru gedir və hesablama funksiyası aktivləşdirilir və qurulan 25 saniyə ərzində nəbzi dəyişkən olaraq toplayır. Vaxt bitdikdən sonra sayğacın bağlantısı kəsilir (detachInterrupt ()) və rutin kəsildikdə sürəti hesablayır.
Külək Sürətinin Hesablanması
Anemometrin 25 saniyədə neçə dəfə fırlandığı müəyyən edildikdən sonra sürəti hesablayırıq.
- RADIO, anemometrin mərkəz oxundan stolüstü tennis topunun ucuna qədər olan ölçüdür. Özünüzün ölçüsünü çox yaxşı ölçmüsünüz - (bax 10 sm -lik diaqramda).
- RPS (saniyədə fırlanma) = fırlanma / 25 saniyə
- RPM (dəqiqədə fırlanma) = RPS * 60
- OMEGA (açısal sürət - saniyədə radian) = 2 * PI * RPS
- Linear_Velocity (saniyədə metr) = OMEGA * RADIO
- Linear_Velocity_kmh (Saatda km) = 3.6 * Linear_Velocity və ThingSpeak -ə göndəriləcək budur.
Külək qanadının istiqamətini oxuyun
Küləyin istiqamətini müəyyən etmək üçün külək qanadının mövqeyini oxumaq üçün proqram A, B, C (muxABC matrisi) parametrlərinin bütün birləşmələri ilə multiplekserə aşağı və yüksək siqnallar göndərir və nəticəni A0 pinində qəbul etməyi gözləyir. 0 ilə 3.3V arasında hər hansı bir gərginlik ola bilər. Kombinasiyalar diaqramda göstərilmişdir.
Məsələn, C = 0 (aşağı), B = 0 (aşağı), A = 0 (aşağı) olduqda, multipleksor ona 0 pin məlumatını verir və Nodemcu tərəfindən oxunan siqnalı A0 -a göndərir; C = 0 (aşağı), B = 0 (aşağı), A = 1 (yüksək) olduqda, multiplexer 8 kanalın oxunması tamamlanana qədər sizə pin 1 və sair məlumatları göndərəcək.
Siqnal analoq olduğu üçün, proqram rəqəmsala (0 və ya 1) çevrilir, əgər gərginlik 1.3V -dan az və ya ona bərabərdirsə, siqnal 0 -dır; 1.3V -dən böyüksə siqnal 1 -dir. 1.3V dəyəri ixtiyari və mənim üçün çox yaxşı işləyib. Həmişə kiçik cərəyanlar olur və bu, saxta pozitivlərin olmadığını qoruyur.
Bu məlumatlar, kompas olaraq ünvan silsiləsi ilə müqayisə ediləcək bir vektor valda [8] saxlanılır. Diaqramdakı matrisə baxın. Məsələn, alınan vektor [0, 0, 1, 0, 0, 0, 0, 0, 0] olarsa, matrisdə E istiqamətini göstərir və 90 dərəcə bucağa uyğundur; əgər [0, 0, 0, 0, 0, 0, 1, 1] matrisdə WNW ünvanını göstərirsə və 292.5 dərəcə bucağa uyğundur. N, [1, 0, 0, 0, 0, 0, 0, 0, 0] və 0 dərəcə bucağa uyğundur.
ThingSpeak -ə göndəriləcək şey bucaqdadır, çünki yalnız nömrələri qəbul edir.
Addım 4: Ünsiyyət
ThingSpeak -a məlumatları necə göndərmək olar
Thingspeaksenddata () funksiyası məlumatların göndərilməsindən məsuldur.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Sürət məlumatlarını kanalımın 1 sahəsinə göndər
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Ünvan məlumatlarını kanalımın 2 sahəsinə göndərin
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - TS tərəfindən göstərilən myWriteAPIKey API ilə myChannelNumber kanalıma göndərin. Bu məlumatlar hesabınızı və kanalınızı yaratarkən TS tərəfindən yaradılmışdır.
Yuxarıdakı şəkillərdə ThingSpeak -in alınan məlumatları necə göstərdiyini görə bilərsiniz.
Bu linkdə ThingSpeak -in ictimai kanalındakı layihəmin məlumatlarına daxil ola bilərsiniz.
Addım 5: Əsas dəyişənlər
külək qanadlarının parametrləri
- MUX_A D5 - N55 pinindən D5 -ə qədər çoxlu əlaqə
- MUX_B D4 - B pinindən N4 Nodemcu pininə qədər
- MUX_C D3 - C pinindən Nodemcu pininə D3
- READPIN 0 - NodeMcu = A0 -da analoq giriş
- NO_PINS 8 - mux pinlərinin sayı
- val [NO_PINS] - 0 -dan 7 -ə qədər mux
- wind_Direction_Angle - Külək istiqaməti bucağı
- Simli külək Rose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenallar, girovlar və alt təminatlar
- 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} - hər istiqamətin açıları
- Rəqəm [16] [NO_PINS] - İstiqamət Matrisi
- muxABC [8] [3] - ABC müxbir birləşmələri
anemometr parametrləri
- rpmcount - anemometrin ayrılmış vaxtda neçə tam fırlanma etdiyini sayın
- zaman ölçüsü = 25.00 - saniyələrdə ölçmə müddəti
- timetoSleep = 1 - Nodemcu dəqiqələrdə oyanma vaxtı
- sleepTime = 15 - dəqiqə ərzində yatmağa davam etmək üçün vaxt
- rpm, rps - fırlanma tezliyi (dəqiqədə fırlanma, saniyədə fırlanma)
- radius - metr - anemometr qanadının uzunluğunun ölçüsü
- lineer_velocity - m/seqramda xətti sürət
- linear_velocity_kmh - km/saat xətti sürət
- omega - rad/seqldə radial sürət
Aşağıda tam eskizlə tanış ola bilərsiniz. Kompüterinizin Arduino qovluğunda əsas proqramla eyni adda yeni bir qovluq yaradın (Anemometer_Instructables) və hamısını bir araya gətirin.
WiFi şəbəkənizin məlumatlarını və ThingSpeak ID və API Yazı Açarını Credentials.h hissəsinə daxil edin və qeyd edin. Nodemcu -ya yükləyin və hamısı budur.
Sistemin işini yoxlamaq üçün yaxşı fırlanan bir fan məsləhət görürəm.
Məlumatlara mobil telefonla daxil olmaq üçün, xoşbəxtlikdən hələ də pulsuz olan ThingView adlı IOS və ya Android tətbiqini yükləyin.
Hesab ayarlarınızı konfiqurasiya edin və harada olursunuzsa olun evinizin külək şəraitini görməyə hazır olacaqsınız.
Bir marağınız varsa, ümumi olan ThingSpeak Kanal ID kanalım 438851 -ə daxil olun və evimdə külək və istiqamət ölçülərini tapa bilərsiniz.
Həqiqətən əylənəcəyinizə ümid edirəm.
Hər hansı bir şübhəniz varsa, mənimlə əlaqə saxlamaqdan çəkinməyin.
Hörmətlə
Tövsiyə:
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Nodemcu üzərindəki qamış açarları, Hall effekti sensoru və bəzi hurdalardan istifadə edərək öz anemometrinizi necə qurmaq olar. - 1 -ci hissə - Avadanlıq: 8 addım (şəkillərlə)
Nodemcu üzərindəki qamış açarları, Hall effekti sensoru və bəzi hurdalardan istifadə edərək öz anemometrinizi necə qurmaq olar. - Arduino və Maker Mədəniyyəti araşdırmaları ilə başladığımdan bəri, şüşə qapaqları, PVC parçaları, içki qutuları və s. hər kəsə və ya hər hansı bir yoldaşına həyat
Fidget Spinner istifadə edərək Arduino -da Hall Təsiri Sensoru: 3 addım (şəkillərlə)
Arduino -da Fidget Döndürücüdən istifadə edərək Hall Təsiri Sensoru: Xülasə Bu layihədə, zal effekti sensorunun arduino lövhəsi ilə fırlanan fırlanma sürətini ölçməklə necə işlədiyini izah edirəm. işləyir: -A Hall effekt sensoru maqnit sahəsinə cavab olaraq çıxış gərginliyini dəyişən bir çeviricidir. Hall effekti
Arduino + DS1307 + Neopixel istifadə edərək Xətti Saat: Bəzi Avadanlıqların Yenidən İstifadəsi .: 5 Addım
Arduino + DS1307 + Neopixel istifadə edərək xətti saat: Bəzi avadanlıqları yenidən istifadə edin. Əvvəlki layihələrdə Arduino UNO və Neopixel LED şeridi qaldı və fərqli bir şey etmək istədim. Neopixel zolağında böyük bir saat kimi istifadə ediləcəyi düşünülən 60 LED işığı olduğu üçün Saatları göstərmək üçün qırmızı 5 LEDli seqment istifadə olunur (60 LED
Arduino səsli ağ qamış (Birinci hissə): 6 addım (şəkillərlə)
Arduino Səsli Ağ Baston (Birinci hissə): İllər əvvəl, ailə üzvünün kor olduğu bir tələbənin yanında idim, başa düşdüm ki, maneənin neçə addım olduğunu eşitmək qabiliyyətinə malik kiçik bir həll yolu əldə edə bilərik. Daha əvvəl yazılmış nömrələri olan arduino