Sisällysluettelo:

Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto: 5 vaihetta (kuvilla)
Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto: 5 vaihetta (kuvilla)

Video: Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto: 5 vaihetta (kuvilla)

Video: Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto: 5 vaihetta (kuvilla)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Kesäkuu
Anonim
Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto
Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto
Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto
Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto

Johdanto

Tämä on jatko ensimmäiselle viestille "Kuinka rakentaa oma tuulimittari ruoko -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -leikkeillä - Osa 1 - Laitteisto" - jossa näytän kuinka koota tuulen nopeuden ja suunnan mittauslaitteet. Tässä hyödynnetään mittauksenhallintaohjelmistoa, joka on suunniteltu käytettäväksi Arduino IDE: tä käyttävässä Nodemcussa.

Hankkeen kuvaus

Edellisessä viestissä Nodemcuun viritetyt ja kytketyt laitteet pystyvät mittaamaan tuulen nopeuden ja suunnan. Ohjausohjelmisto on suunniteltu lukemaan tuulimittarin kiertoa tietyn ajan, laskemaan lineaarinen nopeus, lukemaan siiven suunta, näyttämään tulokset OLED -laitteessa, julkaisemaan tulokset ThingSpeakissa ja nukkumaan 15 minuuttia, kunnes seuraava mittaus.

Vastuuvapauslauseke: Tätä tuulimittaria ei tule käyttää ammattikäyttöön. Se on tarkoitettu vain akateemiseen tai kotikäyttöön.

Huomaa: Englanti ei ole luonnollinen kieleni. Jos löydät kielioppivirheitä, jotka estävät sinua ymmärtämästä projektia, ilmoita siitä minulle korjataksesi ne. Kiitos paljon.

Vaihe 1: Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen

Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen
Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen
Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen
Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen

Asennetaan Arduino IDE ja Nodemcu

Jos et ole koskaan asentanut Arduino -IDE: tä, lue opetusohjelma linkistä - Arduino IDE: n asentaminen - josta löydät täydelliset ohjeet.

Asenna seuraavaksi Nodemcu -kortti käyttämällä tätä opetusohjelmaa Magesh Jayakumar Instructablesista, joka on erittäin täydellinen. Kuinka asentaa Nodemcu no Arduino IDE

Kirjastojen asentaminen

Seuraavaksi sinun on asennettava luonnoksen käyttämät kirjastot. Ne ovat yleisiä ja voit seurata alla olevia vaiheita.

ThingSpeak -kirjasto -

ESP8266 -kirjasto -

ThingSpeak -tilin luominen

Jos haluat käyttää ThingSpeakia (https://thingspeak.com/), sinun on luotava tili (se on edelleen ilmainen tietyille vuorovaikutuksille), johon voit tallentaa tuulimittarisi mittaamat tiedot ja seurata kotisi tuuliolosuhteita, jopa kännykän kautta. ThingSpeakin avulla voit antaa julkisen pääsyn kerättyihin tietoihisi kiinnostuneille. Se on ThingSpeakin hyvä etu. Siirry etusivulle ja luo tilin luomisen vaiheet.

Kun tili on luotu, luo tämä kanava luomalla tämä opetusohjelma - ThingSpeak Getting Started. Se on aika hyvin selitetty. Yhteenvetona, sinun on luotava kanava, johon tiedot tallennetaan. Tällä kanavalla on tunnus ja avainsovellusliittymä, joihin pitäisi viitata luonnoksessa aina, kun haluat tallentaa tietoja. ThingSpeak tallentaa kaikki tiedot pankkiin ja näyttää ne aina, kun käytät tiliäsi, määrittämälläsi tavalla.

Vaihe 2: Luonnoksen tutkiminen

Luonnoksen tutkiminen
Luonnoksen tutkiminen
Luonnoksen tutkiminen
Luonnoksen tutkiminen

Vuokaavio

Kaaviossa voit ymmärtää luonnoksen fluxogrammin. Kun heräät (linkitä) Nodemcu, se muodostaa yhteyden Wi-Fi-verkkoon, jonka parametrit olet määrittänyt ja alkaa laskea 1 minuutin aikaa mittausten suorittamiseen. lineaarinen nopeus ja lue tuulen suunta. Tulokset näkyvät OLED -laitteessa. Tee samat vaiheet uudelleen, ja tässä toisessa käsittelyssä se välitetään ThingSpeakille.

Sitten Nodemcu nukkuu 15 minuuttia akun säästämiseksi. Koska käytän pientä aurinkopaneelia, teen sen ehdottomasti. Jos käytät 5 V: n lähdettä, voit muokata ohjelmaa niin, että se ei nuku, ja jatkaa tietojen mittaamista.

Ohjelmien rakenne

Kaaviossa näet luonnoksen rakenteen.

Anemometer_Instructables

Se on pääohjelma, joka lataa kirjastot, käynnistää muuttujat, ohjaa liittämisen keskeytystä, kutsuu kaikki toiminnot, laskee tuulen nopeuden, määrittää sen suunnan ja laittaa sen nukkumaan.

viestintä

Yhdistä WiFi ja lähetä tiedot ThingSpeakiin.

valtakirjat. h

WiFi -verkon avaimet ja tilisi tunnisteet ThingSpeakissa. Tässä voit muuttaa avaintunnuksiasi ja sovellusliittymiäsi.

määrittelee. h

Se sisältää kaikki ohjelman muuttujat. Tässä voit muuttaa lukuaikoja tai kuinka kauan nodemcun pitäisi nukkua.

toimintoja

Se sisältää toimintoja parametrien yhdistämiseksi ja multiplekserin lukemiseksi sekä tuulimittarin kierrosten lukemistoiminnon.

oledDisplay

Näytä tuulen nopeuden ja suunnan tulokset näytöllä.

Vaihe 3: Selitykset…

Selityksiä…
Selityksiä…
Selityksiä…
Selityksiä…
Selityksiä…
Selityksiä…
Selityksiä…
Selityksiä…

Liitä keskeytys

Tuulimittarin pyöriminen mitataan toiminnolla attachInterrupt () (ja detachInterrupt ()) Nodemcun GPIO 12: ssa (nasta D6) (D0-D8-nastoissa on keskeytysominaisuus).

Keskeytykset ovat tapahtumia tai olosuhteita, jotka saavat mikrokontrollerin pysäyttämään suorittamansa tehtävän, työskentelemään tilapäisesti eri tehtävässä ja palaamaan alkuperäiseen tehtävään.

Voit lukea toiminnon yksityiskohdat Arduinon opetusohjelman linkistä. Katso attachInterrupt ().

Syntaksi: attachInterrupt (nasta, soittotoiminto, keskeytyksen tyyppi/tila);

nasta = D6

takaisinsoittotoiminto = rpm_anemometer - laskee jokaisen pulssin muuttujalle.

keskeytystyyppi/tila = RISING - keskeytä, kun nasta nousee alhaisesta korkeaan.

Jokaisella Hall -anturin magneton tuottamalla pulssilla tappi siirtyy matalasta korkeaan ja laskutoiminto aktivoituu ja summaa pulssin muuttujana 25 sekunnin aikana. Kun aika on kulunut umpeen, laskuri katkaistaan (detachInterrupt ()) ja rutiini laskee nopeuden irrotettuna.

Tuulennopeuden laskeminen

Kun on määritetty, kuinka monta kierrosta tuulimittari antoi 25 sekunnissa, laskemme nopeuden.

  • RADIO on mittaus tuulimittarin keskiakselista pingispallon kärkeen. Olet varmasti mitannut omasi hyvin - (katso 10 cm: n kaaviosta).
  • RPS (kierrosta sekunnissa) = kierrosta / 25 sekuntia
  • RPM (kierrosta minuutissa) = RPS * 60
  • OMEGA (kulmanopeus - radiaaneja sekunnissa) = 2 * PI * RPS
  • Linear_Velocity (metriä sekunnissa) = OMEGA * RADIO
  • Linear_Velocity_kmh (Km per hour) = 3.6 * Linear_Velocity ja tämä lähetetään ThingSpeakille.

Lue tuulen siipien suunta

Tuulisiiven asennon lukemiseksi tuulen suunnan määrittämiseksi ohjelma lähettää matalat ja korkeat signaalit multiplekserille kaikilla parametrien A, B, C (muxABC -matriisi) yhdistelmillä ja odottaa tuloksen vastaanottamista nastalle A0 joka voi olla mikä tahansa jännite välillä 0 ja 3.3V. Yhdistelmät on esitetty kaaviossa.

Esimerkiksi kun C = 0 (alhainen), B = 0 (matala), A = 0 (alhainen), multiplekseri antaa sille nastan 0 tiedot ja lähettää signaalin A0: lle, jonka Nodemcu lukee; jos C = 0 (matala), B = 0 (matala), A = 1 (korkea), multiplekseri lähettää sinulle nastan 1 tiedot ja niin edelleen, kunnes 8 kanavan lukeminen on valmis.

Koska signaali on analoginen, ohjelma muuttuu digitaaliseksi (0 tai 1), jos jännite on pienempi tai yhtä suuri kuin 1,3 V, signaali on 0; jos se on suurempi kuin 1,3 V, signaali on 1. Arvo 1.3V on mielivaltainen ja minulle se toimi erittäin hyvin. Virrassa on aina pieniä vuotoja ja tämä suojaa sitä, ettei ole vääriä positiivisia.

Nämä tiedot tallennetaan vektorivaloon [8], jota verrataan osoiteriviksi kompassina. Katso matriisi kaaviosta. Jos esimerkiksi vastaanotettu vektori on [0, 0, 1, 0, 0, 0, 0, 0, 0], se osoittaa matriisissa suunnan E ja vastaa 90 asteen kulmaa; jos [0, 0, 0, 0, 0, 0, 1, 1] osoittaa matriisissa WNW -osoitteen ja vastaa 292,5 asteen kulmaa. N vastaa [1, 0, 0, 0, 0, 0, 0, 0, 0] ja 0 asteen kulmaa.

ThingSpeakille lähetettävä asia on kulmassa, koska se hyväksyy vain numeroita.

Vaihe 4: Viestintä

Viestintä
Viestintä
Viestintä
Viestintä

Tietojen lähettäminen ThingSpeakiin

Funktio thingspeaksenddata () vastaa tietojen lähettämisestä.

ThingSpeak.setField (1, float (linear_velocity_kmh)) - Lähetä nopeustiedot kanavani 1. kentälle

ThingSpeak.setField (2, float (wind_Direction_Angle)) - Lähetä osoitetiedot kanavani kenttään2

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Lähetä kanavalle myChannelNumber, jossa kirjallinen myWriteAPIKey API on merkitty TS: llä. TS loi nämä tiedot, kun luot tiliäsi ja kanavaasi.

Yllä olevista kuvista näet, kuinka ThingSpeak näyttää vastaanotetut tiedot.

Tästä linkistä pääset käsiksi projektini tietoihin ThingSpeakin julkisella kanavalla.

Vaihe 5: Päämuuttujat

tuulen siiven parametrit

  • MUX_A D5 - mux pi A - Nodemcu -nasta D5
  • MUX_B D4 - mux -tappi B - Nodemcu -nasta D4
  • MUX_C D3 - mux -nasta C - Nodemcu -nasta D3
  • READPIN 0 - Analoginen tulo NodeMcu = A0
  • NO_PINS 8 - mux -nastojen määrä
  • val [NO_PINS] - portit 0-7 muxista
  • wind_Direction_Angle - Tuulen suunnan kulma
  • Merkkijono windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenaalit, vakuudet ja lisävakuudet
  • 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} - kulmat kumpaankin suuntaan
  • Numero [16] [NO_PINS] - Suuntamatriisi
  • muxABC [8] [3] - ABC -mux -yhdistelmät

tuulimittarin parametrit

  • rpmcount - laske kuinka monta täydellistä kierrosta tuulimittari teki annetussa ajassa
  • timemeasure = 25.00 - mittausaika sekunteina
  • timetoSleep = 1 - Nodemcu -herätysaika minuutteina
  • sleepTime = 15 - aika nukkua minuutteina
  • rpm, rps - kiertotaajuudet (kierrosta minuutissa, kierrosta sekunnissa)
  • säde - metriä - tuulimittarin siiven pituuden mitta
  • lineaarinen nopeus - lineaarinen nopeus m/seg
  • linear_velocity_kmh - lineaarinen nopeus km/h
  • omega - säteittäinen nopeus rad/seg

Alta löydät täydellisen luonnoksen. Luo uusi kansio tietokoneen Arduino -kansioon, jolla on sama nimi kuin pääohjelmalla (Anemometer_Instructables), ja laita ne kaikki yhteen.

Kirjoita wifi -verkon tiedot ja ThingSpeak ID ja API Writer Key -osa kohtaan Credentials.h ja tallenna. Lataa Nodemcuun ja siinä kaikki.

Järjestelmän toiminnan testaamiseksi suosittelen hyvää pyörivää tuuletinta.

Jos haluat käyttää tietoja matkapuhelimella, lataa ThingView -niminen IOS- tai Android -sovellus, joka on onneksi edelleen ilmainen.

Määritä tilisi asetukset ja olet valmis näkemään kotisi tuuliolosuhteet missä tahansa.

Jos sinulla on kiinnostusta, käytä ThingSpeak Channel ID -kanavaani: 438851, joka on julkinen ja sieltä löydät taloni tuulen ja suunnan mittaukset.

Toivon todella, että sinulla on hauskaa.

Jos sinulla on epäilyksiä, älä epäröi ottaa minuun yhteyttä.

Terveiset

Suositeltava: