Метеорологична станция чертае 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.3V | 50 mA |
Флаш памет | 32 KB (ATmega328), от които 0,5 KB се използват за зареждане |
RAM | 2 KB (ATmega328) |
EEPROM | 1KB (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 натиснете "-" и графиката ще бъде обща.
Също така подобрих малко програмата, направих я да минимизира в трея. Тъй като трябва да е отворен или работещ, за да работи, той може да бъде сведен до минимум като прозорец, но е вероятно да пречи. И така много удобно.
Първата икона в панела е програмата. С натискане на левия бутон на мишката програмата се минимизира или разширява.