Satura rādītājs:
- 1. darbība: instalējiet Arduino IDE, ESP8266 plates un bibliotēkas un savu ThingSpeak kontu
- 2. darbība: skices izpēte
- 3. darbība. Paskaidrojumi par…
- 4. solis: komunikācija
- 5. solis: galvenie mainīgie
Video: Kā izveidot savu anemometru, izmantojot Nedemcu slēdžus, Halles efekta sensoru un dažus atgriezumus - 2. daļa - Programmatūra: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Ievads
Šis ir turpinājums pirmajam ierakstam "Kā izveidot savu anemometru, izmantojot niedru slēdžus, zāles efekta sensoru un dažus atgriezumus Nodemcu - 1. daļa - aparatūra" - kur es parādīšu, kā salikt vēja ātruma un virziena mērīšanas ierīces. Šeit mēs izmantosim mērījumu kontroles programmatūru, kas paredzēta lietošanai Nodemcu, izmantojot Arduino IDE.
Projekta apraksts
Iepriekšējā ierakstā ierīces, kas ir bruņotas un savienotas ar Nodemcu, spēj izmērīt vēja ātrumu un virzienu. Vadības programmatūra tika izstrādāta, lai noteiktu laiku nolasītu anemometra rotāciju, aprēķinātu lineāro ātrumu, nolasītu lāpstiņas virzienu, parādītu rezultātus OLED, publicētu rezultātus ThingSpeak un gulētu 15 minūtes, līdz nākamais mērījums.
Atruna: šo anemometru nedrīkst izmantot profesionāliem mērķiem. Tas ir paredzēts tikai akadēmiskai vai mājas lietošanai.
Piezīme: angļu valoda nav mana dabiskā valoda. Ja atrodat gramatiskas kļūdas, kas neļauj jums izprast projektu, lūdzu, informējiet mani, lai tās labotu. Liels tev paldies.
1. darbība: instalējiet Arduino IDE, ESP8266 plates un bibliotēkas un savu ThingSpeak kontu
Arduino IDE un Nodemcu instalēšana
Ja jūs nekad neesat instalējis Arduino IDE, lūdzu, izlasiet apmācību saitē - Kā instalēt Arduino IDE -, kur varat atrast pilnīgas instrukcijas.
Nākamais solis, lai instalētu Nodemcu plati, izmantojiet šo apmācību no Magesh Jayakumar Instructables, kas ir ļoti pilnīga. Kā instalēt Nodemcu no Arduino IDE
Bibliotēku instalēšana
Nākamais solis ir jāinstalē skicē izmantotās bibliotēkas. Tie ir izplatīti, un jūs varat veikt tālāk norādītās darbības.
ThingSpeak bibliotēka -
ESP8266 bibliotēka -
ThingSpeak konta izveide
Lai izmantotu ThingSpeak (https://thingspeak.com/), jums ir jāizveido konts (noteiktam mijiedarbību skaitam tas joprojām ir bez maksas), kurā varat saglabāt anemometrā izmērītos datus un uzraudzīt vēja apstākļus mājās, pat caur mobilo tālruni. Izmantojot ThingSpeak, ikvienam interesentam varat piešķirt publisku piekļuvi saviem apkopotajiem datiem. Tā ir laba ThingSpeak priekšrocība. Ievadiet sākumlapu un veiciet darbības, lai izveidotu kontu.
Kad konts ir izveidots, ievadiet šo apmācību - ThingSpeak Getting Started - lai izveidotu savus kanālus. Tas ir diezgan labi izskaidrots. Rezumējot, jums ir jāizveido kanāls, kurā dati tiks glabāti. Šim kanālam ir ID un atslēgas API, uz kuru skicē ir jāatsaucas ikreiz, kad vēlaties ierakstīt datus. ThingSpeak saglabās visus datus bankā un parādīs tos katru reizi, kad piekļūstat savam kontam, jūsu konfigurētajā veidā.
2. darbība: skices izpēte
Blokshēma
Diagrammā jūs varat saprast skices fluxogrammu. Kad jūs pamodināt (saite) Nodemcu, tas izveidos savienojumu ar jūsu Wi-Fi tīklu, kura parametrus esat konfigurējis, un sāks skaitīt 1 minūti laika, lai veiktu mērījumus. Pirmkārt, tas skaitīs anemometra apgriezienus 25 sekundes, aprēķiniet lineāro ātrumu un nolasīt vēja virzienu. Rezultāti tiek parādīti OLED. Veiciet tās pašas darbības vēlreiz, un šim otrajam lasījumam tas tiks pārsūtīts uz ThingSpeak.
Tad Nodemcu guļ 15 minūtes, lai taupītu akumulatoru. Tā kā es izmantoju nelielu saules paneli, tas ir obligāti jādara. Ja izmantojat 5 V avotu, varat modificēt programmu tā, lai tā negulētu, un turpināt mērīt datus.
Programmu struktūra
Diagrammā varat redzēt skices struktūru.
Anemometrs_Instrukcijas
Tā ir galvenā programma, kas ielādē bibliotēkas, sāk mainīgos, kontrolē pielikuma pārtraukšanu, izsauc visas funkcijas, aprēķina vēja ātrumu, nosaka tā virzienu un iemidzina.
sakarus
Pievienojiet WiFi un nosūtiet datus uz ThingSpeak.
akreditācijas dati.h
Jūsu WiFi tīkla atslēgas un jūsu ThingSpeak konta identifikatori. Šeit jūs mainīsit atslēgu ID un API.
definē.h
Tas satur visus programmas mainīgos. Šeit jūs varat mainīt lasīšanas laiku vai to, cik ilgi nodemcu vajadzētu gulēt.
funkcijas
Tajā ir funkcijas parametru apvienošanai un multipleksora nolasīšanai, kā arī funkcija anemometra griešanās nolasīšanai.
oledDisplay
Ekrānā parādiet vēja ātruma un virziena rezultātus.
3. darbība. Paskaidrojumi par…
Pievienojiet pārtraukumu
Anemometra rotāciju mēra, izmantojot funkciju attachInterrupt () (un detachInterrupt ()) Nodemcu GPIO 12 (pin D6) (tā D0-D8 tapās ir pārtraukšanas funkcija).
Pārtraukumi ir notikumi vai apstākļi, kuru dēļ mikrokontrolleris pārtrauc izpildītā uzdevuma izpildi, īslaicīgi strādā citā uzdevumā un atgriežas pie sākotnējā uzdevuma.
Funkcijas detaļas varat izlasīt Arduino apmācības saitē. Skatiet attachInterrupt ().
Sintakse: attachInterrupt (pin, atzvanīšanas funkcija, pārtraukuma veids/režīms);
tapa = D6
atzvanīšanas funkcija = rpm_anemometer - skaita katru impulsu uz mainīgā.
pārtraukšanas veids/režīms = RISING - pārtrauciet, kad tapa kļūst no zemas uz augstu.
Pie katra impulsa, ko rada Hallo sensora magneto, tapa tiek pārsniegta no zemas uz augstu, un skaitīšanas funkcija tiek aktivizēta un summētais impulss mainīgā 25 sekunžu laikā. Kad laiks ir beidzies, skaitītājs tiek atvienots (detachInterrupt ()) un rutīna aprēķina ātrumu, kamēr tas ir atvienots.
Vēja ātruma aprēķināšana
Kad ir noteikts, cik daudz apgriezienu anemometrs deva 25 sekundēs, mēs aprēķinām ātrumu.
- RADIO ir mērījums no anemometra centra ass līdz galda tenisa bumbiņas galam. Jūs noteikti ļoti labi esat izmērījis savējo - (skatiet to diagrammā, kurā teikts 10 cm).
- RPS (apgriezieni sekundē) = rotācijas / 25 sekundes
- RPM (apgriezieni minūtē) = RPS * 60
- OMEGA (leņķiskais ātrums - radiāni sekundē) = 2 * PI * RPS
- Linear_Velocity (metri sekundē) = OMEGA * RADIO
- Linear_Velocity_kmh (Km stundā) = 3.6 * Linear_Velocity, un tas tiks nosūtīts uz ThingSpeak.
Izlasiet vēja lāpstiņas virzienu
Lai nolasītu vēja lāpstiņas stāvokli, lai noteiktu vēja virzienu, programma nosūta zemus un augstus signālus multipleksoram ar visām parametru A, B, C kombinācijām (muxABC matrica) un gaida rezultātu, lai saņemtu rezultātu A0 kas var būt jebkurš spriegums no 0 līdz 3.3V. Kombinācijas ir parādītas diagrammā.
Piemēram, ja C = 0 (zems), B = 0 (zems), A = 0 (zems), multipleksors sniedz tam 0 tapu datus un nosūta signālu uz A0, ko nolasa Nodemcu; ja C = 0 (zems), B = 0 (zems), A = 1 (augsts), multipleksors nosūtīs jums 1. kontakta datus un tā tālāk, līdz tiks pabeigta 8 kanālu nolasīšana.
Tā kā signāls ir analogs, programma tiek pārveidota par ciparu (0 vai 1), ja spriegums ir mazāks vai vienāds ar 1,3 V, signāls ir 0; ja tas ir lielāks par 1.3V, signāls ir 1. Vērtība 1.3V ir patvaļīga, un man tas darbojās ļoti labi. Vienmēr ir nelielas strāvas noplūdes, un tas pasargā, ka nav viltus pozitīvu rezultātu.
Šie dati tiek glabāti vektorā val [8], kas tiks salīdzināts ar adrešu masīvu kā kompasu. Skatiet matricu diagrammā. Piemēram, ja saņemtais vektors ir [0, 0, 1, 0, 0, 0, 0, 0, 0], tas matricā norāda virzienu E un atbilst 90 grādu leņķim; ja [0, 0, 0, 0, 0, 0, 1, 1] matricā norāda WNW adresi un atbilst 292,5 grādu leņķim. N atbilst [1, 0, 0, 0, 0, 0, 0, 0, 0] un 0 grādu leņķim.
Tas, kas tiks nosūtīts uz ThingSpeak, ir leņķī, jo tas pieņem tikai ciparus.
4. solis: komunikācija
Kā nosūtīt datus uz ThingSpeak
Funkcija thingspeaksenddata () ir atbildīga par datu nosūtīšanu.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - nosūtīt ātruma datus uz mana kanāla 1. lauku
ThingSpeak.setField (2, float (wind_Direction_Angle)) - nosūtīt adreses datus uz mana kanāla 2. lauku
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - nosūtīt manam kanālam myChannelNumber ar rakstisku myWriteAPIKey API, ko norāda TS. Šos datus TS ģenerēja, veidojot jūsu kontu un kanālu.
Iepriekš redzamajos attēlos varat redzēt, kā ThingSpeak parāda saņemtos datus.
Šajā saitē jūs varat piekļūt mana projekta datiem ThingSpeak publiskajā kanālā.
5. solis: galvenie mainīgie
vēja lāpstiņu parametri
- MUX_A D5 - mux pi A līdz Nodemcu tapa D5
- MUX_B D4 - mux tapa B līdz Nodemcu tapa D4
- MUX_C D3 - mux tapa C līdz Nodemcu tapa D3
- READPIN 0 - analogā ieeja NodeMcu = A0
- NO_PINS 8 - mux tapu skaits
- val [NO_PINS] - ostas no 0 līdz 7 mux
- wind_Direction_Angle - vēja virziena leņķis
- String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardināli, nodrošinājumi un apakšķīlas
- 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} - katra virziena leņķi
- Cipars [16] [NO_PINS] - virzienu matrica
- muxABC [8] [3] - ABC mux kombinācijas
anemometra parametri
- rpmcount - saskaitiet, cik pilnu apgriezienu veica anemometrs atvēlētajā laikā
- timemeasure = 25.00 - mērīšanas ilgums sekundēs
- timetoSleep = 1 - Nodemcu nomoda laiks minūtēs
- sleepTime = 15 - laiks, lai turpinātu gulēt minūtēs
- rpm, rps - rotācijas frekvences (apgriezieni minūtē, apgriezieni sekundē)
- rādiuss - metri - anemometra spārna garuma mērs
- lineārais ātrums - lineārais ātrums m/seg
- linear_velocity_kmh - lineārais ātrums km/h
- omega - radiālais ātrums rad/seg
Zemāk varat atrast pilnu skici. Izveidojiet jaunu mapi datora mapē Arduino ar tādu pašu nosaukumu kā galvenajai programmai (Anemometer_Instructables) un salieciet tās visas kopā.
Ievadiet sava wifi tīkla datus un ThingSpeak ID un API rakstītāja atslēgu daļā Credentials.h un saglabājiet. Augšupielādējiet Nodemcu un viss.
Lai pārbaudītu sistēmas darbību, es iesaku labu rotējošu ventilatoru.
Lai piekļūtu datiem, izmantojot mobilo tālruni, lejupielādējiet IOS vai Android lietojumprogrammu ar nosaukumu ThingView, kas, par laimi, joprojām ir bezmaksas.
Konfigurējiet sava konta iestatījumus, un jūs būsit gatavs redzēt savas mājas vēja apstākļus, lai kur jūs atrastos.
Ja jums ir interese, piekļūstiet manam ThingSpeak kanāla ID kanālam: 438851, kas ir publisks, un tur jūs atradīsit vēja un virziena mērījumus manā mājā.
Es ļoti ceru, ka jums ir jautri.
Ja jums ir kādas šaubas, nevilcinieties sazināties ar mani.
Sveicieni
Ieteicams:
Halles efekta USB kursorsvira: 7 soļi (ar attēliem)
Hall Effect USB kursorsvira: šīs instrukcijas parāda, kā izmantot rūpniecisku Hall Effect kursorsviru, lai izveidotu augstas izšķirtspējas USB kursorsviru. Ir arī citi saistīti norādījumi Tiny USB Joystick, kas var nodrošināt lētu risinājumu; >
Kā izveidot bloķēšanas drošības slēdžus K40 lāzera griezējam: 4 soļi (ar attēliem)
Kā izveidot bloķēšanas drošības slēdžus K40 lāzera griezējam: SVARĪGI REDIĢĒT! Lūdzu, neieslēdziet bloķētājus pie mašīnas elektrotīkla. Tā vietā vads jāpievieno PSU tapām. Drīzumā tiks veikts pilnīgs atjauninājums. -Tony 7/30-19Kāds ir viens no pirmajiem padomiem internetā, kad jūsu pavisam jauns, (ma
Kā izveidot savu anemometru, izmantojot Nedemcu slēdžus, Halles efekta sensoru un dažus atgriezumus. - 1. daļa - Aparatūra: 8 soļi (ar attēliem)
Kā izveidot savu anemometru, izmantojot Nedemcu slēdžus, Halles efekta sensoru un dažus atgriezumus. - 1. daļa - Aparatūra: Ievads Kopš es sāku ar Arduino un Maker Culture studijām, man patika veidot noderīgas ierīces, izmantojot atkritumus un lūžņus, piemēram, pudeles vāciņus, PVC gabalus, dzērienu kannas utt. Man patīk sniegt sekundi dzīvība jebkuram gabalam vai jebkuram partnerim
Halles efekta sensors Arduino, izmantojot Fidget Spinner: 3 soļi (ar attēliem)
Halles efekta sensors Arduino, izmantojot Fidget Spinner: Anotācija strādā: -Halla efekta sensors ir devējs, kas maina savu izejas spriegumu, reaģējot uz magnētisko lauku. Halles efekts
Sagatavojiet dažus PIR sensoru pārpalikumus robotikai: 3 soļi (ar attēliem)
Sagatavojiet dažus PIR sensoru pārpalikumus robotikai: eBay atradu virkni PIR sensoru. Tie ir uzstādīti uz PCB, kas ražots mobilo tālruņu brīvroku komplektam. Man patīk šeit aprakstīt, kā sagatavot sensoru izmantošanai robotikas projektos. Ja jūs nezināt, kas ir PIR sensors