Talaan ng mga Nilalaman:
- Hakbang 1: Pag-install ng Arduino IDE, ESP8266 Mga Lupon at Aklatan at ang Iyong ThingSpeak Account
- Hakbang 2: Pagtuklas sa Sketch
- Hakbang 3: Mga Paliwanag Tungkol sa…
- Hakbang 4: Mga Komunikasyon
- Hakbang 5: Pangunahing Mga variable
Video: Paano Bumuo ng Iyong Sariling Anemometer Gamit ang Reed Switches, Hall Effect Sensor at Ilang Mga Points sa Nodemcu - Bahagi 2 - Software: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Panimula
Ito ang sumunod na pangyayari sa unang post na "Paano Bumuo ng Iyong Sariling Anemometer Gamit ang Reed Switches, Hall Effect Sensor at Ilang Mga Points sa Nodemcu - Bahagi 1 - Hardware" - kung saan ipinapakita ko kung paano tipunin ang bilis ng hangin at mga aparato sa pagsukat ng direksyon. Sasamantalahin namin dito ang software ng pagsukat sa pagsukat na idinisenyo para magamit sa isang Nodemcu gamit ang Arduino IDE.
Paglalarawan ng Proyekto
Sa nakaraang post, ang mga aparato na armado at konektado sa Nodemcu ay maaaring masukat ang bilis at direksyon ng hangin. Ang control software ay dinisenyo upang basahin ang pag-ikot ng anemometer para sa isang tagal ng panahon, kalkulahin ang tulin na tulin, basahin ang direksyon kung saan ang vane ay, ipakita ang mga resulta sa OLED, i-publish ang mga resulta sa ThingSpeak at matulog ng 15 minuto hanggang sa ang susunod na pagsukat.
Pagwawaksi: Ang anemometer na ito ay hindi dapat gamitin para sa mga propesyonal na layunin. Para lamang ito sa paggamit sa akademiko o tahanan.
Tandaan: Hindi Ingles ang aking likas na wika. Kung makakita ka ng mga error sa gramatika na pumipigil sa iyo na maunawaan ang proyekto, mangyaring ipaalam sa akin upang maitama ang mga ito. Maraming salamat.
Hakbang 1: Pag-install ng Arduino IDE, ESP8266 Mga Lupon at Aklatan at ang Iyong ThingSpeak Account
Pag-install ng Arduino IDE at Nodemcu
Kung hindi mo pa na-install ang IDE ang Arduino mangyaring basahin ang tutorial sa link - Paano i-install ang Arduino IDE - kung saan mo mahahanap ang kumpletong mga tagubilin.
Susunod na hakbang, upang mai-install ang board ng Nodemcu gamitin ang tutorial na ito mula sa Magesh Jayakumar Instructables na kung saan ay napaka kumpleto. Paano i-install ang Nodemcu no Arduino IDE
Pag-install ng Mga Aklatan
Susunod na hakbang ay dapat mong i-install ang mga aklatan na ginagamit ng sketch. Karaniwan ang mga ito at maaari mong sundin ang mga hakbang na ipinakita sa ibaba.
ThingSpeak Library -
ESP8266 Library -
Lumilikha ng ThingSpeak Account
Upang magamit ang ThingSpeak (https://thingspeak.com/) dapat kang lumikha ng isang account (libre pa rin ito para sa isang tiyak na bilang ng mga pakikipag-ugnayan) kung saan maaari mong i-save ang data na sinusukat sa iyong anemometer at subaybayan ang mga kondisyon ng hangin sa iyong tahanan, kahit sa pamamagitan ng cellphone. Sa pamamagitan ng paggamit ng ThingSpeak, maaari mong bigyan ang pampublikong pag-access sa iyong nakolektang data sa sinumang interesado. Ito ay isang mabuting bentahe ng ThingSpeak. Ipasok ang homepage at sundin ang mga hakbang upang likhain ang iyong account.
Kapag nilikha ang account, ipasok ang tutorial na ito - ThingSpeak Getting Started - upang likhain ang iyong mga channel. Medyo napaliwanag ito nang maayos. Bilang buod, dapat kang lumikha ng isang channel kung saan maiimbak ang data. Ang channel na ito ay may isang ID at isang Key API na dapat na sanggunian sa sketch tuwing nais mong magtala ng data. Itatago ng ThingSpeak ang lahat ng data sa isang bangko at ipapakita sa kanila sa tuwing maa-access mo ang iyong account, sa paraang na-configure mo.
Hakbang 2: Pagtuklas sa Sketch
Flowchart
Sa diagram, maaari mong maunawaan ang fluxogram ng sketch. Kapag gisingin mo (link) ang Nodemcu, makakonekta ito sa iyong Wi-Fi network, na ang mga parameter ay na-configure mo at nagsisimulang magbilang ng 1 minuto ng oras upang maisagawa ang mga sukat. Una, bibilangin nito ang mga pag-ikot ng anemometer sa loob ng 25 segundo, kalkulahin ang linear na tulin at basahin ang direksyon ng hangin. Ang mga resulta ay ipinapakita sa OLED. Gawin muli ang parehong mga hakbang at para sa pangalawang pagbabasa na ito, magpapadala ito sa ThingSpeak.
Pagkatapos ay natutulog si Nodemcu ng 15 minuto upang mai-save ang baterya. Habang gumagamit ako ng isang maliit na solar panel kinakailangan na gawin ko ito. Kung gumagamit ka ng isang mapagkukunan ng 5V maaari mong baguhin ang programa upang hindi ito makatulog at panatilihin ang pagsukat ng data.
Istraktura ng mga programa
Sa diagram, maaari mong makita ang istraktura ng sketch.
Anemometer_Instructables
Ito ang pangunahing programa na naglo-load ng mga aklatan, sinisimulan ang mga variable, kinokontrol ang nakakagambala, tinawag ang lahat ng mga pag-andar, kinakalkula ang bilis ng hangin, natutukoy ang direksyon nito at natutulog ito.
mga komunikasyon
Ikonekta ang WiFi at ipadala ang data sa ThingSpeak.
mga kredensyal.h
Ang mga susi ng iyong WiFi network at ang mga identifier ng iyong account sa ThingSpeak. Dito mo babaguhin ang iyong mga Keys ID at API.
tumutukoy.h
Naglalaman ito ng lahat ng mga variable ng programa. Dito mo mababago ang mga oras ng pagbabasa o kung gaano katagal dapat makatulog ang nodemcu.
pagpapaandar
Naglalaman ito ng mga pag-andar upang pagsamahin ang mga parameter at basahin ang multiplexer pati na rin ang pagpapaandar upang mabasa ang mga pag-ikot ng anemometer.
oledDisplay
Ipakita ang mga resulta sa screen ng bilis at direksyon ng hangin.
Hakbang 3: Mga Paliwanag Tungkol sa…
Maglakip ng Nakagambala
Ang pag-ikot ng anemometer ay sinusukat ng pagpapaandar na attachInterrupt () (at detachInterrupt ()) sa GPIO 12 (pin D6) ng Nodemcu (Mayroon itong makagambala na tampok sa mga D0-D8 na pin).
Ang mga pagkagambala ay mga kaganapan o kundisyon na sanhi ng microcontroller upang ihinto ang pagpapatupad ng gawain na ginagawa nito, pansamantalang magtrabaho sa ibang gawain at bumalik sa paunang gawain.
Maaari mong basahin ang detalye ng pagpapaandar sa link para sa tutorial ng Arduino. Tingnan ang attachInterrupt ().
Syntax: attachInterrupt (pin, function ng callback, makagambala na uri / mode);
pin = D6
function ng callback = rpm_anemometer - binibilang ang bawat pulso sa isang variable.
makagambala uri / mode = RISING - makagambala kapag ang pin ay napupunta mula sa mababa hanggang sa mataas.
Sa bawat pulso na ginawa ng magneto sa sensor ng Hall, ang pin ay napupunta mula mababa hanggang mataas at ang pag-andar ng pagbibilang ay pinapagana at na-summed ang pulso sa isang variable, habang itinatag ang 25 segundo. Kapag nag-expire na ang oras, ang counter ay naka-disconnect (detachInterrupt ()) at kinakalkula ng nakagawian ang bilis habang naka-disconnect.
Kinakalkula ang Bilis ng Hangin
Kapag natukoy kung gaano karaming mga pag-ikot ang ibinigay ng anemometer sa loob ng 25 segundo, kinakalkula namin ang bilis.
- Ang RADIO ay ang pagsukat mula sa gitnang axis ng anemometer hanggang sa dulo ng bola ng ping pong. Dapat na nasukat mo ng mabuti - (tingnan iyon sa diagram na nagsasabing 10 cm).
- RPS (pag-ikot bawat segundo) = pag-ikot / 25 segundo
- RPM (pag-ikot bawat minuto) = RPS * 60
- OMEGA (anggular na tulin - radian bawat segundo) = 2 * PI * RPS
- Linear_Velocity (metro bawat segundo) = OMEGA * RADIO
- Linear_Velocity_kmh (Km bawat oras) = 3.6 * Linear_Velocity at ito ang ipapadala sa ThingSpeak.
Basahin ang direksyon ng wind vane
Upang mabasa ang posisyon ng wind vane upang matukoy ang direksyon ng hangin ang programa ay nagpapadala ng mababa at mataas na signal sa multiplexer kasama ang lahat ng mga kumbinasyon ng mga parameter na A, B, C (muxABC matrix) at maghintay na matanggap sa pin A0 ang resulta na maaaring maging anumang boltahe sa pagitan ng 0 at 3.3V. Ang mga kumbinasyon ay ipinapakita sa diagram.
Halimbawa, kapag ang C = 0 (mababa), B = 0 (mababa), A = 0 (mababa) ay binibigyan ito ng multiplexer ng data ng pin 0 at ipinapadala ang signal sa A0 na nabasa ng Nodemcu; kung ang C = 0 (mababa), B = 0 (mababa), A = 1 (taas) ay magpapadala sa iyo ang multiplexer ng data ng pin 1 at iba pa, hanggang sa makumpleto ang pagbabasa ng 8 mga channel.
Tulad ng signal ay analog, ang programa ay nagbabago sa digital (0 o 1), kung ang boltahe ay mas mababa sa o katumbas ng 1.3V ang signal ay 0; kung ito ay mas malaki kaysa sa 1.3V ang signal ay 1. Ang halaga ng 1.3V ay arbitrary at para sa akin, gumana ito nang napakahusay. Palaging may maliliit na tagas ng kasalukuyang at pinoprotektahan na walang maling positibo.
Ang data na ito ay nakaimbak sa isang vector val [8] na ihahambing sa array ng address bilang compass. Tingnan ang matrix sa diagram. Halimbawa, kung ang natanggap na vector ay [0, 0, 1, 0, 0, 0, 0, 0, 0] ipinapahiwatig nito sa matrix ang direksyon na E at tumutugma sa isang anggulo ng 90 degree; kung ang [0, 0, 0, 0, 0, 0, 1, 1] ay nagpapahiwatig sa matrix ng WNW address at tumutugma sa isang anggulo ng 292.5 degree. Ang N ay tumutugma sa [1, 0, 0, 0, 0, 0, 0, 0, 0] at angulo ng 0 degree.
Ang ipapadala sa ThingSpeak ay nasa anggulo sapagkat ang mga numero lamang ang tinatanggap nito.
Hakbang 4: Mga Komunikasyon
Paano magpadala ng data sa ThingSpeak
Ang function na bagaypeaksenddata () ay responsable para sa pagpapadala ng data.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Ipadala ang data ng tulin sa field1 ng aking channel
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Ipadala ang data ng address sa field2 ng aking channel
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Ipadala sa aking channel myChannelNumber, kasama ang nakasulat na myWriteAPIKey API na ipinahiwatig ng TS. Ang data na ito ay nilikha ng TS noong lumilikha ng iyong account at channel.
Sa mga larawan sa itaas makikita mo kung paano ipinapakita ng ThingSpeak ang natanggap na data.
Sa link na ito maaari mong ma-access ang data ng aking proyekto sa pampublikong channel ng ThingSpeak.
Hakbang 5: Pangunahing Mga variable
mga parameter ng wind vane
- MUX_A D5 - mux pi A hanggang Nodemcu pin D5
- MUX_B D4 - mux pin B sa Nodemcu pin D4
- MUX_C D3 - mux pin C sa Nodemcu pin D3
- READPIN 0 - Pag-input ng analog sa NodeMcu = A0
- NO_PINS 8 - bilang ng mga mux pin
- val [NO_PINS] - mga port 0 hanggang 7 ng mux
- wind_Direction_Angle - Angle ng direksyon ng hangin
- String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - mga cardenal, collateral at sub-collateral
- 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} - mga anggulo ng bawat direksyon
- Digit [16] [NO_PINS] - Mga Direksyon Matrix
- muxABC [8] [3] - Mga kumbinasyon ng mux ng ABC
mga parameter ng anemometer
- rpmcount - bilangin kung gaano karaming buong pag-ikot ang ginawa ng anemometer sa itinakdang oras
- timemeasure = 25.00 - pagsukat ng oras ng durantion sa mga segundo
- timetoSleep = 1 - Nodemcu oras ng paggising sa ilang minuto
- oras ng pagtulog = 15 - oras upang mapanatili ang pagtulog sa ilang minuto
- rpm, rps - mga frequency ng pag-ikot (pag-ikot bawat minuto, pag-ikot bawat segundo)
- radius - metro - ang sukat ng haba ng pakpak ng anemometer
- linear_velocity - linya ng tulin sa m / seg
- linear_velocity_kmh - linya ng tulin sa km / h
- omega - bilis ng radial sa rad / seg
Sa ibaba makikita mo ang kumpletong sketch. Lumikha ng isang bagong folder sa Arduino folder ng iyong computer na may parehong pangalan bilang pangunahing programa (Anemometer_Instructables) at isama silang lahat.
Ipasok ang data ng iyong wifi network at ang ThingSpeak ID at API Writer Key sa bahaging Mga Kredensyal.h at i-save. Mag-upload sa Nodemcu at iyon lang.
Upang subukan ang pagpapatakbo ng system inirerekumenda ko ang isang mahusay na umiikot na fan.
Upang ma-access ang data sa pamamagitan ng mobile phone, i-download ang application para sa IOS o Android na tinatawag na ThingView, na sa kabutihang palad, libre pa rin.
I-configure ang mga setting ng iyong account at handa ka nang makita ang iyong mga kondisyon sa hangin sa bahay nasaan ka man.
Kung mayroon kang interes, i-access ang aking ThingSpeak Channel ID channel: 438851, na pampubliko at doon mo mahahanap ang mga sukat ng hangin at direksyon sa aking bahay.
Sana talaga masaya ka.
Kung mayroon kang alinlangan huwag mag-atubiling makipag-ugnay sa akin.
Pagbati
Inirerekumendang:
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: Tulad ng maraming mga tao sa tingin mo Arduino ay isang napakahusay na solusyon upang gawin ang automation ng bahay at robotic! Ngunit sa term ng komunikasyon ang Arduinos ay may serial link lamang. Nagtatrabaho ako sa isang robot na kailangang permanenteng konektado sa isang server na nagpapatakbo ng ar
Paano Gumamit ng Ilang Ilang piraso ng Kahoy upang Magtipon sa isang Maganda at Napakapangyarihang Wood Robot Arm: 10 Mga Hakbang
Paano Gumamit ng Ilang Ilang piraso ng Kahoy upang Magtipon sa isang Maganda at Napakapangyarihang Wood Robot Arm: Ang pangalan ng braso ng robot ay WoodenArm. Mukha itong napaka cute! Kung nais mo ng karagdagang detalye tungkol sa WoodenArm, mangyaring mag-refer sa www.lewansoul.com Ngayon ay maaari kaming gumawa ng isang pagpapakilala tungkol sa WoodenArm, ilipat natin ito
CityCoaster - Bumuo ng Iyong Sariling Augmented Reality Coaster para sa Iyong Negosyo (TfCD): 6 na Hakbang (na may Mga Larawan)
CityCoaster - Bumuo ng Iyong Sariling Augmented Reality Coaster para sa Iyong Negosyo (TfCD): Isang lungsod sa ilalim ng iyong tasa! Ang CityCoaster ay isang ipinanganak na proyekto na nag-iisip tungkol sa isang produkto para sa Rotterdam the Hague Airport, na maaaring ipahayag ang pagkakakilanlan ng lungsod, na inaaliw ang mga kliyente ng silid sa silid na may pinalawak na katotohanan. Sa isang kapaligiran tulad ng isang
Paano Bumuo ng Iyong Sariling Jet Engine: 10 Hakbang (na may Mga Larawan)
Paano Bumuo ng Iyong Sariling Jet Engine: Hindi mo kailangang maging Jay Leno upang pagmamay-ari ng isang motorsiklo na pinapatakbo ng jet, at ipapakita namin sa iyo kung paano gumawa ng iyong sariling jet enigne dito mismo upang mapagana ang iyong mga wacky na sasakyan. Ito ay isang patuloy na proyekto, at maraming karagdagang impormasyon ay magagamit sa aming website
Paano Bumuo ng isang Guitar Speaker Box o Bumuo ng Dalawang para sa Iyong Stereo .: 17 Mga Hakbang (na may Mga Larawan)
Paano Bumuo ng isang Guitar Speaker Box o Bumuo ng Dalawang para sa Iyong Stereo .: Nais kong isang bagong speaker ng gitara na pumunta sa tubo na itinatayo ko. Ang tagapagsalita ay mananatili sa aking tindahan kaya't hindi ito kailangang maging anumang espesyal. Ang takip ng Tolex ay maaaring napakadaling masira kaya't sinabog ko lang ang itim sa labas pagkatapos ng isang magaan na buhangin