Метеорологична станция чертае C#

Въпреки че съм нов в работата с arduino и все още не знам за възможностите на това устройство, реших да споделя моя успешен опит, защото знам какво е да търсиш нещо, което не може да бъде намерено или просто не съществува. В тази статия ще опиша подробно моя проект, който беше моята практика в университета. Никой не ми се е налагал, просто един приятел се увлече, показа ми. Разбира се, това нещо ме заинтересува и реших да го пробвам. Моята програма не е толкова сложна.

И така, работата е следната: от добре познатия сензор DHT11 (сензор за влажност и температура) получаваме данни през COM порта, след това записваме данните в текстов файл и, използвайки тези данни, изграждаме графика на промените.

Arduino Uno

станция

Arduino Uno е базиран на ATmega328. Платформата има 14 цифрови входа/изхода, 6 аналогови входа, 16 MHz кристален осцилатор, USB конектор, конектор за захранване, ICSP конектор и бутон за нулиране. За да работи, трябва да свържете платформата към компютър чрез USB кабел или да захраните чрез AC / DC адаптер или батерия.

Спецификации:

микроконтролерATmega328
Работно напрежение5 V
Входно напрежение (препоръчително)7-12V
Входно напрежение (лимит)6-20 V
Цифрови входове/изходи14
Аналогови входове6
DC ток през вход/изход40 mA
DC изход 3.3V50 mA
Флаш памет32 KB (ATmega328), от които 0,5 KB се използват за зареждане
RAM2 KB (ATmega328)
EEPROM1KB (ATmega328)
Тактова честота16 MHz

Сензор DHT11

чертае

  • резолюция = 16 бита
  • повторяемост = ±1%
  • точност = ако 25 ℃, тогава ±5%
  • взаимозаменяемост = напълно взаимозаменяеми
  • време за реакция = 1-2 сек
  • хистерезис =
    метеорологична

Цифровият сензор за температура и влажност DHT11 е композитен сензор, който съдържа калибриран цифров изходен сигнал с показания за температура и влажност. Има висока надеждност и отлична дългосрочна стабилност. Сензорът включва резистивен сензор за влажност и NTC структурни компоненти за измерване на температурата.

Връзка

чертае

1 - VCC - захранване 3,5 - 5,5 V 2 - ДАННИ - трансфер на данни 3 - NC - не се използва 4 - GND - отрицателно захранване

За да се свържете с arduino, трябва да свържете резистор = 10kΩ между щифтове 1 и 2.

станция

Схеми на свързване

станция

Схема:

чертае

Програмен код (скица за сензор DHT11)

Качвам тази скица за всяка минута и получавам данни в монитора на COM порта

станция

34 - в % относителна влажност 25 - в ℃ температура

Освен това аз, така да се каже, украсих програмата си, придадох й пазарен вид. Всичко това направих в средата за програмиране Microsoft Visual Studio 2012 .NET. Направих приложение, което получава данни през COM порта и ги обработва. Получавам, записвам във файл. Също ред по ред. Първият ред съдържа стойността, вторият ред съдържа датата и часа в момента на получаване на данните. Това е полезно за начертаване на графики. Който не е запознат с работата в C # силно препоръчвам, удобно нещо. Създавам формуляр с 2текстови полета, 1 - ще се покаже стойността на влажността, 2 - стойността на температурата. От тях се създава файл, ако не е създаден, ако е създаден преди, ние го добавяме. 2 файла - 1-Temperature_graph, 2-Humidity_graph. Можете да измислите собствени имена. Елементи, използвани в програмата: textbox и textbox1, openFileDialog - за работа с избор на файл за диаграма, notifyIcon - за работа с икона, за минимизиране в трей.

Ето старта на приложението

станция

чертае

След това щракнете върху - Отваряне и ще видим графиката

чертае

Това е графика на относителната влажност. Има свойство на графиката - тя се мащабира по оста X. Ако интервалът е голям, избираме с мишката зоната, която ни интересува и тя се увеличава. Ако графиката е обща, тогава на оста X близо до 0 натиснете "-" и графиката ще бъде обща.

Също така подобрих малко програмата, направих я да минимизира в трея. Тъй като трябва да е отворен или работещ, за да работи, той може да бъде сведен до минимум като прозорец, но е вероятно да пречи. И така много удобно.

Първата икона в панела е програмата. С натискане на левия бутон на мишката програмата се минимизира или разширява.