Kazalo:
- 1. korak: Namestitev plošč in knjižnic Arduino IDE, ESP8266 in vašega računa ThingSpeak
- 2. korak: Raziščite skico
- 3. korak: Pojasnila o…
- 4. korak: Komunikacija
- 5. korak: glavne spremenljivke
Video: Kako zgraditi lasten anemometer z uporabo trstičnih stikal, senzorja Hallovih učinkov in nekaj zapiskov na Nodemcu - 2. del - Programska oprema: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Uvod
To je nadaljevanje prve objave "Kako zgraditi lasten anemometer z uporabo trstičnih stikal, senzorja Hallovih učinkov in nekaj zapiskov na Nodemcu - 1. del - Strojna oprema" - kjer bom pokazal, kako sestaviti naprave za merjenje hitrosti in smeri vetra. Tu bomo izkoristili programsko opremo za nadzor meritev, namenjeno uporabi v Nodemcuju z uporabo Arduino IDE.
Opis projekta
V prejšnjem prispevku lahko naprave, oborožene in povezane z Nodemcu, izmerijo hitrost in smer vetra. Programska oprema za krmiljenje je bila zasnovana tako, da za določen čas odčita vrtenje anemometra, izračuna linearno hitrost, prebere smer, v kateri je lopatica, prikaže rezultate v OLED -u, objavi rezultate v ThingSpeaku in spi 15 minut, dokler naslednjo meritev.
Izjava o omejitvi odgovornosti: Tega anemometra ne smete uporabljati v poklicne namene. Uporablja se samo za akademsko ali domačo uporabo.
Opomba: angleščina ni moj naravni jezik. Če ugotovite slovnične napake, ki vam preprečujejo razumevanje projekta, mi to sporočite, da jih popravim. Najlepša hvala.
1. korak: Namestitev plošč in knjižnic Arduino IDE, ESP8266 in vašega računa ThingSpeak
Namestitev Arduino IDE in Nodemcu
Če IDU -ja še niste namestili, preberite vadnico na povezavi - Kako namestiti Arduino IDE - kjer najdete popolna navodila.
Naslednji korak, da namestite ploščo Nodemcu, uporabite to vadnico iz Magesh Jayakumar Instructables, ki je zelo popolna. Kako namestiti Nodemcu brez Arduino IDE
Namestitev knjižnic
Naslednji korak morate namestiti knjižnice, ki jih uporablja skica. So pogosti in lahko sledite spodnjim korakom.
Knjižnica ThingSpeak -
Knjižnica ESP8266 -
Ustvarjanje računa ThingSpeak
Če želite uporabljati ThingSpeak (https://thingspeak.com/), morate ustvariti račun (še vedno je brezplačen za določeno število interakcij), kamor lahko shranite podatke, izmerjene v vašem anemometru, in spremljate razmere vetra v vašem domu, tudi prek mobilnega telefona. Z uporabo ThingSpeak lahko vsem, ki jih zanimate, omogočite javni dostop do zbranih podatkov. To je dobra prednost ThingSpeaka. Vnesite domačo stran in sledite korakom za ustvarjanje računa.
Ko ustvarite račun, vnesite to vadnico - ThingSpeak Getting Started - za ustvarjanje svojih kanalov. Je precej dobro razloženo. Če povzamemo, morate ustvariti kanal, kjer bodo shranjeni podatki. Ta kanal ima ID in ključ API, na katerega se morate skicirati vsakič, ko želite posneti podatke. ThingSpeak bo vse podatke shranil v banki in jih prikazal ob vsakem dostopu do računa na način, ki ste ga nastavili.
2. korak: Raziščite skico
Diagram poteka
Na diagramu lahko razumete fluksogram skice. Ko se zbudite (povežete) Nodemcu, se bo povezal z vašim omrežjem Wi-Fi, katerega parametre ste konfigurirali in začeli šteti 1 minuto časa za izvedbo meritev. Najprej bo 25 sekund štel vrtenja anemometra, izračunali linearno hitrostjo in prebrati smer vetra. Rezultati so prikazani na OLED. Ponovite iste korake in za to drugo branje bo poslano v ThingSpeak.
Nato Nodemcu spi 15 minut, da prihrani baterijo. Ker uporabljam majhno sončno ploščo, je to nujno potrebno. Če uporabljate vir 5V, lahko program spremenite tako, da ne spi, in še naprej merite podatke.
Struktura programov
Na diagramu si lahko ogledate strukturo skice.
Anemometer_Instructables
To je glavni program, ki naloži knjižnice, zažene spremenljivke, nadzira prekinitev priklopa, pokliče vse funkcije, izračuna hitrost vetra, določi njegovo smer in ga uspava.
komunikacije
Povežite WiFi in pošljite podatke v ThingSpeak.
poverilnice.h
Ključi vašega omrežja WiFi in identifikatorji vašega računa v ThingSpeak. Tu boste spremenili svoje ID -je ključev in API -je.
definira.h
Vsebuje vse spremenljivke programa. Tu lahko spremenite čas branja ali kako dolgo naj vozlišče spi.
funkcije
Vsebuje funkcije za združevanje parametrov in branje multiplekserja ter funkcijo za branje vrtenja anemometra.
oledDisplay
Na zaslonu prikažite rezultate hitrosti in smeri vetra.
3. korak: Pojasnila o…
Pripni Prekinitev
Vrtenje anemometra se meri s funkcijo attachInterrupt () (in detachInterrupt ()) v GPIO 12 (pin D6) Nodemcu (na nožicah D0-D8 ima funkcijo prekinitve).
Prekinitve so dogodki ali pogoji, zaradi katerih mikrokrmilnik ustavi izvajanje naloge, ki jo izvaja, začasno dela v drugi nalogi in se vrne na začetno nalogo.
Podrobnosti o funkciji si lahko preberete na povezavi do vadnice Arduino. Glejte attachInterrupt ().
Sintaksa: attachInterrupt (pin, funkcija povratnega klica, vrsta/način prekinitve);
pin = D6
funkcija povratnega klica = rpm_anemometer - šteje vsak impulz na spremenljivki.
vrsta/način prekinitve = RISING - prekinite, ko pin preide iz nizkega v visoko.
Pri vsakem impulzu, ki ga proizvede magnet v Hall -ovem senzorju, se nožica preusmeri od nizkega do visokega, funkcija štetja pa se v nastavljenih 25 sekundah aktivira in sešteje impulz v spremenljivki. Ko je čas potekel, se števec odklopi (detachInterrupt ()) in rutina izračuna hitrost, ko je odklopljen.
Izračun hitrosti vetra
Ko ugotovimo, koliko vrtljajev je anemometer opravil v 25 sekundah, izračunamo hitrost.
- RADIO je merjenje od osne anemometra do konice žoge za namizni tenis. Gotovo ste svojega zelo dobro izmerili - (glejte to v diagramu, ki pravi 10 cm).
- RPS (vrtljaji na sekundo) = rotacije / 25 sekund
- RPM (vrtljaji na minuto) = RPS * 60
- OMEGA (kotna hitrost - radiani na sekundo) = 2 * PI * RPS
- Linearna_Velocity (metri na sekundo) = OMEGA * RADIO
- Linearna_Velocity_kmh (Km na uro) = 3,6 * Linearna_Velocity in to je tisto, kar bo poslano v ThingSpeak.
Preberite smer vetrnice
Za branje položaja vetrnice za določitev smeri vetra program pošilja nizke in visoke signale multiplekserju z vsemi kombinacijami parametrov A, B, C (matrika muxABC) in počakajte, da na pin A0 prejmete rezultat to je lahko katera koli napetost med 0 in 3,3 V. Kombinacije so prikazane na diagramu.
Na primer, ko je C = 0 (nizko), B = 0 (nizko), A = 0 (nizko), mu multiplekser poda podatke nožice 0 in pošlje signal A0, ki ga prebere Nodemcu; če je C = 0 (nizko), B = 0 (nizko), A = 1 (visoko), vam bo multiplekser poslal podatke o zatiču 1 in tako naprej, dokler se odčitavanje 8 kanalov ne zaključi.
Ker je signal analogen, se program pretvori v digitalni (0 ali 1), če je napetost manjša ali enaka 1,3 V, je signal 0; če je večji od 1,3 V, je signal 1. Vrednost 1,3 V je poljubna in zame je delovala zelo dobro. Vedno pride do majhnih uhajanj toka in to ščiti, da ni lažno pozitivnih rezultatov.
Ti podatki so shranjeni v vektorski val [8], ki jo bomo primerjali z matrico naslovov kot kompasom. Oglejte si matriko na diagramu. Na primer, če je sprejeti vektor [0, 0, 1, 0, 0, 0, 0, 0, 0], v matrici označi smer E in ustreza kotu 90 stopinj; če [0, 0, 0, 0, 0, 0, 1, 1] v matrici označi naslov WNW in ustreza kotu 292,5 stopinj. N ustreza [1, 0, 0, 0, 0, 0, 0, 0, 0] in kot 0 stopinj.
Kaj bo poslano v ThingSpeak, je pod kotom, ker sprejema samo številke.
4. korak: Komunikacija
Kako poslati podatke v ThingSpeak
Za pošiljanje podatkov je odgovorna funkcija thingspeaksenddata ().
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Pošlji podatke o hitrosti v polje 1 mojega kanala
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Pošlji podatke o naslovu v polje 2 mojega kanala
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Pošlji na moj kanal myChannelNumber s pisnim API -jem myWriteAPIKey, ki ga označuje TS. Te podatke je ustvarila TS pri ustvarjanju vašega računa in kanala.
Na zgornjih slikah lahko vidite, kako ThingSpeak prikazuje prejete podatke.
Na tej povezavi lahko dostopate do podatkov mojega projekta v javnem kanalu ThingSpeak.
5. korak: glavne spremenljivke
parametri vetrnice
- MUX_A D5 - mux pi A do Nodemcu pin D5
- MUX_B D4 - mux pin B do Nodemcu pin D4
- MUX_C D3 - mux pin C do Nodemcu pin D3
- READPIN 0 - Analogni vhod na NodeMcu = A0
- NO_PINS 8 - število mux zatičev
- val [NO_PINS] - vrata 0 do 7 vmesnika
- wind_Direction_Angle - kot smeri vetra
- Niz windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenali, zavarovanja s premoženjem in podzavarovanja
- 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} - koti v vsako smer
- Številka [16] [NO_PINS] - Matrika navodil
- muxABC [8] [3] - kombinacije mux ABC
parametri anemometra
- rpmcount - preštejte, koliko polnih obratov je anemometer opravil v predvidenem času
- timemeasure = 25.00 - čas trajanja meritve v sekundah
- timetoSleep = 1 - Nodemcu čas bujenja v minutah
- sleepTime = 15 - čas za spanje v minutah
- rpm, rps - frekvence vrtenja (vrtljaji na minuto, rotacije na sekundo)
- polmer - metri - merilo dolžine krila anemometra
- linearna hitrost - linearna hitrost v m/seg
- linearna_hitrost_kmh - linearna hitrost v km/h
- omega - radialna hitrost v rad/seg
Spodaj najdete celotno skico. Ustvarite novo mapo v mapi Arduino v računalniku z istim imenom kot glavni program (Anemometer_Instructables) in jih združite.
V del Credentials.h vnesite podatke o svojem omrežju wifi ter ID in ključ za pisanje API -ja ThingSpeak in shranite. Naloži v Nodemcu in to je vse.
Za preizkus delovanja sistema priporočam dober vrtljiv ventilator.
Za dostop do podatkov po mobilnem telefonu prenesite aplikacijo za IOS ali Android, imenovano ThingView, ki je na srečo še vedno brezplačna.
Konfigurirajte nastavitve računa in pripravljeni boste videti pogoje vetra doma, kjer koli že ste.
Če vas zanima, dostopajte do mojega kanala kanala ThingSpeak Channel ID: 438851, ki je javen in tam boste našli meritve vetra in smeri v moji hiši.
Resnično upam, da se boste zabavali.
Če dvomite, me ne oklevajte.
S spoštovanjem
Priporočena:
Kako zgraditi lasten namizni računalnik: 20 korakov
Kako zgraditi lasten namizni računalnik: Ne glede na to, ali želite zgraditi svoj računalnik za video igre, grafično oblikovanje, urejanje videa ali celo samo za zabavo, vam bo ta podroben vodnik pokazal, kaj boste potrebovali za izdelavo svojega osebnega računalnika
Vadnica: Kako zgraditi modul laserskega senzorja VL53L0X z uporabo Arduino UNO: 3 koraki
Vadnica: Kako zgraditi modul senzorja laserskega merjenja VL53L0X z uporabo Arduino UNO: Opisi: Ta vadnica bo vsem vam pokazala podrobnosti o tem, kako sestaviti detektor razdalje z modulom VL53L0X Laser Ranging Sensor Module in Arduino UNO, in bo deloval kot vi želim. Sledite navodilom in razumeli boste tega učitelja
Kako zgraditi svoj lastni anemometer z uporabo trstičnih stikal, Hall -ovega senzorja in nekaterih ostankov na Nodemcu. - 1. del - Strojna oprema: 8 korakov (s slikami)
Kako zgraditi lasten anemometer z uporabo trstičnih stikal, Hall -ovega senzorja in nekaj zapiskov na Nodemcu. - 1. del - Strojna oprema: Uvod Odkar sem začel študirati Arduino in kulturo ustvarjalca, sem rad ustvarjal uporabne naprave z uporabo odpadkov in ostankov, kot so pokrovčki za steklenice, kosi PVC, pločevinke za pijačo itd. življenje vsakemu kosu ali partnerju
Senzor Hallovih učinkov: Božična glasbena skrinja: 4 koraki
Senzor Hallovih učinkov: Božična glasbena skrinjica: To je glasbena skrinja, ki predvaja glasbo, ko se enkrat odpre (poglejte video!). To je odličen, poseben in edinstven način, da darila zavijete za svojega posebnega! S senzorjem Hallovega učinka preveri, ali je bil pokrov odprt zaradi pomanjkanja magnetnega polja
Kako zgraditi lasten reaktivni motor: 10 korakov (s slikami)
Kako zgraditi lasten reaktivni motor: Ni vam treba biti Jay Leno, da bi imeli motor z motorjem na reaktivni pogon, mi pa vam bomo pokazali, kako tukaj narediti lastno reaktivno enoto za pogon vaših čudaških vozil. To je projekt, ki poteka, na naši spletni strani pa bo na voljo veliko dodatnih informacij