Orodha ya maudhui:

Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu: Hatua 5 (na Picha)
Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu: Hatua 5 (na Picha)

Video: Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu: Hatua 5 (na Picha)

Video: Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu: Hatua 5 (na Picha)
Video: Part 05 - Our Mutual Friend Audiobook by Charles Dickens (Book 2, Chs 1-4) 2024, Juni
Anonim
Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu
Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu
Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu
Jinsi ya Kuunda Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensorer ya Athari ya Ukumbi na Baadhi ya chakavu kwenye Nodemcu - Sehemu ya 2 - Programu

Utangulizi

Huu ndio mwendelezo wa chapisho la kwanza "Jinsi ya Kujenga Anemometer yako mwenyewe Kutumia Swichi za Mwanzi, Sensor ya Athari ya Ukumbi na Vifupisho Vingine kwenye Nodemcu - Sehemu ya 1 - Vifaa" - ambapo ninaonyesha jinsi ya kukusanya kasi ya upepo na vifaa vya upimaji wa mwelekeo. Hapa tutatumia programu ya kudhibiti kipimo iliyoundwa kwa matumizi ya Nodemcu kwa kutumia IDE ya Arduino.

Maelezo ya Mradi

Katika chapisho la awali, vifaa vyenye silaha na vilivyounganishwa na Nodemcu vinaweza kupima kasi na mwelekeo wa upepo. Programu ya kudhibiti iliundwa kusoma kuzunguka kwa anemometer kwa muda, kuhesabu kasi ya mstari, kusoma mwelekeo ambao vane iko, onyesha matokeo katika OLED, kuchapisha matokeo katika ThingSpeak na kulala kwa dakika 15 hadi kipimo kinachofuata.

Kanusho: Anemometer hii haipaswi kutumiwa kwa madhumuni ya kitaalam. Ni kwa matumizi ya kielimu tu au nyumbani.

Kumbuka: Kiingereza sio lugha yangu ya asili. Ikiwa unapata makosa ya kisarufi ambayo yanakuzuia kuelewa mradi, tafadhali nijulishe kuyasahihisha. Asante sana.

Hatua ya 1: Kuweka Arduino IDE, Bodi za ESP8266 na Maktaba na Akaunti yako ya ThingSpeak

Kuweka Arduino IDE, Bodi za ESP8266 na Maktaba na Akaunti yako ya ThingSpeak
Kuweka Arduino IDE, Bodi za ESP8266 na Maktaba na Akaunti yako ya ThingSpeak
Kuweka Arduino IDE, Bodi za ESP8266 na Maktaba na Akaunti yako ya ThingSpeak
Kuweka Arduino IDE, Bodi za ESP8266 na Maktaba na Akaunti yako ya ThingSpeak

Kufunga Arduino IDE na Nodemcu

Ikiwa haujawahi kusanikisha IDE Arduino tafadhali soma mafunzo kwenye kiunga - Jinsi ya kusanikisha Arduino IDE - ambapo unaweza kupata maagizo kamili.

Hatua inayofuata, kusanikisha bodi ya Nodemcu tumia mafunzo haya kutoka kwa Maagizo ya Magesh Jayakumar ambayo yamekamilika sana. Jinsi ya kufunga Nodemcu no Arduino IDE

Kufunga Maktaba

Hatua inayofuata lazima usakinishe maktaba ambayo mchoro hutumia. Ni za kawaida na unaweza kufuata hatua zilizoonyeshwa hapa chini.

Maktaba ya ThingSpeak -

Maktaba ya ESP8266 -

Kuunda Akaunti ya ThingSpeak

Kutumia ThingSpeak (https://thingspeak.com/) lazima ufungue akaunti (bado ni bure kwa idadi fulani ya mwingiliano) ambapo unaweza kuhifadhi data iliyopimwa katika anemometer yako na kufuatilia hali ya upepo nyumbani kwako, hata kupitia simu ya rununu. Kwa kutumia ThingSpeak, unaweza kutoa ufikiaji wa umma kwa data zako zilizokusanywa kwa yeyote anayevutiwa. Hiyo ni faida nzuri ya ThingSpeak. Ingiza ukurasa wa kwanza na ufuate hatua za kuunda akaunti yako.

Mara akaunti imeundwa, ingiza mafunzo haya - ThingSpeak Get Started - kuunda vituo vyako. Imeelezewa vizuri. Kwa muhtasari, lazima uunda kituo ambapo data itahifadhiwa. Kituo hiki kina kitambulisho na API muhimu ambayo inapaswa kurejelewa kwenye mchoro kila wakati unataka kurekodi data. ThingSpeak itahifadhi data zote kwenye benki na itawaonyesha kila wakati unapofikia akaunti yako, kwa njia ambayo umesanidi.

Hatua ya 2: Kuchunguza Mchoro

Kuchunguza Mchoro
Kuchunguza Mchoro
Kuchunguza Mchoro
Kuchunguza Mchoro

Chati ya mtiririko

Katika mchoro, unaweza kuelewa mchoro wa mchoro. Unapoamka (unganisha) Nodemcu, itaunganisha kwenye mtandao wako wa Wi-Fi, ambao umeweka vigezo na kuanza kuhesabu dakika 1 ya muda kutekeleza vipimo. Kwanza, itahesabu mzunguko wa anemometer kwa sekunde 25, hesabu kasi ya mstari na soma mwelekeo wa upepo. Matokeo yanaonyeshwa kwenye OLED. Fanya hatua sawa tena na kwa usomaji huu wa pili, itapitisha kwa ThingSpeak.

Kisha Nodemcu analala kwa dakika 15 kuokoa betri. Ninapotumia jopo ndogo la jua ni lazima nifanye hivyo. Ikiwa unatumia chanzo cha 5V unaweza kurekebisha programu hiyo ili isilale na kuendelea kupima data.

Muundo wa mipango

Katika mchoro, unaweza kuona muundo wa mchoro.

Anemometer_Instructables

Ni programu kuu inayobeba maktaba, inaanza anuwai, inadhibiti kukatiza kwa ambatano, inaita kazi zote, huhesabu kasi ya upepo, huamua mwelekeo wake na kuilaza.

mawasiliano

Unganisha WiFi na utume data kwa ThingSpeak.

hati.h

Funguo za mtandao wako wa WiFi na vitambulisho vya akaunti yako katika ThingSpeak. Hapa ndipo utabadilisha vitambulisho na Funguo zako.

hufafanua.h

Inayo anuwai zote za programu. Hapa ndipo unaweza kubadilisha nyakati za kusoma au nodemcu inapaswa kulala muda gani.

kazi

Inayo kazi za kuchanganya vigezo na kusoma multiplexer pamoja na kazi kusoma mizunguko ya anemometer.

OledDisplay

Onyesha kwenye skrini matokeo ya kasi ya upepo na mwelekeo.

Hatua ya 3: Maelezo Kuhusu…

Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…
Maelezo Kuhusu…

Ambatisha Kukatiza

Mzunguko wa anemometer hupimwa na kiambatisho cha kaziInterrupt () (na detachInterrupt ()) kwenye GPIO 12 (pin D6) ya Nodemcu (Inakatiza huduma kwenye pini zake za D0-D8).

Usumbufu ni hafla au hali zinazosababisha mdhibiti mdogo kusimamisha utekelezaji wa kazi ambayo inafanya, fanya kazi katika kazi tofauti kwa muda na kurudi kwenye kazi ya mwanzo.

Unaweza kusoma undani wa kazi kwenye kiunga cha mafunzo ya Arduino. Tazama ambatishaKukatisha ().

Sintaksia: ambatishaKukatiza (pini, kazi ya kupiga tena simu, sumbua aina / hali);

pini = D6

kazi ya kurudisha = rpm_anemometer - inahesabu kila kipigo kwa kutofautiana.

sumbua aina / mode = KUPANDA - usumbue wakati pini inakwenda kutoka chini hadi juu.

Katika kila kunde iliyotengenezwa na magneto kwenye sensorer ya Jumba, pini huenda kutoka chini hadi juu na kazi ya kuhesabu imeamilishwa na kupigwa muhtasari kwa kutofautiana, wakati wa sekunde 25 zilizoanzishwa. Wakati umekwisha muda, kaunta imekatwa (ondoaKingamiza ()) na utaratibu huhesabu kasi wakati umekatiwa muunganisho.

Kuhesabu kasi ya upepo

Mara tu inapoamuliwa anemometer ilitoa zamu ngapi kwa sekunde 25, tunahesabu kasi.

  • RADIO ni kipimo kutoka kwa mhimili wa kituo cha anemometer hadi ncha ya mpira wa ping pong. Lazima uwe umepima yako vizuri sana - (tazama hiyo kwenye mchoro unaosema 10 cm).
  • RPS (mizunguko kwa sekunde) = mizunguko / sekunde 25
  • RPM (mizunguko kwa dakika) = RPS * 60
  • OMEGA (kasi ya angular - radians kwa sekunde) = 2 * PI * RPS
  • Linear_Velocity (mita kwa sekunde) = OMEGA * RADIO
  • Linear_Velocity_kmh (Km kwa saa) = 3.6 * Linear_Velocity na hii ndio itatumwa kwa ThingSpeak.

Soma mwelekeo wa upepo

Kusoma nafasi ya vane ya upepo ili kujua mwelekeo wa upepo mpango hutuma ishara za chini na za juu kwa multiplexer na mchanganyiko wote wa vigezo A, B, C (muxABC matrix) na subiri kupokea kwenye pini A0 matokeo hiyo inaweza kuwa voltage yoyote kati ya 0 na 3.3V. Mchanganyiko umeonyeshwa kwenye mchoro.

Kwa mfano, wakati C = 0 (chini), B = 0 (chini), A = 0 (chini) multiplexer huipa data ya pini 0 na hutuma ishara kwa A0 ambayo inasomwa na Nodemcu; ikiwa C = 0 (chini), B = 0 (chini), A = 1 (juu) multiplexer itakutumia data ya pini 1 na kadhalika, hadi usomaji wa vituo 8 ukamilike.

Kama ishara ni analog, programu inabadilika kuwa dijiti (0 au 1), ikiwa voltage ni chini ya au sawa na 1.3V ishara ni 0; ikiwa ni kubwa kuliko 1.3V ishara ni 1. Thamani 1.3V ni ya kiholela na kwangu, ilifanya kazi vizuri sana. Daima kuna uvujaji mdogo wa sasa na hii inalinda kwamba hakuna chanya za uwongo.

Takwimu hizi zinahifadhiwa kwenye vector val [8] ambayo italinganishwa na safu ya anwani kama dira. Tazama tumbo kwenye mchoro. Kwa mfano, ikiwa vector iliyopokea ni [0, 0, 1, 0, 0, 0, 0, 0, 0] inaonyesha kwenye tumbo mwelekeo E na inalingana na pembe ya digrii 90; ikiwa [0, 0, 0, 0, 0, 0, 1, 1] inaonyesha kwenye tumbo anwani ya WNW na inalingana na pembe ya digrii 292.5. N inalingana na [1, 0, 0, 0, 0, 0, 0, 0, 0] na pembe ya digrii 0.

Kile kitakachotumwa kwa ThingSpeak kiko pembeni kwa sababu kinakubali nambari tu.

Hatua ya 4: Mawasiliano

Mawasiliano
Mawasiliano
Mawasiliano
Mawasiliano

Jinsi ya kutuma data kwa ThingSpeak

Kazi workspeaksenddata () ni jukumu la kutuma data.

ThingSpeak.setField (1, kuelea (linear_velocity_kmh)) - Tuma data ya kasi kwenye uwanja1 wa kituo changu

ThingSpeak.setField (2, kuelea (wind_Direction_Angle)) - Tuma data ya anwani kwenye uwanja2 wa kituo changu

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Tuma kwa kituo changu myChannelNumber, na MyWriteAPIKey API iliyoandikwa iliyoonyeshwa na TS. Data hii ilitengenezwa na TS wakati wa kuunda akaunti yako na kituo.

Katika picha hapo juu unaweza kuona jinsi ThingSpeak inaonyesha data iliyopokelewa.

Katika kiunga hiki unaweza kupata data ya mradi wangu kwenye kituo cha umma cha ThingSpeak.

Hatua ya 5: Vigeuzi kuu

vigezo vya upepo wa upepo

  • MUX_A D5 - mux pi A hadi Nodemcu pini D5
  • MUX_B D4 - mux pini B hadi Nodemcu siri D4
  • MUX_C D3 - mux pin C hadi Nodemcu pin D3
  • READPIN 0 - Uingizaji wa Analog kwenye NodeMcu = A0
  • NO_PINS 8 - idadi ya pini za mux
  • val [NO_PINS] - bandari 0 hadi 7 ya mux
  • upepo_Direction_Angle - Angle ya mwelekeo wa upepo
  • Kamba ya upepoRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - makadinali, collaterals na ndogo ndogo.
  • upepoAng [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} - pembe za kila mwelekeo
  • Nambari [16] [NO_PINS] - Maagizo Matrix
  • muxABC [8] [3] - mchanganyiko wa mux wa ABC

vigezo vya anemometer

  • rpmcount - hesabu ngapi mzunguko kamili ulifanya anemometer kwa wakati uliowekwa
  • timemeasure = 25.00 - kipimo cha muda wa durantion kwa sekunde
  • timetoSleep = 1 - Nodemcu macho wakati kwa dakika
  • kulalaTime = 15 - wakati wa kuendelea kulala kwa dakika
  • rpm, rps - masafa ya mzunguko (mizunguko kwa dakika, mizunguko kwa sekunde)
  • radius - mita - kipimo cha urefu wa mrengo wa anemometer
  • linear_velocity - kasi ya mstari katika m / seg
  • linear_velocity_kmh - kasi ya mstari katika km / h
  • omega - kasi ya radial katika rad / seg

Chini unaweza kupata mchoro kamili. Unda folda mpya kwenye folda ya Arduino ya kompyuta yako iliyo na jina sawa na programu kuu (Anemometer_Instructables) na uziweke pamoja.

Ingiza data ya mtandao wako wa wifi na Kitambulisho cha ThingSpeak na Ufunguo wa Mwandishi wa API katika sehemu ya Vitambulisho.h na uhifadhi. Pakia Nodemcu na ndio tu.

Ili kujaribu utendaji wa mfumo ninapendekeza shabiki mzuri anayezunguka.

Ili kupata data kwa simu ya rununu, pakua programu ya IOS au Android inayoitwa ThingView, ambayo, kwa bahati nzuri, bado ni bure.

Sanidi mipangilio ya akaunti yako na utakuwa tayari kuona hali yako ya upepo nyumbani popote ulipo.

Ikiwa una nia, fikia kituo changu cha ID ya Kituo cha ThingSpeak: 438851, ambayo ni ya umma na hapo utapata vipimo vya upepo na mwelekeo nyumbani kwangu.

Natumai kweli utafurahi.

Ikiwa una shaka yoyote usisite kuwasiliana nami.

Salamu

Ilipendekeza: