Мазмұны:

Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 -бөлім - Бағдарламалық қамтамасы
Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 -бөлім - Бағдарламалық қамтамасы

Бейне: Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 -бөлім - Бағдарламалық қамтамасы

Бейне: Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 -бөлім - Бағдарламалық қамтамасы
Бейне: 😢ŠTĚŇÁTKA ZAČÍNAJÍ ODJÍŽDĚT..| VICKY MÁ ZLOMENOU RUKU 🤕 2024, Желтоқсан
Anonim
Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 бөлім - Бағдарламалық қамтамасыз ету
Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 бөлім - Бағдарламалық қамтамасыз ету
Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 бөлім - Бағдарламалық қамтамасыз ету
Nememcu -дегі қамыс қосқыштарын, холл эффект датчигін және кейбір сынықтарды қолдана отырып, өзіңіздің жеке анемометріңізді қалай құруға болады - 2 бөлім - Бағдарламалық қамтамасыз ету

Кіріспе

Бұл «Қамыс қосқыштарын, Холл әсерінің сенсоры мен кейбір қалдықтарды Nodemcu көмегімен қалай құруға болады - 1 бөлім - Аппараттық құрал» деген бірінші жазбаның жалғасы, онда мен желдің жылдамдығы мен бағытын өлшеу құралдарын қалай жинау керектігін көрсетемін. Мұнда біз Arduino IDE көмегімен Nodemcu -да қолдануға арналған өлшеуді бақылау бағдарламалық жасақтамасын қолданамыз.

Жоба Сипаттамасы

Алдыңғы жазбада Nodemcu -ға қаруланған және қосылған құрылғылар желдің жылдамдығы мен бағытын өлшей алады. Басқару бағдарламасы анемометрдің айналуын белгілі бір уақытқа дейін оқуға, сызықтық жылдамдықты есептеуге, қалқанның бағытын оқуға, OLED нәтижелерін көрсетуге, ThingSpeak -те нәтижелерді жариялауға және 15 минутқа дейін ұйықтауға арналған. келесі өлшеу.

Жауапкершіліктен бас тарту: Бұл анемометрді кәсіби мақсаттарда қолдануға болмайды. Ол тек академиялық немесе үйде қолдануға арналған.

Ескерту: ағылшын тілі менің табиғи тілім емес. Егер сіз жобаны түсінуге кедергі келтіретін грамматикалық қателерді тапсаңыз, оларды түзету үшін маған хабарлаңыз. Өте көп.

1 -қадам: Arduino IDE, ESP8266 тақталары мен кітапханаларын және ThingSpeak есептік жазбасын орнату

Arduino IDE, ESP8266 тақталары мен кітапханалары мен ThingSpeak есептік жазбасын орнату
Arduino IDE, ESP8266 тақталары мен кітапханалары мен ThingSpeak есептік жазбасын орнату
Arduino IDE, ESP8266 тақталары мен кітапханалары мен ThingSpeak есептік жазбасын орнату
Arduino IDE, ESP8266 тақталары мен кітапханалары мен ThingSpeak есептік жазбасын орнату

Arduino IDE мен Nodemcu орнату

Егер сіз IDE Arduino -ны ешқашан орнатпаған болсаңыз, нұсқаулықты оқыңыз - Arduino IDE -ді қалай орнатуға болады - мұнда толық нұсқауларды таба аласыз.

Келесі қадам, Nodemcu тақтасын орнату үшін бұл оқулықты Magesh Jayakumar Instructables бағдарламасынан пайдаланыңыз, ол өте толық. Nodemcu no Arduino IDE қалай орнатылады

Кітапханаларды орнату

Келесі қадамда эскиз пайдаланатын кітапханаларды орнату қажет. Олар жиі кездеседі және төменде көрсетілген қадамдарды орындауға болады.

ThingSpeak кітапханасы -

ESP8266 кітапханасы -

ThingSpeak есептік жазбасын құру

ThingSpeak (https://thingspeak.com/) пайдалану үшін сіз анемометрде өлшенетін деректерді сақтай алатын және үйдегі желдің жағдайын бақылай алатын есептік жазбаны құруыңыз қажет (белгілі бір өзара әрекеттесу үшін әлі де ақысыз), тіпті ұялы телефон арқылы. ThingSpeak көмегімен сіз қызығушылық танытқан адамдарға жиналған деректеріңізге көпшілікке қол жеткізе аласыз. Бұл ThingSpeak -тің жақсы артықшылығы. Басты бетке кіріп, есептік жазбаны жасау үшін қадамдарды орындаңыз.

Есептік жазба жасалғаннан кейін, арналарды құру үшін осы оқулықты енгізіңіз - ThingSpeak Starting -. Бұл өте жақсы түсіндірілген. Қысқаша айтқанда, сіз деректер сақталатын арна жасауыңыз керек. Бұл арнада деректерді жазғыңыз келген сайын эскизде сілтеме жасалатын идентификатор мен Key API бар. ThingSpeak банкте барлық деректерді сақтайды және сіз өзіңіздің есептік жазбаңызға кірген сайын оларды конфигурацияланған түрде көрсетеді.

2 -қадам: Эскизді зерттеу

Эскизді зерттеу
Эскизді зерттеу
Эскизді зерттеу
Эскизді зерттеу

Блок -схема

Диаграммада эскиздің флюсограммасын түсінуге болады. Сіз оянғанда (сілтеме) Nodemcu, ол сіздің параметрлеріңізді конфигурациялаған Wi-Fi желісіне қосылады және өлшеуді орындау үшін 1 минут уақытты есептей бастайды. Біріншіден, ол анемометрдің айналуын 25 секундқа есептейді, есептеңіз желдің жылдамдығын және желдің бағытын оқыңыз. Нәтижелер OLED -де көрсетіледі. Сол әрекеттерді қайталаңыз және бұл екінші оқылым үшін ол ThingSpeak -ке жіберіледі.

Содан кейін Нодемку батареяны үнемдеу үшін 15 минут ұйықтайды. Мен кішкентай күн батареясын қолданатындықтан, мен мұны істеуім керек. Егер сіз 5В көзін пайдалансаңыз, бағдарламаны ұйықтамайтындай етіп өзгертуге және деректерді өлшеуді жалғастыруға болады.

Бағдарламалардың құрылымы

Диаграммада эскиздің құрылымын көруге болады.

Анемометр_Нұсқауға болмайтын құралдар

Бұл кітапханаларды жүктейтін, айнымалыларды іске қосатын, тіркеуді тоқтатуды басқаратын, барлық функцияларды шақыратын, желдің жылдамдығын есептейтін, оның бағытын анықтайтын және ұйықтататын негізгі бағдарлама.

коммуникация

Wi -Fi желісіне қосылыңыз және деректерді ThingSpeak -ке жіберіңіз.

сенімхаттар. h

ThingSpeak -те WiFi желісінің кілттері мен есептік жазбаның идентификаторлары. Бұл жерде сіз кілт идентификаторлары мен API интерфейстерін өзгертесіз.

анықтайды.h

Ол бағдарламаның барлық айнымалыларын қамтиды. Мұнда сіз оқу уақытын немесе nodemcu қанша уақыт ұйықтау керектігін өзгерте аласыз.

функциялар

Ол параметрлерді біріктіру және мультиплексорды оқу функцияларын, сондай -ақ анемометрдің айналуын оқу функциясын қамтиды.

oledDisplay

Желдің жылдамдығы мен бағытының нәтижелерін экранда көрсету.

3 -қадам: туралы түсініктеме…

Түсініктемелер…
Түсініктемелер…
Түсініктемелер…
Түсініктемелер…
Түсініктемелер…
Түсініктемелер…
Түсініктемелер…
Түсініктемелер…

Үзілісті тіркеңіз

Анемометрдің айналуы Nodemcu-дің GPIO 12-де (D6 түйреуішінде) installInterrupt () (және detachInterrupt ()) функциясымен өлшенеді (Оның D0-D8 түйреуіштерінде үзіліс функциясы бар).

Үзіліс - бұл микроконтроллердің орындалатын тапсырманың орындалуын тоқтатуына, басқа тапсырмада уақытша жұмыс істеуіне және бастапқы тапсырмаға оралуына себеп болатын оқиғалар немесе жағдайлар.

Сіз функцияның егжей -тегжейін Arduino оқулығының сілтемесінен оқи аласыз. AttachInterrupt () қараңыз.

Синтаксис: attachInterrupt (түйреуіш, кері шақыру функциясы, үзіліс түрі/режимі);

пин = D6

кері шақыру функциясы = rpm_anemometer - айнымалыдағы әрбір импульсті есептейді.

үзіліс түрі/режимі = RISING - түйреуіш төменнен жоғарыға ауысқанда үзіліс.

Холл сенсорындағы магнит шығаратын әрбір импульсте түйреуіш төменнен жоғарыға ауысады және 25 секунд ішінде импульсті айнымалы мәнге қосады және қосады. Уақыт аяқталғаннан кейін, санауыш ажыратылады (detachInterrupt ()) және тәртіп үзілген кездегі жылдамдықты есептейді.

Желдің жылдамдығын есептеу

Анемометр 25 секундта қанша айналым жасағанын анықтағаннан кейін біз жылдамдықты есептейміз.

  • РАДИО - анемометрдің орталық осінен теннис -теннис допының ұшына дейінгі өлшеу. Сіз өзіңіздің өлшеміңізді жақсы өлшеген болуыңыз керек - (диаграммада 10 см деп көрсетілген).
  • RPS (секундына айналу) = айналу / 25 секунд
  • RPM (минутына айналу) = RPS * 60
  • OMEGA (бұрыштық жылдамдық - секундына радиан) = 2 * PI * RPS
  • Lineer_Vellocity (секундына метр) = OMEGA * RADIO
  • Linear_Velocity_kmh (км / сағ) = 3.6 * Linear_Velocity және бұл ThingSpeak -ке жіберілетін нәрсе.

Жел қалтасының бағытын оқыңыз

Желдің бағытын анықтау үшін желбұршақтың орнын оқу үшін бағдарлама A, B, C (muxABC матрицасы) барлық комбинациясымен мультиплексорға төмен және жоғары сигналдарды жібереді және нәтижені A0 түйреуішінде қабылдауды күтеді. 0 мен 3.3 В арасындағы кез келген кернеу болуы мүмкін. Комбинациялар диаграммада көрсетілген.

Мысалы, C = 0 (төмен), В = 0 (төмен), А = 0 (төмен) кезде мультиплексор оған 0 түйреуішінің деректерін береді және Nodemcu оқитын сигналды A0 жібереді; егер C = 0 (төмен), В = 0 (төмен), А = 1 (жоғары) мультиплексор сізге 8 арнаны оқу аяқталғанша 1 -түйреуіш туралы деректерді жібереді.

Сигнал аналогтық болғандықтан, бағдарлама цифрлыққа ауысады (0 немесе 1), егер кернеу 1.3В -тан төмен болса немесе сигнал 0 болса; егер ол 1.3В -тан үлкен болса, сигнал 1 болады. 1.3V мәні ерікті және мен үшін ол өте жақсы жұмыс істеді. Әрқашан токтың кішігірім ағуы болады және бұл жалған позитивтердің болмауын қорғайды.

Бұл деректер цифрлық адрес массивімен салыстырылатын [8] векторлық векторында сақталады. Диаграммадағы матрицаны қараңыз. Мысалы, егер алынған вектор [0, 0, 1, 0, 0, 0, 0, 0, 0] болса, ол матрицада Е бағытын көрсетеді және 90 градус бұрышқа сәйкес келеді; егер [0, 0, 0, 0, 0, 0, 1, 1] матрицада WNW мекенжайын көрсетеді және 292,5 градус бұрышқа сәйкес келеді. N [1, 0, 0, 0, 0, 0, 0, 0, 0] және 0 градус бұрышқа сәйкес келеді.

ThingSpeak -ке жіберілетін нәрсе бұрышта, себебі ол тек сандарды қабылдайды.

4 -қадам: Байланыс

Байланыс
Байланыс
Байланыс
Байланыс

ThingSpeak -ке деректерді қалай жіберуге болады

Thingspeaksenddata () функциясы деректерді жіберуге жауап береді.

ThingSpeak.setField (1, float (linear_velocity_kmh)) - Жылдамдық деректерін менің арнаның 1 -өрісіне жіберу

ThingSpeak.setField (2, float (wind_Direction_Angle)) - Мекенжай деректерін менің каналымның 2 -өрісіне жіберу

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - myChannelNumber каналыма TS көрсетілген myWriteAPIKey API көмегімен жіберіңіз. Бұл деректерді TS сіздің есептік жазбаңыз бен арнаңызды жасаған кезде жасады.

Жоғарыдағы суреттерде ThingSpeak алынған деректерді қалай көрсететінін көруге болады.

Бұл сілтемеде сіз ThingSpeak жалпыға ортақ арнасындағы менің жобамның деректеріне қол жеткізе аласыз.

5 -қадам: Негізгі айнымалылар

жел қалқанының параметрлері

  • MUX_A D5 - D5 Nodemcu түйрегіне арналған mux pi A
  • MUX_B D4 - D 4 Nodemcu түйреуішіне арналған mux пині
  • MUX_C D3 - D3 Nodemcu түйреуішіне арналған мух пині
  • READPIN 0 - NodeMcu = A0 бойынша аналогтық кіріс
  • NO_PINS 8 - mux түйреуіштерінің саны
  • val [NO_PINS] - mux -тың 0 -ден 7 -ге дейінгі порттары
  • wind_Direction_Angle - жел бағыты бұрышы
  • Қысқалы WindRose [16] = {«N», «NNE», «NE», «ENE», «E», «ESE», «SE», «SSE», «S», «SSW», «SW», «WSW», «W», «WNW», «NW», «NNW»} - карденалдар, кепілдік және қосалқы кепілдіктер
  • 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} - әр бағыттың бұрыштары
  • Цифр [16] [NO_PINS] - Бағыттар матрицасы
  • muxABC [8] [3] - ABC mux комбинациясы

анемометр параметрлері

  • rpmcount - берілген уақыт ішінде анемометр қанша толық айналуды есептейді
  • уақыт өлшемі = 25.00 - секундпен өлшеу ұзақтығы
  • timetoSleep = 1 - Нодемку минуттармен ояту уақыты
  • sleepTime = 15 - минутпен ұйықтау уақыты
  • rpm, rps - айналу жиіліктері (минутына айналу, секундына айналу)
  • радиус - метр - анемометр қанатының ұзындығының өлшемі
  • lineer_velocity - м/сегмендегі сызықтық жылдамдық
  • lineer_velocity_kmh - км/сағ сызықтық жылдамдық
  • омега - рад/сегменттегі радиалды жылдамдық

Төменде сіз толық эскизді таба аласыз. Компьютеріңіздің Arduino қалтасында негізгі бағдарлама (Anemometer_Instructables) атымен жаңа қалта жасаңыз және олардың барлығын біріктіріңіз.

Wifi желісінің деректерін және ThingSpeak идентификаторы мен API жазушы кілтін Credentials.h бөлігіне енгізіңіз және сақтаңыз. Nodemcu -ге жүктеңіз және бәрі осында.

Жүйенің жұмысын тексеру үшін мен жақсы айналатын желдеткішті ұсынамын.

Деректерге ұялы телефонмен қол жеткізу үшін ThingView деп аталатын IOS немесе Android қосымшасын жүктеңіз, бақытымызға орай, ол әлі де тегін.

Есептік жазба параметрлерін конфигурациялаңыз, сонда сіз қайда болсаңыз да үйдегі желдің жағдайын көруге дайын боласыз.

Егер сізде қызығушылық болса, менің ThingSpeak Channel идентификаторы 438851 нөміріне кіріңіз, ол жалпыға қолжетімді және сіз менің үйімде жел мен бағыттың өлшемдерін таба аласыз.

Сіз шынымен көңілді боласыз деп үміттенемін.

Егер күмәніңіз болса, менімен хабарласудан тартынбаңыз.

Құрметпен

Ұсынылған: