Съдържание:
- Консумативи
- Стъпка 1: Направете прототипа
- Стъпка 2: Проектиране на програмата
- Стъпка 3: Програмен код
- Стъпка 4: Създайте кутията
Видео: Tweerstationneke A.k.a. Dutch WeatherStation: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Баща ми винаги се интересува от последните новини и най -новата информация за времето. Така че това ме доведе до перфектния подарък за рожден ден, когато навърши 76 години: Малка метеорологична станция за постоянно, без глупости, тя просто седи тихо в ъгъла през целия ден и дава обобщение на последните прогнози.
Той е проектиран около два холандски уебсайта. Вероятно можете да видите това в смешното местно заглавие на тази тема! Един дава местната прогноза за град на всеки 10 минути във формат json. Другият дава прогноза за дъжда за следващите два часа в обикновен текстов формат, който винаги е удобен за узнаване. Сигурен съм, че ако не живеете в Холандия, можете лесно да адаптирате тази тема към всяка друга услуга.
Консумативи
- Платка ESP8266; предлагаме да използвате Wemos D1 mini
- 1,8 инчов TFT екран с 128*160 точки; 16 битов цвят
- Няколко кабела
- Програмата такава, каквато е или за начало да създадете своя собствена
- Хубава кутия, която да събере всичко. Използвайте стандартен или отпечатайте свой собствен с приложен дизайн
Стъпка 1: Направете прототипа
Свързващ екран и контролер
Използвайте малък плосък кабел и запоявайте заедно дъската и TFT екрана. Използвайте списъка, за да свържете частите по правилния начин
TFT ЕКРАН ------------------ WEMOS
LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0- -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3
Като алтернатива можете да поставите светодиода на 3v3 вместо на щифт D8. Използвах щифт D8, за да заспим устройството около 23:00 през нощта и да се събудя отново около 07:00 часа. В сила това ще бъде първият момент, в който чете бюлетина за времето след това време, тъй като чете заглавката, за да провери часа. В това устройство няма часовник в реално време.
Ако всичко това работи, включете вашия USB кабел към Wemos и заредете софтуера. Ако всичко работи, можете да започнете да изграждате кутията.
Стъпка 2: Проектиране на програмата
Моите идеи за това метеорологично устройство къде
- Лесно се адаптира към друга wifi среда
- Показване на прогнозата за времето и прогнозата за дъжд
- Без бутони
- Без звук, просто qui, без мъх
Имайки това предвид, създадох програма, която започва с кода на WifiManager, когато не може да открие известна Wifi мрежа. Той създава своя собствена мрежа и показва името на дисплея. Това ви дава възможност да зададете параметрите на Wifi към собствената си домашна мрежа.
След тази настройка показва последователно прогнозата за времето и валежите от дъжд на всеки 20 секунди. Ако по някаква причина не е възможно да се прочете следващата прогноза, в дясната страна на дисплея ще се покаже малък номер на грешка; и ще се покаже предишното изображение. При следващото изпълнение се прави нов опит за извличане на информацията.
Информацията за времето се получава от сайта в съобщение в стил json. Информацията в него се преобразува и записва в глобални променливи. По този начин можем да отделим извличането на информацията от показването й. Няма причина да извличате времето по -бързо веднъж на 10 минути.
Получаването на валежи от дъжд е още по -лесно. Той се сервира в обикновен текстов формат, като очакваното количество дъжд като стойност 0..255; вертикална лента; време на всеки ред. Това на всеки 5 минути през следващите 2 часа. Дъждовната стойност се доставя по интелигентен начин, където малките стойности дават повече място да се покаже разликата като по -големи стойности. Използваната формула е следната:
mmhour = кръгъл (pow (10, (rainvalue - 109) / 32) * 10) / 10;
Обърнете внимание, че „умножено по 10, разделено на 10“е трик, за да се гарантира, че имаме 1 десетичен знак зад точката. В зависимост от очакваното максимално количество дъжд през следващите 2 часа, за графиката се използват 3 скали;
- Очаква се максимум 5 мм/час
- Очаква се максимум 20 мм/час
- Макс е взет от най -високата стойност в прогнозата
Тук, в Холандия, рекордно високата ни стойност е около 80 мм/час; така че тази скала ще се справи перфектно. За други страни може да е разумно да се промени това.
Стъпка 3: Програмен код
Настройки на редактора
Софтуерът за това метеорологично устройство е създаден в средата за програмиране Arduino. Ще го намерите прикачен тук за ваше удобство. Използвайте го както е; или го променете според вашите нужди. Целият текст, който може да се покаже на TFT екрана, се ОПРЕДЕЛЯ отгоре на програмата; което означава, че можете лесно да го промените на свой език, ако искате. Използвах Wemos D1 mini, но подобни платки също ще работят.
В средата Arduino използвах следните настройки;
- Дъска: LOLIN (WEMOS) D1 RA & Mini
- Скорост на качване: 115200
- Честота на процесора: 80 MHz
- Размер на светкавицата: 4M (без SPIFFS) V2 Lower Memory Disabled
Софтуерните таймери се използват, за да направят loop () по -лесен и по -четим. Показването на информацията е отделено от изтеглянето на информацията. По този начин можем да използваме други размери на екрана и т.н., без да се налага да променяме цялата програма.
Използвайте.ino файла и го заредете в редактора на arduino. Настройте дъската си в редактора. Прикачете заглавния файл, който гарантира, че необходимите масиви PROGMEM в C стил са включени в програмата.
SD карта
Имайте предвид, че повечето от наличните 1,8 -инчови дисплеи имат слот за SD карта в задната част на екрана. Това е хубава функция, която ви помага да съхранявате големи изображения на картата. Повечето микроконтролери нямат твърде много памет на борда, така че това помага.
Въпреки че прекарвам много време в опит да накарам SD картата да работи с дисплея, не успях да имам работеща ситуация. Бих могъл да използвам дисплея; успешно извлече файл от SD картата, но след това вече не можех да достигна до TFT екрана. Промяната на библиотеките, промяната на реда на библиотеките и „събличането“на програмата до най -малкото тяло, за да се изключат други възможности, не ми помогнаха.
За да добавя към моето разочарование; в интернет има много примери за хора, които правят подобни неща с положителен резултат, хммм. Възможно ли е да има хардуерен проблем на моя TFT екран? Или нещо, за което не се сетих? Всякакви предложения са добре дошли за следващ опит. В края, след като прекарахте няколко вечери върху него; Реших да напусна този път. Тъй като снимките са само 50x50 пиксела (което води до 5000 байта всяка при 16 битов цвят), ESP може лесно да съхранява това в PROGMEM. Това е трикът, който използвах.
Този избор доведе до още едно предизвикателство. Как да преведа BMP картината, която имах, в четим формат. След известно търсене открих сайта от Хенинг Карлсен, който реши този пъзел по -рано. Той създаде програма, която преобразува файлове тип-p.webp
Стъпка 4: Създайте кутията
Това не е първата кутия, от която се нуждаех. Много стандартни кутии се предлагат от доставчици. С помощта на малък трион, нож, бормашина и т.н. е лесно да се създаде дупка за дисплея в кутията. Но така и не успях да направя точен хубав правоъгълник. Вероятно няма достатъчно умения и/или търпение;-)
Решението: Имах късмет. Имам колеж, който е като супермен, ако трябва да се занимавам с технически неща. Това включва и 3D дизайн и печат. Затова той реши да предложи много от свободното си време, за да измери TFT дисплея и микроконтролера и да създаде кутия около него. Всичко пасва добре, погледнете снимките. Той дори съдържа приставки за дисплея, отвор за USB конектора и място за фиксиране на микроконтролера.
Благодаря Arjan за тази супер свършена работа !!! Още по -добре, той беше толкова любезен, за да даде достъп на всички до работата си, така че ако изтеглите файловете му от връзката и го използвате за свой собствен 3D принтер, можете да създадете същото поле със съдържание.
Препоръчано:
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: 7 стъпки
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: Понякога вибрациите са причина за сериозни проблеми в много приложения. От валове и лагери на машината до работа на твърдия диск, вибрациите причиняват повреда на машината, ранна подмяна, ниска производителност и нанасят сериозен удар върху точността. Мониторинг
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: 3 стъпки
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: КУПЕТЕ (щракнете върху теста, за да закупите/посетете уеб страницата) STM32F767ZISUPPORTED SOFTWARE · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBENCH използва се за програмиране на STM микроконтролери
Как да направите 4G LTE двойна BiQuade антена Лесни стъпки: 3 стъпки
Как да направя 4G LTE двойна BiQuade антена лесни стъпки: През повечето време, с което се сблъсквах, нямам добра сила на сигнала за ежедневните ми работи. Така. Търся и опитвам различни видове антени, но не работи. След загубено време намерих антена, която се надявам да направя и изпробвам, защото тя не градивен принцип
Дизайн на играта с бързо движение в 5 стъпки: 5 стъпки
Дизайн на игра с Flick в 5 стъпки: Flick е наистина прост начин да направите игра, особено нещо като пъзел, визуален роман или приключенска игра
Wemos D1 Mini Weatherstation (Plug & Play): 4 стъпки
Wemos D1 Mini Weatherstation (Plug & Play): Този проект е за най -простата възможна метеорологична станция, базирана на WeMos D1 Mini. Избирам WeMos D1 Mini, защото има предимства: 1. можете да програмирате и стартирате без да свързвате външни модули, просто като използвате USB кабел. нямате нужда от регулация на напрежението