Съдържание:

Офлайн метеостанция Arduino: 18 стъпки (със снимки)
Офлайн метеостанция Arduino: 18 стъпки (със снимки)

Видео: Офлайн метеостанция Arduino: 18 стъпки (със снимки)

Видео: Офлайн метеостанция Arduino: 18 стъпки (със снимки)
Видео: Защита термометра от солнца или опять про метеостанции на ардуино 2024, Юли
Anonim
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino
Офлайн метеорологична станция Arduino

Резюме

Последно няколко пъти, когато купувах термометър, видях, че почти винаги има разлика в стойностите. Моята задача беше да следя температурата и влажността в стаята на моето бебе. Също така имаше проблем с четенето на стойностите от 2-3 метра в обхвата на повечето термометри и трябваше да се изправя, за да видя температурата, проблемът, който имам с повечето термометри, беше светлината. Друг проблем беше, че не виждам стойността на температурата, защото е без подсветка, за да се пести енергия. Не искам да пестя енергия, просто ми трябват няколко часа съхранение на енергия, за да работи това устройство, ако основната енергийна линия се изключи.

И така дойдох с идея:

- За създаване на термометър с промяна на стойността на температурата.

- Което може да бъде с подсветка и цветове.- За да комбинирате всички неща, които имат обикновените термометри: (RTC, батерия, мин. Max t и т.н.)- И да имате допълнителни функции като сезони и празници

Така че започнах проекта преди 1 година. Софтуерната част ми отне няколко месеца, за да завърша. Създадох няколко версии на софтуера и през последните 2 седмици завърших проекта.

Информация за софтуера на устройството

Arduino код и библиотеки:

Кодът също се качва на стъпка Code.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Характеристики на устройството

  • Boot Page - показва датата и часа на последното качване на фърмуера.
  • Начална страница - показва време, дата, икона на батерията, икона на температурата, температурна стойност, стойност на влажност, Tmax, Tmin, сезони, празници, USB индикатор, когато е включен.
  • Страница от менюто - с менюта Temp, Clock, Battery, About, Back
  • Temp Page - позволява калибриране на DHT сензора
  • Страница с часовник - позволява редактиране на часа и датата
  • Страница на батерията - показва информация за батерията, % процент, напрежение mV, състояние на зареждане
  • Информация за страницата - показва информация за автора
  • Функция за връщане за излизане от менюто
  • Прозрачни панели
  • RTC дълъг живот
  • Литиева батерия - до ~ 9 часа (450mAh)
  • Индикатор за изтощена батерия - показва иконата в червено ~ оставащите 5 мин.
  • Различни цветове за - ниска, средна, висока температура
  • Съобщения за празници и сезони
  • Програмируем гнездо - от задната страна
  • Потребителски интерфейс - с помощта на въртящ се енкодер

Задната страна с дъската няма да бъде покрита, защото искам от бебето да вижда и докосва дъската, докато устройството не е включено. Можете да създадете някакъв капак за задната страна на дъската.

Стъпка 1: Скицирайте устройството, Начертайте идеята Init

Скицирайте устройството, нарисувайте идеята за инициали
Скицирайте устройството, нарисувайте идеята за инициали
Скицирайте устройството, нарисувайте идеята за инициали
Скицирайте устройството, нарисувайте идеята за инициали
Скицирайте устройството, нарисувайте идеята за инициали
Скицирайте устройството, нарисувайте идеята за инициали

Решете какво да имате - колко страници, менюта, как да промените менютата и страниците.

Ако имате други идеи, можете да ги промените с кода на arduino.

Решете каква форма искате и какво може да се направи лесно. Първо избирам 3D печат, но след това решавам да използвам прост материал.

Идеята е да имате прозрачни стени отгоре и отдолу, също така можете да създадете по -фина кутия.

Така че основните части на кутията са:

  1. Отпред - с дисплея и въртящия се енкодер
  2. Вдясно - с RTC модула
  3. Вляво - с DHT модула
  4. Назад - с противоположната страна на дъската
  5. Отгоре - Прозрачно с батерията 3.7V и плъзгача за включване/изключване
  6. Долу - прозрачно

Стъпка 2: Изберете правилните компоненти

  1. TP4056 Micro USB зарядно устройство 5V 1A 18650 Литиева батерия за зареждане - Ebay
  2. 1.44 "128x128 SPI Пълен цветен 65K TFT LCD дисплей модул ST7735 - Ebay
  3. Модул на въртящ се енкодер KY -040 за Arduino - Ebay
  4. DHT22 AM2302 Цифров сензор за температура и влажност - Ebay
  5. Малки RTC I2C модули 24C32 памет DS1307 Часовник в реално време RTC модулен съвет - Ebay
  6. Pro Micro Controller Board ATmega328P 16MHz Arduino Pro Mini Module - Ebay

  7. 3.7V 450mAh Lipo акумулаторна батерия - Ebay
  8. 6 щифта 2 позиции DPDT Включване/Включване Мини плъзгащ се превключвател - Ebay
  9. CR2032 CR 2032 3V Button Cell Coin Battery - Ebay
  10. 10x22см Прототип за запояване Медна печатна платка Едностранна универсална - Ebay
  11. Мъжки и женски 40pin 2,54 мм гнездо за гнездо, едноредова лента - Ebay

Стъпка 3: Подгответе електрическата схема

Подгответе електрическата схема
Подгответе електрическата схема

Диаграмата показва свързаност на подобни сензори, докато дисплеят е почти същият.

За правилното използване на щифтове вижте кода на Arduino в стъпката Code.

Изтеглете файла fritzing за повече подробности относно разпечатката. Задръжте точките от диаграмата, за да видите точните щифтове на модулите.

Стъпка 4: Допълнителна информация преди стартиране - Консумация на енергия

Допълнителна информация преди стартиране - Консумация на енергия
Допълнителна информация преди стартиране - Консумация на енергия

Проектът използва 450mAh батерия, но можете да използвате по -голяма. Просто погледнете консумацията на енергия, за да изберете и изчислите правилната батерия за конкретни часове на използване. Когато използвате 450mAh, устройството може да работи прибл. 9 часа.

В празен режим устройството работи с около 0.102A - Тук не се прави оптимизация за пестене на енергия

При натискане на бутона се прилага високият ток и той е около 0,177A.

Стъпка 5: Свържете дисплея

Свържете дисплея
Свържете дисплея
Свържете дисплея
Свържете дисплея

Дисплеят използва SPI за връзка.

Има библиотека adafruit за този драйвер ST7735.

Стъпка 6: Свържете RTC модула

Свържете RTC модул
Свържете RTC модул

Създайте модификация на печатни платки, за да използвате CR2032 батерия.

  • Премахнете D1
  • Премахнете R4
  • Извадете R5
  • Свалете R6
  • Къс R6

Повече информация за тази модификация можете да намерите тук.

Стъпка 7: Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер

Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер
Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер
Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер
Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер
Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер
Прикрепете предната стена с дисплея, RTC, батерията, въртящия се енкодер

Ако искате да стартирате устройството, просто качете кода от стъпката Code и следвайте другите стъпки, докато променяте и прикачвате новите части.

Стъпка 8: Подгответе прозрачни стени

Подгответе прозрачни стени
Подгответе прозрачни стени

Използвам 3 мм плекси. Можете да използвате подобен прозрачен материал. Използвам само един за долната страна.

Стъпка 9: Създайте дясна стена

Създайте дясна стена
Създайте дясна стена
Създайте дясна стена
Създайте дясна стена

Създайте дясната странична стена. Използвайте размера CR2032 за отвора.

Стъпка 10: Създайте лявата странична стена

Създайте лявата странична стена
Създайте лявата странична стена
Създайте лявата странична стена
Създайте лявата странична стена
Създайте лявата странична стена
Създайте лявата странична стена

Създайте лявата странична стена. Използвайте размера на DHT модула за отвора.

Стъпка 11: Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей

Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей
Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей
Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей
Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей
Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей
Създайте гнездото с универсалната платка и релсите, свържете RTC, енкодер, дисплей и дисплей

Свържете и запоявайте всички щифтове, следвайки схемата на проводниците. Можете да използвате Arduino UNO с инсталирана празна скица, за да програмирате Arduino Mini. Необходими щифтове:

  • VCC 5V
  • GND
  • RX
  • TX
  • НУЛИРАНЕ

Не забравяйте да изключите батерията 3.7V на тези стъпки, ако качите скицата, преди да приключите с частите.

Стъпка 12: Включете го преди да продължите

Image
Image

В този момент ще можете да включите устройството и да използвате всички функции.

Използвайте визуализацията на видеото, за да видите какъв е бил софтуерът във версия 1.1. Също така в обобщената стъпка има връзка към github, за да видите най -новата актуализация.

Включете устройството, преди да продължите с останалите стъпки, преди да затворите горния капак, уверете се, че работи нормално.

Стъпка 13: Добавяне на TP4056 и батерията, запояване на плъзгащия превключвател, добавяне на кабел за зареждане към щифт 5, запояване на задния програмируем контакт

Добавете TP4056 и батерията, запоявайте плъзгащия превключвател, добавете кабел за зареждане към щифт 5, запоявайте задния програмируем контакт
Добавете TP4056 и батерията, запоявайте плъзгащия превключвател, добавете кабел за зареждане към щифт 5, запоявайте задния програмируем контакт
Добавете TP4056 и батерията, запоявайте плъзгащия се превключвател, добавете кабел за зареждане към щифт 5, запойте задния програмируем гнездо
Добавете TP4056 и батерията, запоявайте плъзгащия се превключвател, добавете кабел за зареждане към щифт 5, запойте задния програмируем гнездо
Добавете TP4056 и батерията, запоявайте плъзгащия се превключвател, добавете кабел за зареждане към щифт 5, запойте задния програмируем гнездо
Добавете TP4056 и батерията, запоявайте плъзгащия се превключвател, добавете кабел за зареждане към щифт 5, запойте задния програмируем гнездо

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

Стъпка 14: Създайте горния капак

Създайте горния капак
Създайте горния капак
Създайте горния капак
Създайте горния капак
Създайте горния капак
Създайте горния капак

Използвам 0,5 мм плекси лист от кутия за захранване.

Стъпка 15: Код

Използвайте параметрите в секцията init, за да определите вашите предпочитания.

За празниците използвам български. Можете да редактирате масива, като използвате празниците във вашата страна.

Устройството показва 4 сезона, редактирайте ги в предпочитания от вас код за вашето местоположение.

Ако сензорите ви са различни, следвайте дефинициите на пиновете и ги редактирайте в кода. Оставих почти всички редове коментари за по -добро разбиране на кода.

Тествани платформи:

  • Arduino UNO
  • Arduino Pro Mini

Вземете необходимите библиотеки от хранилището, използвайте тези, определени в скицата.

Стъпка 16: Тествайте устройството преди окончателни докосвания

Тествайте устройството преди окончателни докосвания
Тествайте устройството преди окончателни докосвания
Тествайте устройството преди окончателни докосвания
Тествайте устройството преди окончателни докосвания
Тествайте устройството преди окончателни докосвания
Тествайте устройството преди окончателни докосвания

Устройството е перфектно, моето е калибрирано -4*C, използвах моя климатик Toshiba, 2 прости термометра със стени и два цифрови термометра за калибрирането му. Ако вашият сензор измерва различни стойности, сега можете да го промените.

Стъпка 17: Визуализация на интерфейса

Преглед на интерфейса
Преглед на интерфейса
Преглед на интерфейса
Преглед на интерфейса
Преглед на интерфейса
Преглед на интерфейса

Не забравяйте да редактирате информацията за фърмуера в секцията init на кода, за да покажете вашите идентификационни данни или да я оставите такава, каквато е.

Препоръчано: