Метеостанція з використанням arduino і nodemcu

0
12

У цій статті майстер розповість нам, як зробити метеостанцію на базі arduino або nodemcu, використовуючи датчик температури і вологості dht11 або dht22. Дані з датчика відображаються на oled-дисплеї.

Інструменти та матеріали: – датчик температури і вологості dht22; – датчик температури і вологості dht11; – oled-дисплей; – arduino; – nodemcu;- паяльні приналежності; – резистор;

Крок перший: dht11 або dht22dht11 і dht22-це недорогі і дуже прості датчики температури і вологості, які можна використовувати для реєстрації даних.незважаючи на те, що вони повільніше, вони дуже стабільні, споживають мало енергії і забезпечують відносно високу точність вимірювань. Цифровий сигнал з однією шиною виводиться через вбудований ацп, який легко зчитується за допомогою будь-якого мікроконтролера. Єдиний інтерфейс шини економить ресурси введення-виведення будь-якої плати мікроконтролера.

Робоча напруга становить від 3,3 в до 5 в, період зчитування для dht11 становить 1 гц або одне показання кожну секунду, а для dht22-0,5 гц або одне показання кожні дві секунди. Отже, ми не можемо запитувати їх частіше, ніж раз на секунду або дві.

Датчики dht складаються з двох частин: ємнісного датчика вологості і датчика температури з негативним температурним коефіцієнтом або ntc * (або термістора).

Датчик температури ntc фактично являє собою змінний резистор, опір якого зменшується зі збільшенням температури. Для вимірювання вологості використовуються два електроди з влагоудерживающей підкладкою між ними. При зміні вологості змінюється провідність субстрату або, іншими словами, змінюється опір між цими електродами. Ця зміна опору вимірюється, обробляється і відправляється на мікроконтролер. Дуже простий чіп всередині датчика виконує аналого-цифрове перетворення і видає цифровий сигнал, який зчитується за допомогою мікроконтролера.

*абревіатура ntc розшифровується як negative temperature coefficient, що в перекладі на російську мову означає негативний температурний коефіцієнт.

Нижче представлена порівняльна таблиця двох датчиків. Дивлячись на неї, стає ясно, що dht22 перевершує dht11 за всіма параметрами.

Крок другий: oled-дисплейoled або органічний світловипромінюючий діод-це світловипромінюючий діод (led), в якому випромінюючий електролюмінесцентний шар являє собою плівку з органічної сполуки (мільйони маленьких світлодіодних лампочок), які випромінює світло при проходженні через них електричного струму.

Oled-світлодіоди використовуються для створення цифрових дисплеїв в таких пристроях, як телевізійні екрани, комп’ютерні монітори, мобільні телефони, портативні ігрові консолі і т.д.

На ринку доступно безліч типів oled-дисплеїв. Крім розміру, кольору і т. Д. Є і деякі важливі параметри. Наприклад, протокол підключення (spi або i2c), схеми управління з пасивною матрицею (pmoled) або активною матрицею (amoled).

Давайте ближче познайомимося з цими двома дисплеями. Ззаду цих дисплеїв на платі припаяні smd-конденсатори і резистори, але, оскільки це пристрій i2c, цікавлять тільки 2 контакту (scl і sda). Дисплей підключається до arduino, використовуючи тільки чотири дроти – два для живлення (vcc і gnd) і два для даних (послідовний годинник scl і послідовні дані sda). Робоча напруга становить від 3 до 5 в, але найкраще керуватися вказівками виробника. Іноді нам потрібно використовувати в проектах 2 дисплея. Хитрість тут в тому, щоб мати настроюється адресу на дисплеї. Цей пристрій має настроюється адресу від 0x78 до 0x7a. Просто розпаявши резистор з одного боку, і підключивши його до іншої сторони, або просто завдавши трохи припою, можна змінити адресу. На зображенні ці дисплеї виглядають дуже великими, але практично вони крихітні. Вони зроблені з 128 x 32/64 окремих oled-пікселів і не вимагають підсвічування.

Нижче представлені дві схеми. На одній схемі підключення дисплея до arduino, на другий до nodemcu.

Крок третій: налаштування потрібно просто підключити oled до контактів i2c, а датчик температури і вологості – до будь-якого з цифрових контактів. У цьому налаштуванні майстер підключив oled до a5 і a4, а датчик до d8.

Далі переходимо до програмування. Почнемо з включення бібліотек dht і oled.потім в розділі налаштування ініціалізуємо дисплей, а потім встановлюємо опитування датчика кожні 2 секунди.

Nodemcuяк і в попередньому підключенні, oled-дисплей підключається до nodemcu за допомогою контактів d2 і d1, а датчик підключається до контакту d3.

Потім потрібно включити бібліотеки dht і oled.у розділі налаштування ініціалізувати дисплей, а потім встановити опитування датчика і відображення результату на oled-дисплеї кожні 2 секунди.

Крок третій: користувацька платадля пристрою майстер спроектував і виготовив три плати. Дві плати можуть використовуватися або з arduino, або з nodemcu, а також з датчиком або модулем датчика dht11 або dht22.третя плата може використовуватися як з nodemcu, так і з arduino nano.

Крок четвертий: корисні посилання для цього проекту.для друкованої плати: https: //drive.google.com/file/d/1h9noo2ppm0sm8hcj …код code_with_oled_arduino: https: //drive.google.com/file/d/1eedhpuuiy8xwsd_s …code_with_oled_nodemcu: https: //drive.google.com/file/d/1eedhpuuiy8xwsd_s …code_mcith_phpode_node :https://drive.google.com/file/d/1eedhpuuiy8xwsd_s … Code_with_php_oled_nodemcu: https: //drive.google.com/file/d/1eedhpuuiy8xwsd_s …бібліотеки ” dhtstable.h”: https://github.com/robtillaart/dhtstable “ssd1306. H”: https://github.com/robtillaart/dhtstableбиблиотека дисплея adafruit: https://github.com/robtillaart/dhtstableбиблиотека adafruit gfx: https://github.com/robtillaart/dhtstableвсе готово. Тепер залишилося протестувати пристрій. Майстер планує використовувати цю плату в своєму наступному проекті, де він буде відправляти показання температури і вологості на свій домашній сервер на базі raspberry pi, і зберігати їх в базі даних.

Весь процес по виготовленню такого пристрою можна подивитися на відео.

джерело (source)