Метеостанція побудова графіка C#

Хоча я в роботі з arduino новачок, і не все ще знаю про здібності даного апарату, я вирішив поділитися своїм успішним досвідом, тому що знаю, як це шукати те, що неможливо знайти або цього просто немає. У цій статті я докладно опишу мій проект, який став моєю практикою в університеті. Мені ніхто не нав'язував, просто друг захопився, показав мені. Мене, звичайно ж, ця штука зацікавила і я вирішив спробувати. Моя програма не така складна.

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

Arduino Uno

побудова

Arduino Uno побудований на ATmega328. Платформа має 14 цифрових вхід/виходів, 6 аналогових входів, кварцовий генератор 16 МГц, USB-роз'єм, силовий роз'єм, роз'єм ICSP і кнопку перезавантаження. Для роботи необхідно підключити платформу до комп'ютера за допомогою USB-кабелю, або подати живлення за допомогою адаптера AC/DC або батареї.

Характеристики:

МікроконтролерATmega328
робоча напруга5 В
Вхідна напруга (рекомендована)7-12 В
Вхідна напруга (гранична)6-20 В
Цифрові входи/виходи14
Аналогові входи6
Постійний струм через вхід/вихід40 мА
Постійний струм для виведення 3.350 мА
Флеш пам `ять32 Кб (ATmega328) з яких 0.5 Кб використовуються для завантажувача
ОЗУ2 Кб (ATmega328)
EEPROM1Кб (ATmega328)
Тактова частота16 МГц

Датчик DHT11

побудова

  • роздільна здатність = 16 Bit
  • повторюваність = ±1%
  • точність = якщо 25℃, то ±5%
  • взаємозамінність = повністю взаємозамінний
  • час відгуку = 1-2 сек
  • гістерезис =
    вологості

DHT11 цифровий датчик температури та вологості є складовим датчиком, який містить калібрований цифровий вихідний сигнал із показаннями температури та вологості. Він має високу надійність та чудову довготривалу стабільність роботи. Датчик включає резистивний сенсор вологості і компоненти NTC структури для вимірювання температури.

Підключення

графік

1 - VCC - живлення 3,5 - 5,5 V 2 - DATA - передача даних 3 - NC - не використовується 4 - GND - негативне харчування

Для підключення до arduino необхідно підключити між 1 та 2 ніжкою резистор = 10кОм.

графік

Схеми підключення

графік

Схема:

графіка

Програмний код (скетч для датчика DHT11)

Завантажую цей скетч, на кожну хвилину та отримую дані в моніторі COM порту

вологості

34 - % відносна вологість 25 - в ℃ температура

Далі я прикрашав свою програму, надавав їй товарний вигляд. Все це я робив серед програмування Microsoft Visual Studio 2012 .NET. Я зробив додаток, який через COM порт отримує дані та обробляє їх. Отримую, записую у файл. Теж построчно. У першому рядку значення другий рядок - дата і час в момент отримання даних. Це стане в нагоді для побудови графіків. Хто не знайомий із роботою в C# дуже рекомендую, зручна річ. Створю форму з 2-матекстбоксами, 1 буде виводиться значення вологості, 2 - значення температури. З них створюється файл, якщо не був створений, якщо був створений до дописування до нього. 2 файли - 1-графік_температури, 2-графік_вологості. Назви можете вигадати свої. Елементи, що використовуються в програмі: textbox і textbox1, openFileDialog - для роботи з вибором файлу для графіка, notifyIcon - для роботи з іконкою, для згортання в трей.

Ось запуск програми

графік

графіка

Далі натискаємо - Відкрити, і побачимо графік

метеостанція

Це графік відносної вологості. Є властивість графіка – він масштабується по осі Х. Якщо великий інтервал, ми мишкою виділяємо зону, яка нам цікава і він наближає. Якщо загальний графік, то на осі Х близько 0 натиснемо "-" і графік буде загальним.

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

Перший значок у треї - програма. Після натискання лівої кнопки миші згортається або розгортається програма.