Логер за температура и относителна влажност на chipKIT

Тази статия е за изграждането на базиран на компютър регистратор за температура и относителна влажност с помощта на платка chipKIT Uno32 и сензор DHT11. Не са необходими допълнителни кабели (освен USB кабел) и компоненти за сглобяване на устройството; сензорът DHT11 е свързан директно към четирите I/O порта на платката Uno32 и проектът е готов за работа. Този проект може да се използва като проста и удобна система за следене на температурата и относителната влажност на околната среда в сървърното помещение. Uno32 чете показанията на сензора DHT11 на определени интервали и изпраща получените данни към компютъра чрез интерфейса USB-UART. Компютърното приложение е написано в софтуерната платформа с отворен код Processing и записва данни в ASCII файл. Програмата също така показва температурата и относителната влажност в реално време на екрана на компютъра.

логер

Евтиният сензор за температура на околната среда и относителна влажност DHT11 има калибриран цифров изход. Има 4-пинов корпус и работи при захранващо напрежение от 3V до 5.5V. Може да измерва температура от 0 до 50°C с точност ± 2°C и относителна влажност от 20 до 95% с точност ± 5%. Сензорът има собствен протокол 1-Wire и следователно е невъзможно да свържете сензора и микроконтролера чрез директен интерфейс, както при всяко периферно устройство. Протоколът трябва да бъде описан във фърмуера на микроконтролера с помощта на Bit-banging. Прочетете Измерване на температурата и относителната влажност със сензор DHT11 и PIC микроконтролер за повече подробности относно протокола DHT11. Фигурата показва pinout на сензора DHT11.

температура

В този проект четирите проводника на сензора DHT11 се вкарват директно в четирите I/O порта (7, 6,5 и 4) Uno32 дъски. Изводите за захранване (1), данни (2) и GND (4) на DHT11 са свързани съответно към I/O портове 7, 6 и 5 на Uno32. Пинове 7 и 4 на Uno32 са конфигурирани като изход и са съответно високи (3,3 V) и ниски (GND) и се използват за захранване на сензора. Моля, имайте предвид, че I/O портовете на Uno32 могат да доставят до 18 mA, което е достатъчно за захранване на сензора DHT11, който черпи по-малко от 5 mA по време на преобразуване и трансфер на данни. Пин 3 на DHT11 не се използва. Информацията за температурата и влажността се чете от 6 I/O порта на Uno32.

относителна

Писането на фърмуер е по-лесно с помощта на библиотеката Arduino или chipKIT за работа със сензора DHT11. Библиотеката DHT11 за Arduino е написана от George Hadjikyriacou и по-късно модифицирана от други хора. Програмата Uno32 чете данните за температурата и относителната влажност (два байта) от DHT11 и ги изпраща през серийния порт. Интервалът на вземане на проби е 2 секунди.

Компютърната програма е написана на софтуерната платформа с отворен код Processing, предназначена да улесни създаването на интерактивни изображения и графични приложения, в този случай за показване на получената информация за температура и влажност. Той е безплатен и работи на Mac, Windows и Linux платформи. Написах просто приложение, което получава байтовете за температура и влажност, изпратени от платката Uno32 през серийния порт, и показва тези данни в графичен прозорец. Данните за температурата и влажността, както и датата и часът се записват в текстов файл. Датата и часът се основават на RTC на компютъра.

Трябва да импортирате библиотеката Processing Serial, за да получите достъп до серийния порт. Това се прави по следния начин: import processing.serial.*;

След това трябва да отворите сериалапорт: Dev_Board = нов сериен номер (това, "COM12", 9600);

Моят USB-UART модул на платката Uno32 се разпознава като COM12. Трябва да намерите правилния COM номер за заданието. В Windows тази информация може да бъде намерена в диспечера на устройствата.

Бутонът Старт/Стоп в програмата може да се кликне. Функцията Processing Mouse се използва за откриване, когато мишката е натиснала бутон. Когато се натисне бутонът Старт, показанията се записват и бутонът се променя на Стоп. Щракването върху него спира записването на данни. Температурата с дата и час се записва в текстов файл. Всеки път, когато натиснете бутона Старт, програмата създава нов текстов файл. Името на файла съдържа текущата системна дата и час, така че никакви файлове няма да бъдат презаписани. Данните обаче се съхраняват временно в RAM паметта на компютъра и се записват в текстов файл на твърдия диск само след натискане на бутона Stop.

логер

Ето пример за текстов файл, където информацията за температурата и относителната влажност се записва заедно с часа:

температура

Данните от файла могат да се използват за чертане в приложения като MS Excel или можете да добавите функция за графика на температурата и влажността спрямо времето в програмата.