Përmbajtje:

Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer: 5 hapa (me fotografi)
Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer: 5 hapa (me fotografi)

Video: Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer: 5 hapa (me fotografi)

Video: Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer: 5 hapa (me fotografi)
Video: 90CM-CUBE PLANTED AQUARIUM WITH AN AWESOME 360 VIEW 2024, Nëntor
Anonim
Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer
Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer
Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer
Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëza në Nodemcu - Pjesa 2 - Softuer

Prezantimi

Ky është vazhdimi i postimit të parë "Si të ndërtoni një anemometër tuaj duke përdorur çelsat e kallamishteve, sensorin e efektit Hall dhe disa copëzime në Nodemcu - Pjesa 1 - Pajisje fizike" - ku unë tregoj se si të montoni pajisjet e matjes së shpejtësisë dhe drejtimit të erës. Këtu do të shfrytëzojmë softuerin e kontrollit të matjes i krijuar për t’u përdorur në një Nodemcu duke përdorur Arduino IDE.

Përshkrimi i projektit

Në postimin e mëparshëm, pajisjet e armatosura dhe të lidhura me Nodemcu janë në gjendje të matin shpejtësinë dhe drejtimin e erës. Softueri i kontrollit u krijua për të lexuar rrotullimin e anemometrit për një periudhë kohe, për të llogaritur shpejtësinë lineare, për të lexuar drejtimin në të cilin është korsia, për të treguar rezultatet në OLED, për të publikuar rezultatet në ThingSpeak dhe për të fjetur për 15 minuta. matja tjetër.

Përgjegjësia: Ky anemometër nuk duhet të përdoret për qëllime profesionale. Shtë vetëm për përdorim akademik ose shtëpiak.

Shënim: Anglishtja nuk është gjuha ime natyrore. Nëse gjeni gabime gramatikore që ju pengojnë të kuptoni projektin, ju lutem më njoftoni për t'i korrigjuar ato. Shume faleminderit.

Hapi 1: Instalimi i bordeve dhe bibliotekave Arduino IDE, ESP8266 dhe llogaria juaj ThingSpeak

Instalimi i bordeve dhe bibliotekave Arduino IDE, ESP8266 dhe llogaria juaj ThingSpeak
Instalimi i bordeve dhe bibliotekave Arduino IDE, ESP8266 dhe llogaria juaj ThingSpeak
Instalimi i bordeve dhe bibliotekave Arduino IDE, ESP8266 dhe llogaria juaj ThingSpeak
Instalimi i bordeve dhe bibliotekave Arduino IDE, ESP8266 dhe llogaria juaj ThingSpeak

Instalimi i Arduino IDE dhe Nodemcu

Nëse nuk e keni instaluar kurrë IDE -në Arduino, ju lutemi lexoni tutorialin në lidhjen - Si të instaloni Arduino IDE - ku mund të gjeni udhëzimet e plota.

Hapi tjetër, për të instaluar tabelën Nodemcu përdorni këtë udhëzues nga Magesh Jayakumar Instructables i cili është shumë i plotë. Si të instaloni Nodemcu no Arduino IDE

Instalimi i bibliotekave

Hapi tjetër ju duhet të instaloni bibliotekat që përdor skica. Ato janë të zakonshme dhe mund të ndiqni hapat e treguar më poshtë.

Biblioteka ThingSpeak -

Biblioteka ESP8266 -

Krijimi i një llogarie ThingSpeak

Për të përdorur ThingSpeak (https://thingspeak.com/) duhet të krijoni një llogari (është ende falas për një numër të caktuar ndërveprimesh) ku mund të ruani të dhënat e matura në anemometrin tuaj dhe të monitoroni kushtet e erës në shtëpinë tuaj, edhe përmes celularit. Duke përdorur ThingSpeak, ju mund t'i jepni publikut akses në të dhënat tuaja të grumbulluara për këdo që është i interesuar. Ky është një avantazh i mirë i ThingSpeak. Hyni në faqen kryesore dhe ndiqni hapat për të krijuar llogarinë tuaj.

Pasi të krijohet llogaria, futni këtë tutorial - ThingSpeak Getting Started - për të krijuar kanalet tuaja. Prettyshtë shpjeguar mjaft mirë. Si përmbledhje, ju duhet të krijoni një kanal ku të dhënat do të ruhen. Ky kanal ka një ID dhe një API kryesore që duhet të referohen në skicë sa herë që dëshironi të regjistroni të dhëna. ThingSpeak do të ruajë të gjitha të dhënat në një bankë dhe do t'i tregojë ato çdo herë që të hyni në llogarinë tuaj, në mënyrën që keni konfiguruar.

Hapi 2: Eksplorimi i Skicës

Eksplorimi i Skicës
Eksplorimi i Skicës
Eksplorimi i Skicës
Eksplorimi i Skicës

Diagrami i rrjedhës

Në diagram, ju mund të kuptoni fluksogramin e skicës. Kur zgjoheni (lidhni) Nodemcu, ai do të lidhet me rrjetin tuaj Wi-Fi, parametrat e të cilit i keni konfiguruar dhe do të filloni të numëroni 1 minutë kohë për të kryer matjet. Së pari, do të numërojë rrotullimet e anemometrit për 25 sekonda, llogarisni shpejtësinë lineare dhe lexoni drejtimin e erës. Rezultatet janë treguar në OLED. Bëni përsëri të njëjtat hapa dhe për këtë lexim të dytë, ai do të transmetohet në ThingSpeak.

Pastaj Nodemcu fle për 15 minuta për të kursyer baterinë. Ndërsa jam duke përdorur një panel të vogël diellor është e domosdoshme që ta bëj këtë. Nëse jeni duke përdorur një burim 5V ju mund të modifikoni programin në mënyrë që të mos flejë dhe të vazhdoni të matni të dhënat.

Struktura e programeve

Në diagram, ju mund të shihni strukturën e skicës.

Anemometër_Instrukturues

Shtë programi kryesor që ngarkon bibliotekat, fillon variablat, kontrollon ndërprerjen e bashkëngjitjes, thërret të gjitha funksionet, llogarit shpejtësinë e erës, përcakton drejtimin e tij dhe e vë në gjumë.

komunikimet

Lidhni WiFi dhe dërgoni të dhënat në ThingSpeak.

letrat kredenciale.h

Çelësat e rrjetit tuaj WiFi dhe identifikuesit e llogarisë tuaj në ThingSpeak. Këtu do të ndryshoni ID -të dhe çelësat tuaj të çelësave.

përcakton.h

Ai përmban të gjitha ndryshoret e programit. Këtu mund të ndryshoni kohën e leximit ose sa kohë duhet të flejë nodemcu.

funksione

Ai përmban funksionet për të kombinuar parametrat dhe lexuar multiplexerin, si dhe funksionin për të lexuar rrotullimet e anemometrit.

oledDisplay

Shfaqni në ekran rezultatet e shpejtësisë dhe drejtimit të erës.

Hapi 3: Shpjegime Rreth…

Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…
Shpjegime Rreth…

Bashkangjit Ndërprerjen

Rrotullimi i anemometrit matet me funksionin attachInterrupt () (dhe detachInterrupt ()) në GPIO 12 (pin D6) të Nodemcu (Ka veçori të ndërprerjes në kunjat e tij D0-D8).

Ndërprerjet janë ngjarje ose kushte që shkaktojnë që mikrokontrolluesi të ndalojë ekzekutimin e detyrës që po kryen, të punojë përkohësisht në një detyrë tjetër dhe të kthehet në detyrën fillestare.

Ju mund të lexoni detajet e funksionit në lidhjen për tutorialin e Arduino. Shihni attachInterrupt ().

Sintaksa: attachInterrupt (pin, funksioni i thirrjes, lloji/mënyra e ndërprerjes);

pin = D6

funksioni i kthimit të thirrjes = rpm_anemometer - numëron çdo impuls në një ndryshore.

lloji/mënyra e ndërprerjes = RISING - ndërpritet kur kunja shkon nga e ulët në të lartë.

Në secilin puls të prodhuar nga magneto në sensorin Hall, kunja shkon nga e ulët në të lartë dhe funksioni i numërimit aktivizohet dhe përmblidhet pulsi në një ndryshore, gjatë 25 sekondave të përcaktuara. Pasi të ketë mbaruar koha, numëruesi është i shkëputur (detachInterrupt ()) dhe rutina llogarit shpejtësinë ndërsa është e shkëputur.

Llogaritja e shpejtësisë së erës

Pasi të jetë përcaktuar se sa rrotullime dha anemometri në 25 sekonda, ne llogarisim shpejtësinë.

  • RADIO është matja nga aksi qendror i anemometrit në majë të topit të ping pongut. Duhet ta keni matur tuajin shumë mirë - (shihni atë në diagramin që thotë 10 cm).
  • RPS (rrotullimet në sekondë) = rrotullimet / 25 sekonda
  • RPM (rrotullimet në minutë) = RPS * 60
  • OMEGA (shpejtësia këndore - radianë në sekondë) = 2 * PI * RPS
  • Shpejtësia_Linare (metra për sekondë) = OMEGA * RADIO
  • Linear_Velocity_kmh (Km në orë) = 3.6 * Linear_Velocity dhe kjo është ajo që do të dërgohet në ThingSpeak.

Lexoni drejtimin e korsisë së erës

Për të lexuar pozicionin e korsisë së erës për të përcaktuar drejtimin e erës, programi dërgon sinjale të ulëta dhe të larta në multiplexer me të gjitha kombinimet e parametrave A, B, C (matrica muxABC) dhe prisni për të marrë rezultatin në pin A0 që mund të jetë çdo tension midis 0 dhe 3.3V. Kombinimet tregohen në diagram.

Për shembull, kur C = 0 (i ulët), B = 0 (i ulët), A = 0 (i ulët) multiplexeri i jep të dhënat e pin 0 dhe dërgon sinjalin në A0 që lexohet nga Nodemcu; nëse C = 0 (e ulët), B = 0 (e ulët), A = 1 (e lartë) multiplexeri do t’ju dërgojë të dhënat e pin 1 e kështu me radhë, derisa të përfundojë leximi i 8 kanaleve.

Meqenëse sinjali është analog, programi shndërrohet në dixhital (0 ose 1), nëse voltazhi është më i vogël ose i barabartë me 1.3V sinjali është 0; nëse është më i madh se 1.3V sinjali është 1. Vlera 1.3V është arbitrare dhe për mua, funksionoi shumë mirë. Gjithmonë ka rrjedhje të vogla të rrymës dhe kjo mbron që nuk ka pozitivë të rremë.

Këto të dhëna ruhen në një vektor val [8] që do të krahasohet me grupin e adresave si busull. Shih matricën në diagram. Për shembull, nëse vektori i marrë është [0, 0, 1, 0, 0, 0, 0, 0, 0] ai tregon në matricë drejtimin E dhe korrespondon me një kënd prej 90 gradë; nëse [0, 0, 0, 0, 0, 0, 1, 1] tregon në matricë adresën WNW dhe korrespondon me një kënd prej 292.5 gradë. N korrespondon me [1, 0, 0, 0, 0, 0, 0, 0, 0] dhe kënd prej 0 gradë.

Ajo që do të dërgohet në ThingSpeak është në kënd sepse pranon vetëm numra.

Hapi 4: Komunikimet

Komunikimet
Komunikimet
Komunikimet
Komunikimet

Si të dërgoni të dhëna në ThingSpeak

Funksioni thingspeaksenddata () është përgjegjës për dërgimin e të dhënave.

ThingSpeak.setField (1, noton (linear_velocity_kmh)) - Dërgo të dhënat e shpejtësisë në fushën 1 të kanalit tim

ThingSpeak.setField (2, noton (wind_Direction_Angle)) - Dërgo të dhënat e adresës në fushën 2 të kanalit tim

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Dërgo në kanalin tim myChannelNumber, me API të shkruar myWriteAPIKey të treguar nga TS. Këto të dhëna u krijuan nga TS kur krijoni llogarinë dhe kanalin tuaj.

Në fotografitë e mësipërme mund të shihni se si ThingSpeak tregon të dhënat e marra.

Në këtë lidhje mund të përdorni të dhënat e projektit tim në kanalin publik të ThingSpeak.

Hapi 5: Variablat kryesore

parametrat e korsisë së erës

  • MUX_A D5 - mux pi A në Nodemcu pin D5
  • MUX_B D4 - kunja mux B në pinin Nodemcu D4
  • MUX_C D3 - kunja mux C në pin Nodemcu D3
  • READPIN 0 - Hyrje analoge në NodeMcu = A0
  • NO_PINS 8 - numri i kunjave mux
  • val [NO_PINS] - portet 0 deri në 7 të mux
  • Këndi i drejtimit të erës - Këndi i drejtimit të erës
  • String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardinalë, kolateral dhe nën -kolateral
  • eraAng [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} - këndet e secilit drejtim
  • Shifra [16] [NO_PINS] - Matrica e drejtimeve
  • muxABC [8] [3] - ABC kombinime mux

parametrat e anemometrit

  • rpmcount - numëroni sa rrotullime të plota bëri anemometri në kohën e caktuar
  • masa kohore = 25.00 - koha e matjes së kohëzgjatjes në sekonda
  • timetoSleep = 1 - Koha e zgjimit të Nodemcu në minuta
  • Koha e gjumit = 15 - koha për të vazhduar të flini në minuta
  • rpm, rps - frekuencat e rrotullimit (rrotullimet në minutë, rrotullimet në sekondë)
  • rreze - metra - masa e gjatësisë së krahut anemometër
  • shpejtësia_ lineare - shpejtësia lineare në m/seg
  • shpejtësia_ lineare_kmh - shpejtësia lineare në km/orë
  • omega - shpejtësia radiale në rad/seg

Më poshtë mund të gjeni skicën e plotë. Krijoni një dosje të re në dosjen Arduino të kompjuterit tuaj me të njëjtin emër si programi kryesor (Anemometer_Instructables) dhe vendosini të gjitha së bashku.

Futni të dhënat e rrjetit tuaj wifi dhe ThingSpeak ID dhe API Writer Key në pjesën Credentials.h dhe ruani. Ngarko në Nodemcu dhe kjo është e gjitha.

Për të testuar funksionimin e sistemit unë rekomandoj një tifoz të mirë rrotullues.

Për të hyrë në të dhënat me celular, shkarkoni aplikacionin për IOS ose Android të quajtur ThingView, i cili, për fat të mirë, është akoma falas.

Konfiguroni cilësimet e llogarisë tuaj dhe do të jeni gati për të parë kushtet e erës në shtëpinë tuaj kudo që të jeni.

Nëse keni interes, hyni në kanalin tim të ThingSpeak Channel ID: 438851, i cili është publik dhe atje do të gjeni matjet e erës dhe drejtimit në shtëpinë time.

Unë me të vërtetë shpresoj që të argëtoheni.

Nëse keni ndonjë dyshim mos hezitoni të më kontaktoni.

Të fala

Recommended: