Sisukord:
- Samm: Arduino IDE, ESP8266 tahvlite ja raamatukogude ning oma ThingSpeaki konto installimine
- 2. samm: visandi uurimine
- Samm: selgitused…
- 4. samm: suhtlemine
- Samm: peamised muutujad
Video: Kuidas luua oma anemomeetrit pilliroo lülitite, Halli efekti anduri ja mõne Nodemcu sissekande abil - 2. osa - Tarkvara: 5 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Sissejuhatus
See on järg esimesele postitusele "Kuidas ehitada oma anemomeetrit, kasutades pilliroo lüliteid, saaliefekti andurit ja mõningaid sissekannet Nodemcu - 1. osa - riistvara" - kus näitan, kuidas tuule kiiruse ja suuna mõõtmise seadmeid kokku panna. Siin kasutame mõõtmiste juhtimistarkvara, mis on mõeldud kasutamiseks Arduino IDE abil Nodemcus.
Projekti kirjeldus
Eelmises postituses on Nodemcuga relvastatud ja ühendatud seadmed võimelised mõõtma tuule kiirust ja suunda. Juhtimistarkvara oli mõeldud anemomeetri pöörlemise lugemiseks teatud aja jooksul, lineaarse kiiruse arvutamiseks, labade suuna lugemiseks, OLED -i tulemuste kuvamiseks, tulemuste avaldamiseks ThingSpeak'is ja magamiseks 15 minutit, kuni järgmine mõõtmine.
Vastutusest loobumine: seda anemomeetrit ei tohiks kasutada professionaalsetel eesmärkidel. See on mõeldud ainult akadeemiliseks või koduseks kasutamiseks.
Märkus: inglise keel pole minu loomulik keel. Kui leiate grammatilisi vigu, mis takistavad teil projektist aru saada, andke mulle teada, et need parandada. Tänan sind väga.
Samm: Arduino IDE, ESP8266 tahvlite ja raamatukogude ning oma ThingSpeaki konto installimine
Arduino IDE ja Nodemcu installimine
Kui te pole kunagi Arduino IDE -d installinud, lugege õpetust lingilt - Kuidas Arduino IDE installida - kust leiate täielikud juhised.
Järgmine samm Nodemcu plaadi installimiseks kasutage seda õpetust Magesh Jayakumar Instructables'ist, mis on väga täielik. Kuidas installida Nodemcu no Arduino IDE
Raamatukogude installimine
Järgmise sammuna peate installima visandis kasutatavad teegid. Need on tavalised ja saate järgida alltoodud samme.
ThingSpeaki raamatukogu -
ESP8266 raamatukogu -
ThingSpeaki konto loomine
ThingSpeaki (https://thingspeak.com/) kasutamiseks peate looma konto (see on teatud arvu interaktsioonide jaoks endiselt tasuta), kuhu saate salvestada anemomeetris mõõdetud andmed ja jälgida oma kodu tuuleolusid. isegi mobiiltelefoni kaudu. ThingSpeaki kasutades saate anda huvilistele avaliku juurdepääsu oma kogutud andmetele. See on ThingSpeaki hea eelis. Sisestage koduleht ja järgige oma konto loomise juhiseid.
Kui konto on loodud, sisestage oma kanalite loomiseks see õpetus - ThingSpeak Getting Started. See on päris hästi lahti seletatud. Kokkuvõttes peate looma kanali, kuhu andmed salvestatakse. Sellel kanalil on ID ja võtme API, millele tuleks visandis viidata iga kord, kui soovite andmeid salvestada. ThingSpeak salvestab kõik andmed panka ja kuvab need iga kord, kui oma kontole juurde pääsete, teie konfigureeritud viisil.
2. samm: visandi uurimine
Vooskeem
Diagrammil saate aru visandi fluxogrammist. Kui ärkate (linkite) Nodemcu, loob see ühenduse teie WiFi-võrguga, mille parameetrid olete konfigureerinud ja hakkab mõõtmiste tegemiseks loendama 1 minut aega. Esiteks loendab see anemomeetri pöördeid 25 sekundit, arvutage lineaarset kiirust ja loe tuule suunda. Tulemused kuvatakse OLED -il. Tehke samad toimingud uuesti ja teisel lugemisel edastatakse see ThingSpeakile.
Seejärel magab Nodemcu aku säästmiseks 15 minutit. Kuna kasutan väikest päikesepaneeli, pean seda kindlasti tegema. Kui kasutate 5 V allikat, saate programmi muuta nii, et see ei magaks, ja jätkata andmete mõõtmist.
Programmide ülesehitus
Diagrammil näete visandi struktuuri.
Anemomeeter_juhendid
See on põhiprogramm, mis laadib raamatukogud sisse, käivitab muutujad, juhib manuse katkestust, kutsub kõiki funktsioone, arvutab tuule kiiruse, määrab selle suuna ja paneb selle magama.
side
Ühendage WiFi ja saatke andmed ThingSpeaki.
volikirjad.h
WiFi -võrgu võtmed ja ThingSpeaki konto identifikaatorid. Siin saate muuta oma võtmete ID -sid ja API -sid.
määratleb.h
See sisaldab kõiki programmi muutujaid. Siin saate muuta lugemisaegu või seda, kui kaua nodemcu peaks magama.
funktsioone
See sisaldab funktsioone parameetrite ühendamiseks ja multiplekseri lugemiseks, samuti anemomeetri pöörete lugemise funktsiooni.
oledDisplay
Näidake ekraanil tuule kiiruse ja suuna tulemusi.
Samm: selgitused…
Manusta katkestus
Anemomeetri pöörlemist mõõdetakse Nodemcu GPIO 12 (tihvt D6) funktsiooni attachInterrupt () (ja detachInterrupt ()) abil (D0-D8 tihvtidel on katkestusfunktsioon).
Katkestused on sündmused või tingimused, mis põhjustavad mikrokontrolleri poolt täidetava ülesande täitmise peatamise, ajutiselt mõne muu ülesande täitmise ja lähteülesande juurde naasmise.
Funktsiooni üksikasju saate lugeda Arduino õpetuse lingilt. Vt attachInterrupt ().
Süntaks: attachInterrupt (pin, tagasihelistamise funktsioon, katkestuse tüüp/režiim);
tihvt = D6
tagasihelistamise funktsioon = rpm_anemometer - loeb iga impulsi muutujale.
katkestuse tüüp/režiim = RISING - katkestada, kui tihvt liigub madalalt kõrgele.
Iga Halli anduri magneto tekitatud impulsi korral läheb tihvt madalalt kõrgele ning loendusfunktsioon aktiveeritakse ja summeeritakse impulss muutujaga 25 sekundi jooksul. Kui aeg on möödas, lülitatakse loendur lahti (detachInterrupt ()) ja rutiin arvutab kiiruse lahtiühendamise ajal.
Tuule kiiruse arvutamine
Kui on kindlaks tehtud, mitu pööret anemomeeter 25 sekundi jooksul andis, arvutame kiiruse.
- RADIO on mõõtmine anemomeetri keskteljest kuni pingpongi palli otsani. Olete oma omad väga hästi mõõtnud - (vaadake seda 10 cm joonisel).
- RPS (pööret sekundis) = pööret / 25 sekundit
- RPM (pööret minutis) = RPS * 60
- OMEGA (nurkkiirus - radiaanid sekundis) = 2 * PI * RPS
- Lineaarne_kiirus (meetrit sekundis) = OMEGA * RADIO
- Linear_Velocity_kmh (km tunnis) = 3,6 * Linear_Velocity ja see saadetakse ThingSpeakile.
Lugege tuulelipu suunda
Tuulelaba asendi lugemiseks tuule suuna määramiseks saadab programm multiplekserile kõik parameetrite A, B, C kombinatsioonid (muxABC maatriks) madalad ja kõrged signaalid ning ootab, kuni tulemus A0 on saadud. See võib olla mis tahes pinge vahemikus 0 kuni 3,3 V. Kombinatsioonid on näidatud diagrammil.
Näiteks kui C = 0 (madal), B = 0 (madal), A = 0 (madal), annab multiplekser talle pin 0 andmed ja saadab signaali A0 -le, mida loeb Nodemcu; kui C = 0 (madal), B = 0 (madal), A = 1 (kõrge), saadab multiplekser teile pin 1. andmed ja nii edasi, kuni 8 kanali lugemine on lõpetatud.
Kuna signaal on analoog, muutub programm digitaalseks (0 või 1), kui pinge on väiksem või võrdne 1,3 V, on signaal 0; kui see on suurem kui 1,3 V, on signaal 1. Väärtus 1.3V on meelevaldne ja minu jaoks töötas see väga hästi. Voolu lekkeid on alati vähe ja see kaitseb valepositiivsete tulemuste puudumise eest.
Need andmed salvestatakse vektorisse [8], mida võrreldakse kompassina aadressimassiiviga. Vaadake diagrammi maatriksit. Näiteks kui vastuvõetud vektor on [0, 0, 1, 0, 0, 0, 0, 0, 0], näitab see maatriksis suunda E ja vastab 90 -kraadisele nurgale; kui [0, 0, 0, 0, 0, 0, 1, 1] näitab maatriksis WNW aadressi ja vastab nurgale 292,5 kraadi. N vastab [1, 0, 0, 0, 0, 0, 0, 0, 0] ja nurgale 0 kraadi.
ThingSpeakile saadetav on nurga all, kuna see aktsepteerib ainult numbreid.
4. samm: suhtlemine
Kuidas andmeid ThingSpeakile saata
Funktsioon thingspeaksenddata () vastutab andmete saatmise eest.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - saatke kiiruse andmed minu kanali 1. väljale
ThingSpeak.setField (2, float (wind_Direction_Angle)) - saatke aadressiandmed minu kanali väljale 2
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - saatke minu kanalile myChannelNumber koos kirjaliku myWriteAPIKey API -ga, mille tähistab TS. Need andmed genereeris TS teie konto ja kanali loomisel.
Ülaltoodud piltidel näete, kuidas ThingSpeak näitab saadud andmeid.
Sellel lingil pääsete juurde minu projekti andmetele ThingSpeaki avalikus kanalis.
Samm: peamised muutujad
tuulelippude parameetrid
- MUX_A D5 - mux pi A kuni Nodemcu tihvt D5
- MUX_B D4 - mux pin B kuni Nodemcu pin D4
- MUX_C D3 - mux pin C kuni Nodemcu pin D3
- READPIN 0 - NodeMcu analoogsisend = A0
- NO_PINS 8 - mux -tihvtide arv
- val [NO_PINS] - pordid 0 kuni 7 mux
- wind_Direction_Angle - tuule suuna nurk
- String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardinalid, tagatised ja alamtagatised
- 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} - iga suuna nurgad
- Number [16] [NO_PINS] - juhiste maatriks
- muxABC [8] [3] - ABC muxi kombinatsioonid
anemomeetri parameetrid
- rpmcount - loendage, mitu täispööret anemomeeter määratud aja jooksul tegi
- aja mõõtmine = 25.00 - mõõtmisaeg sekundites
- timetoSleep = 1 - Nodemcu ärkveloleku aeg minutites
- sleepTime = 15 - aeg magada minutites
- rpm, rps - pöörlemissagedused (pööret minutis, pööret sekundis)
- raadius - meetrit - anemomeetri tiiva pikkuse mõõt
- lineaarne kiirus - lineaarne kiirus m/seg
- linear_velocity_kmh - lineaarne kiirus km/h
- oomega - radiaalne kiirus rad/seg
Allpool leiate täieliku visandi. Looge oma arvuti Arduino kausta uus kaust, millel on sama nimi kui põhiprogrammil (Anemometer_Instructables) ja pange need kõik kokku.
Sisestage oma wifi võrgu andmed ning ThingSpeak ID ja API kirjutaja võti ossa Credentials.h ja salvestage. Laadige Nodemcu üles ja see on kõik.
Süsteemi töö testimiseks soovitan head pöörlevat ventilaatorit.
Mobiiltelefoniga andmetele juurde pääsemiseks laadige alla IOS -i või Androidi rakendus ThingView, mis on õnneks endiselt tasuta.
Konfigureerige oma konto seaded ja olete valmis nägema oma kodu tuuleolusid kõikjal.
Kui teil on huvi, avage minu ThingSpeak Channel ID kanal: 438851, mis on avalik ja sealt leiate minu maja tuule ja suuna mõõtmised.
Loodan väga, et teil on lõbus.
Kui teil on kahtlusi, ärge kartke minuga ühendust võtta.
Lugupidamisega
Soovitan:
Logitechi 3D Extreme Pro Halli efekti anduri teisendamine: 9 sammu
Logitechi 3D Extreme Pro Halli efekti anduri teisendus: minu juhtkangi rooli juhtimine läks välja. Proovisin potid lahti võtta ja puhastada, kuid see ei aidanud tegelikult. Nii hakkasin otsima asenduspotte ja sattusin mitme aasta tagustele veebisaitidele, mis viitavad
Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasersageduse anduri moodul: 3 sammu
Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasermõõdiku andurimoodul: Kirjeldused: see õpetus näitab teile kõigile üksikasjalikult, kuidas luua kaugusandurit, kasutades VL53L0X lasermõõdetava anduri moodulit ja Arduino UNO -d ning see töötab nagu teie taha. Järgige juhiseid ja saate sellest juhendajast aru
Kuidas luua oma esimene toiming Google'i avalehe jaoks (10 minutiga) 1. osa: 10 sammu
Kuidas luua oma esimene tegevus Google'i kodulehe jaoks (10 minutiga) 1. osa: Tere! See on esimene artiklite seeriast, mille ma kirjutan ja kus õpime, kuidas Google'is toiminguid arendada ja juurutada. Tegelikult tegelen viimaste kuude tegevustega Google'is. Olen läbi vaadanud palju artikleid, mis on saadaval
Kuidas luua oma anemomeetrit, kasutades pilliroo lüliteid, Halli efekti andurit ja mõnda Nodemcu sissekannet. - 1. osa - riistvara: 8 sammu (piltidega)
Kuidas luua oma anemomeetrit pilliroo lülitite, Halli efekti anduri ja mõne Nodemcu sissekande abil. - 1. osa - Riistvara: Sissejuhatus Kuna ma alustasin Arduino ja Maker Culture'i õpingutega, on mulle meeldinud ehitada kasulikke seadmeid, kasutades rämps- ja jääke, nagu pudelikorgid, PVC tükid, joogipurgid jne. elu igale tükile või kaaslasele
Halli efekti andur Arduino'is, kasutades Fidget Spinnerit: 3 sammu (piltidega)
Halli efekti andur Arduino -s, kasutades Fidget Spinnerit: Abstrakt töötab: -Halli efekti andur on muundur, mis muudab väljundpinget vastavalt magnetväljale. Halli efekt