Sisällysluettelo:
- Vaihe 1: Arduino IDE-, ESP8266 -levyjen ja -kirjastojen sekä ThingSpeak -tilisi asentaminen
- Vaihe 2: Luonnoksen tutkiminen
- Vaihe 3: Selitykset…
- Vaihe 4: Viestintä
- Vaihe 5: Päämuuttujat
Video: Kuinka rakentaa oma tuulimittari Reed -kytkimillä, Hall -tehosteanturilla ja joillakin Nodemcu -palasilla - Osa 2 - Ohjelmisto: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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…
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ä
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:
Kuinka rakentaa oma pöytätietokone: 20 vaihetta
Kuinka rakentaa oma pöytätietokone: Halusitpa rakentaa oman tietokoneesi videopelejä, graafista suunnittelua, videon editointia tai jopa vain huvia varten, tämä yksityiskohtainen opas näyttää täsmälleen, mitä tarvitset oman henkilökohtaisen tietokoneesi rakentamiseen
Kuinka rakentaa oma NRF24L01+pa+lna -moduuli: 5 vaihetta
Oman NRF24L01+pa+lna -moduulin rakentaminen: Nrf24L01 -pohjainen moduuli on ollut erittäin suosittu, koska se on helppo toteuttaa langattomissa viestintäprojekteissa. Moduuli löytyy alle 1 $ PCB -painetulla versiolla tai monopoli -antennilla. Näiden halpojen moduulien ongelma on, että niissä on
Kuinka rakentaa oma suihkumoottori: 10 vaihetta (kuvilla)
Kuinka rakentaa oma suihkumoottori: Sinun ei tarvitse olla Jay Leno omistaaksesi suihkukäyttöisen moottoripyörän, ja näytämme sinulle, miten voit tehdä oman suihkutekniikkasi täällä voimaantuneiden ajoneuvojesi ohjaamiseksi. Tämä on käynnissä oleva projekti, ja verkkosivustoltamme löytyy paljon lisätietoa
Kuinka saada Xbox -ohjain vilkkumaan joillakin ledeillä, mutta se ei tärise enää: 4 vaihetta
Kuinka saada Xbox -ohjaimesi vilkkumaan joidenkin ledien kanssa, mutta se ei tärise enää: KAUKOSÄÄDIN VILKKUU, MUTTA SE EI VÄRISI ENEMMÄN KOSKA TÄMÄSSÄ PROJEKTISSA, JOITA OTETAAN MOOTTORI
Kuinka rakentaa kitarakaiutinlaatikko tai rakentaa kaksi stereoosi: 17 vaihetta (kuvilla)
Kuinka rakentaa kitarakaiutinlaatikko tai rakentaa kaksi stereollesi: Halusin uuden kitarakaiuttimen rakentamani putkivahvistimen kanssa. Kaiutin pysyy poissa kaupastani, joten sen ei tarvitse olla mitään liian erikoista. Tolex -päällyste voi vaurioitua liian helposti, joten ruiskutin vain ulkopuolen mustalle kevyen hiekan jälkeen