Turinys:
- 1 veiksmas: įdiekite „Arduino IDE“, ESP8266 plokštes ir bibliotekas bei „ThingSpeak“paskyrą
- 2 žingsnis: ištirkite eskizą
- 3 žingsnis: paaiškinimai apie…
- 4 žingsnis: komunikacija
- 5 žingsnis: pagrindiniai kintamieji
Video: Kaip sukurti savo anemometrą naudojant nendrių jungiklius, salės efekto jutiklį ir kai kuriuos „Nodemcu“iškarpas - 2 dalis. Programinė įranga: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Įvadas
Tai yra pirmojo įrašo „Kaip sukurti savo anemometrą naudojant nendrių jungiklius, salės efekto jutiklį ir kai kuriuos iškarpas„ Nodemcu “- 1 dalis - aparatūra“tęsinys, kuriame aš parodysiu, kaip surinkti vėjo greičio ir krypties matavimo prietaisus. Čia mes panaudosime matavimo valdymo programinę įrangą, skirtą naudoti „Nodemcu“naudojant „Arduino IDE“.
Projekto aprašymas
Ankstesniame įraše ginkluoti ir prie Nodemcu prijungti prietaisai gali išmatuoti vėjo greitį ir kryptį. Valdymo programinė įranga buvo sukurta tam tikrą laiką nuskaityti anemometro sukimąsi, apskaičiuoti tiesinį greitį, nuskaityti mentės kryptį, parodyti rezultatus OLED, paskelbti rezultatus „ThingSpeak“ir miegoti 15 minučių, kol kitą matavimą.
Atsisakymas: Šis anemometras neturėtų būti naudojamas profesionaliems tikslams. Jis skirtas tik akademiniam ar namų naudojimui.
Pastaba: anglų kalba nėra mano natūrali kalba. Jei radote gramatinių klaidų, trukdančių suprasti projektą, praneškite man, kad jas ištaisytumėte. Labai ačiū.
1 veiksmas: įdiekite „Arduino IDE“, ESP8266 plokštes ir bibliotekas bei „ThingSpeak“paskyrą
„Arduino IDE“ir „Nodemcu“diegimas
Jei niekada neįdiegėte „Arduino“IDE, perskaitykite pamoką nuorodoje - Kaip įdiegti „Arduino IDE“- kur rasite visas instrukcijas.
Kitas žingsnis, norėdami įdiegti „Nodemcu“plokštę, naudokite šią labai išsamią „Magesh Jayakumar Instructables“mokymo programą. Kaip įdiegti „Nodemcu no Arduino IDE“
Bibliotekų diegimas
Kitas žingsnis yra įdiegti eskizo naudojamas bibliotekas. Jie yra įprasti ir galite atlikti toliau nurodytus veiksmus.
„ThingSpeak“biblioteka -
ESP8266 biblioteka -
„ThingSpeak“paskyros kūrimas
Norėdami naudoti „ThingSpeak“(https://thingspeak.com/), turite sukurti paskyrą (ji vis dar nemokama tam tikram skaičiui sąveikų), kurioje galėsite išsaugoti anemometre išmatuotus duomenis ir stebėti vėjo sąlygas namuose, net per mobilųjį telefoną. Naudodami „ThingSpeak“galite suteikti visuomenei prieigą prie surinktų duomenų visiems, kas domisi. Tai yra geras „ThingSpeak“pranašumas. Įveskite pagrindinį puslapį ir atlikite paskyros kūrimo veiksmus.
Sukūrę paskyrą, įveskite šią mokymo programą - „ThingSpeak Getting Started“, kad sukurtumėte savo kanalus. Tai gana gerai paaiškinta. Apibendrinant reikia sukurti kanalą, kuriame bus saugomi duomenys. Šis kanalas turi ID ir pagrindinę API, kuri turėtų būti nurodyta eskize kiekvieną kartą, kai norite įrašyti duomenis. „ThingSpeak“išsaugos visus duomenis banke ir parodys juos kiekvieną kartą, kai prisijungsite prie savo paskyros, taip, kaip sukonfigūravote.
2 žingsnis: ištirkite eskizą
Blokinė schema
Diagramoje galite suprasti eskizo fluxogramą. Kai pažadinsite (susiesite) „Nodemcu“, jis prisijungs prie jūsų „Wi-Fi“tinklo, kurio parametrus sukonfigūravote, ir pradės skaičiuoti 1 minutę laiko atlikti matavimus. Pirma, jis skaičiuos anemometro sukimąsi 25 sekundes, apskaičiuokite tiesinį greitį ir perskaityti vėjo kryptį. Rezultatai rodomi OLED. Atlikite tuos pačius veiksmus dar kartą ir per šį antrąjį skaitymą jis bus perduotas „ThingSpeak“.
Tada „Nodemcu“miega 15 minučių, kad taupytų akumuliatorių. Kadangi naudoju mažą saulės kolektorių, tai būtina padaryti. Jei naudojate 5 V šaltinį, galite modifikuoti programą, kad ji neužmigtų, ir toliau matuoti duomenis.
Programų struktūra
Diagramoje galite pamatyti eskizo struktūrą.
Anemometras_instrukcijos
Tai pagrindinė programa, kuri įkelia bibliotekas, paleidžia kintamuosius, valdo priedo pertraukimą, iškviečia visas funkcijas, apskaičiuoja vėjo greitį, nustato jo kryptį ir užmigdo.
ryšiai
Prijunkite „WiFi“ir nusiųskite duomenis į „ThingSpeak“.
įgaliojimai.h
„WiFi“tinklo raktai ir „ThingSpeak“paskyros identifikatoriai. Čia pakeisite raktų ID ir API.
apibrėžia.h
Jame yra visi programos kintamieji. Čia galite pakeisti skaitymo laiką arba tai, kiek laiko nodemcu turėtų miegoti.
funkcijas
Jame yra funkcijos, skirtos sujungti parametrus ir skaityti multiplekserį, taip pat anemometro sukimosi skaitymo funkcija.
oledDisplay
Rodyti vėjo greičio ir krypties rezultatus ekrane.
3 žingsnis: paaiškinimai apie…
Pridėti pertrauką
Anemometro sukimasis matuojamas naudojant funkciją attachInterrupt () (ir detachInterrupt ()) „Nodemcu“GPIO 12 (D6 kaištis) (D0-D8 kaiščiai turi pertraukimo funkciją).
Pertraukos yra įvykiai ar sąlygos, dėl kurių mikrovaldiklis sustabdo vykdomos užduoties vykdymą, laikinai atlieka kitą užduotį ir grįžta prie pradinės užduoties.
Išsamią funkcijos informaciją galite perskaityti „Arduino“pamokos nuorodoje. Žr. AttachInterrupt ().
Sintaksė: attachInterrupt (kaištis, atgalinio ryšio funkcija, pertraukimo tipas/režimas);
smeigtukas = D6
atšaukimo funkcija = rpm_anemometer - skaičiuoja kiekvieną impulsą pagal kintamąjį.
pertraukimo tipas/režimas = RISING - pertraukimas, kai kaištis pereina nuo žemo iki aukščiausio.
Kiekvieno impulso metu, kurį sukuria „Hall“jutiklio magnetas, kaištis pereina nuo mažo iki aukšto, o skaičiavimo funkcija įjungiama ir sumuojamas impulsas kintamajame per 25 sekundes. Pasibaigus laikui, skaitiklis atjungiamas (detachInterrupt ()) ir rutina apskaičiuoja greitį, kai jis atjungiamas.
Vėjo greičio apskaičiavimas
Nustačius, kiek anemometras apsisuko per 25 sekundes, apskaičiuojame greitį.
- RADIJAS yra matavimas nuo anemometro vidurinės ašies iki stalo teniso kamuoliuko galo. Jūs turėjote labai gerai išmatuoti savo (žr. Tai 10 cm diagramoje).
- RPS (apsisukimai per sekundę) = apsisukimai / 25 sekundės
- RPM (apsisukimai per minutę) = RPS * 60
- OMEGA (kampinis greitis - radianai per sekundę) = 2 * PI * RPS
- Linear_Velocity (metrai per sekundę) = OMEGA * RADIO
- Linear_Velocity_kmh (Km per valandą) = 3.6 * Linear_Velocity ir tai bus siunčiama į „ThingSpeak“.
Perskaitykite vėjo mentės kryptį
Norėdami nuskaityti vėjo mentės padėtį ir nustatyti vėjo kryptį, programa siunčia žemus ir aukštus signalus multipleksoriui su visais parametrų A, B, C deriniais („muxABC“matrica) ir laukia, kol A0 kaištyje bus gautas rezultatas Tai gali būti bet kokia įtampa nuo 0 iki 3,3 V. Deriniai parodyti diagramoje.
Pavyzdžiui, kai C = 0 (žemas), B = 0 (žemas), A = 0 (žemas), multiplekseris pateikia jam 0 kaiščio duomenis ir siunčia signalą į A0, kurį skaito Nodemcu; jei C = 0 (žemas), B = 0 (žemas), A = 1 (didelis), multiplekseris atsiųs jums 1 kaiščio duomenis ir pan., kol bus baigtas 8 kanalų nuskaitymas.
Kadangi signalas yra analoginis, programa virsta skaitmenine (0 arba 1), jei įtampa yra mažesnė arba lygi 1,3 V, signalas yra 0; jei jis yra didesnis nei 1.3V, signalas yra 1. 1.3V vertė yra savavališka ir man tai labai gerai veikė. Visada yra nedidelis srovės nuotėkis ir tai apsaugo, kad nebūtų klaidingų teigiamų rezultatų.
Šie duomenys saugomi vektoriniame val [8], kuris bus lyginamas su adresų masyvu kaip kompasu. Žiūrėkite diagramos matricą. Pavyzdžiui, jei gautas vektorius yra [0, 0, 1, 0, 0, 0, 0, 0, 0], tai matricoje nurodo kryptį E ir atitinka 90 laipsnių kampą; jei [0, 0, 0, 0, 0, 0, 1, 1] matricoje nurodo WNW adresą ir atitinka 292,5 laipsnių kampą. N atitinka [1, 0, 0, 0, 0, 0, 0, 0, 0] ir 0 laipsnių kampą.
„ThingSpeak“bus išsiųsta kampu, nes ji priima tik skaičius.
4 žingsnis: komunikacija
Kaip siųsti duomenis į „ThingSpeak“
Funkcija thingspeaksenddata () yra atsakinga už duomenų siuntimą.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Siųsti greičio duomenis į mano kanalo 1 lauką
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Siųsti adreso duomenis į mano kanalo 2 lauką
„ThingSpeak.writeFields“(„myChannelNumber“, „myWriteAPIKey“) - siųskite į mano kanalą „myChannelNumber“su parašyta „myWriteAPIKey“API, kurią nurodys TS. Šiuos duomenis TS sukūrė kurdama paskyrą ir kanalą.
Aukščiau esančiose nuotraukose galite pamatyti, kaip „ThingSpeak“rodo gautus duomenis.
Šioje nuorodoje galite pasiekti mano projekto duomenis viešame „ThingSpeak“kanale.
5 žingsnis: pagrindiniai kintamieji
vėjo mentės parametrai
- MUX_A D5 - mux pi A į Nodemcu kaištį D5
- MUX_B D4 - mux kaištis B į Nodemcu kaištį D4
- MUX_C D3 - mux kaištis C į Nodemcu kaištį D3
- READPIN 0 - analoginis įėjimas „NodeMcu“= A0
- NO_PINS 8 - mux kaiščių skaičius
- val [NO_PINS] - nuo 0 iki 7 mux prievadų
- wind_Direction_Angle - vėjo krypties kampas
- Stygos windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardinolai, užstatas ir papildomas įkaitas
- 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} - kiekvienos krypties kampai
- Skaitmuo [16] [NO_PINS] - krypčių matrica
- muxABC [8] [3] - ABC mux deriniai
anemometro parametrai
- rpmcount - suskaičiuokite, kiek pilnų apsisukimų atliko anemometras per nustatytą laiką
- timemeasure = 25.00 - matavimo trukmė sekundėmis
- timetoSleep = 1 - Nodemcu pabudimo laikas minutėmis
- sleepTime = 15 - laikas toliau miegoti minutėmis
- aps / min, aps / min - sukimosi dažnis (apsisukimai per minutę, apsisukimai per sekundę)
- spindulys - metrai - anemometro sparno ilgio matas
- linear_velocity - tiesinis greitis m/seg
- linear_velocity_kmh - linijinis greitis km/h
- omega - radialinis greitis rad/seg
Žemiau galite rasti visą eskizą. Sukurkite naują aplanką kompiuterio „Arduino“aplanke tuo pačiu pavadinimu kaip pagrindinė programa („Anemometer_Instructables“) ir sudėkite juos visus kartu.
Įveskite savo „Wi -Fi“tinklo duomenis ir „ThingSpeak“ID bei API rašytojo raktą dalyje „Credentials.h“ir išsaugokite. Įkelkite į „Nodemcu“ir viskas.
Norėdami patikrinti sistemos veikimą, rekomenduoju gerą besisukantį ventiliatorių.
Norėdami pasiekti duomenis mobiliuoju telefonu, atsisiųskite „iOS“ar „Android“skirtą programą „ThingView“, kuri, laimei, vis dar nemokama.
Konfigūruokite savo paskyros nustatymus ir būsite pasiruošę matyti namų vėjo sąlygas, kad ir kur būtumėte.
Jei susidomėjote, apsilankykite mano „ThingSpeak“kanalo ID kanale: 438851, kuris yra viešas ir ten rasite vėjo ir krypties matavimus mano namuose.
Labai tikiuosi, kad tau smagu.
Jei turite kokių nors abejonių, nedvejodami susisiekite su manimi.
Pagarbiai
Rekomenduojamas:
Kaip sukurti pirmąją paprastą programinę įrangą naudojant „Python“: 6 žingsniai
Kaip sukurti pirmąją paprastą programinę įrangą naudojant „Python“: Sveiki, sveiki atvykę į šią instrukciją. Čia aš pasakysiu, kaip sukurti savo programinę įrangą. Taip, jei turite idėją … bet žinote, kaip įgyvendinti ar esate suinteresuotas kurti naujus dalykus, tai kaip tik jums …… Būtina sąlyga: turėtumėte turėti pagrindinių žinių apie
Kaip atsisiųsti nemokamą programinę įrangą kaip ISU studentas („Microsoft“, „Adobe“ir saugos programinė įranga: 24 veiksmai
Kaip atsisiųsti nemokamą programinę įrangą kaip ISU studentas („Microsoft“, „Adobe“ir saugos programinė įranga: „Adobe“: pereikite prie 1 veiksmo. „Microsoft“: pereikite prie 8 veiksmo. Sauga: pereikite prie 12 veiksmo. „Azure“: pereikite prie 16 veiksmo
Kaip sukurti savo anemometrą naudojant nendrių jungiklius, salės efekto jutiklį ir kai kuriuos „Nodemcu“iškarpas. - 1 dalis. Techninė įranga: 8 žingsniai (su paveikslėliais)
Kaip sukurti savo anemometrą naudojant nendrių jungiklius, salės efekto jutiklį ir kai kuriuos „Nodemcu“iškarpas. - 1 dalis. Techninė įranga: Įvadas Nuo tada, kai pradėjau studijuoti „Arduino“ir „Maker Culture“, man patiko kurti naudingus prietaisus, naudojant šiukšles ir laužą, pvz., Butelių dangtelius, PVC gabalus, gėrimų skardines ir tt gyvenimas bet kuriam kūriniui ar bet kuriam partneriui
Kaip pritaikyti savo programinę įrangą MOD savo PSP: 12 žingsnių
Kaip pritaikyti savo programinę įrangą MOD savo PSP: Šioje instrukcijoje parodysiu, kaip sukurti pandoros bateriją, stebuklingą atminties kortelę ir diegimo procesą! Taip pat parodysiu, kaip pakeisti „Pandora“akumuliatorių į įprastą akumuliatorių! Įtrauktas vaizdo įrašas! Medžiagos:-Pirmiausia jūsų g
Kaip sukurti animacinį GIF iš vaizdo įrašo failo naudojant tik nemokamą programinę įrangą: 4 veiksmai
Kaip padaryti animacinį GIF iš vaizdo failo naudojant tik nemokamą programinę įrangą: tiems, kurie nežino, kad GIF yra dažniausiai naudojamas vaizdo formatas, palaikantis kelis kadrus skaidrių demonstravimo ar animacijos metu. Kitaip tariant, galite įdėti trumpus vaizdo įrašus ten, kur paprastai rodomi tik vaizdai. Aš norėjau iš vaizdo įrašo padaryti GIF