Не знал, что они статьи и на пикабу выкладывают. Но самое главное отвалилось в посте — видео с итоговым результатом!
Вот такие часики-метеостанцию я запилил за пару недель из плазменного дисплея от старого японского автобуса.
Шрифты плюс-минус обычные, иконки погоды вышли как по мне шикарные, но самым тёплоламповым получился эффект дождя, который отрисовывается в дождливые (по прогнозу погоды) дни.
Ну и музыка тоже своя, да.
Кто нашёл отсылочки в видео (помимо самой очевидной на "Матрицу"), тому приз — два прекрасных нихуя %)
Поскольку мы программируем на микроконтроллерах, на которых построены такие платы как Arduino или ESP32, то и рассматриваемые способы будут применимы как раз для них:
Самые простые и удобные 3 способа.
1. Использование аналоговых датчиков температуры вроде TMP36 или LM35, с подключением к аналоговому входу Arduino. Контроллер считывает выходное напряжение с них, преобразуя аналоговый сигнал в цифровой, а затем по формуле считается текущая температура (для каждой модели датчика она своя и ее можно найти в технической документации к купленному компоненту).
2. Использование цифровых датчиков температуры вроде DHT11 или DS18B20. Они могут быть подключены к Arduino с использованием различных проводных протоколов вроде OneWire или I2C. Данные с датчиков можно получить, используя уже существующие библиотеки под каждый из них.
3. Для измерения высоких или очень низких температур поверхностей/жидкостей используйте термопары и модули на базе микросхем MAX6675 или MAX31855, которые могут сравнивать их температуру с температурой окружающей среды (температура холодного спая). Эти модули могут быть подключены к Arduino по протоколу SPI.
Подписывайтесь на наш полезный и образовательный канал!
По сути, это должен быть не первый пост, потому что описываемый датчик полностью несамостоятельный и без базы от него нет пользы. Это не урок или статья "сделай сам", это просто описание моего датчика, вдруг, кого то вдохновит и/или поможет. База представляет собой микроконтроллер esp32, со всякими датчиками и радиоприёмником на частоте 433мГц. О ней, может быть, как-нибудь в следующий раз, или нет, хз.
Решил значит я замутить себе метеостанцию, дабы в любой момент, со смартфона видеть актуальную температуру, да и вообще, набирать статистику. Под рукой была nodemcu v3 на базе микроконтроллера esp8266.
nodemcu v3
Первая проблема, это питание. Я выбрал батарейки типа AA. На батарейках пишут 1.5В, но это не типа среднее напряжение или как там правильно, новая батарейка без проблем может выдавать 1.6 и чуть больше. 2 батарейки могут выдать 1.6*2=3.2, что допустимо для esp8266, но это пик, а я планирую высаживать батарейки по максимуму т.е. до 1В и ниже, а это уже 2В и ниже. Минимальное напряжение esp8266 2.5В(согласно датащиту https://www.espressif.com/sites/default/files/documentation/...). Плюс, я живу в Сибири и у нас бывают морозы, значит, напряжение надо бы повыше, с запасом.
3 батарейки AA это максимум 1.6*3=4.8, можно округлить до 5В. Для esp8266 5В это много, но в nodemcu v3 есть стабилизатор ams1117, который позволяет подавать до 15В, а на выходе у него те самые 3.3В. Но, не всё так гладко, т.к. у этого стабилизатора ток потребления 5 мА, а это значит, даже если вообще исключить потребитель, стабилизатор всё равно будет кушать 5мА. Согласно batterytest.ru, у батарейки GP Super ёмкость 2451, а это значит, её хватит всего на 2451/5=490,2ч или 20 дней при условие, что в цепи один лишь стабилизатор.
Я выпаял стабилизатор ams1117 и использовал MCP1700-3302E. У MCP1700-3302E ток потребления всего 1.6мкА, хотя, в комментариях, на али писали, что стабилизатор подделка и его потребление выше, но честно, я не замерял, решил довериться. Его максимальное, входное напряжение 6В, но это всё ещё выше 5В. Падение напряжения так же низкое, это я уже замерял, и даже при входе менее 3В, на выходе было лишь на несколько десятых ниже входа, а это значит, что 3 разряженные батарейки смогут выдать 1*3=3В, что будет хватать для питания esp8266.
Далее, была другая проблема, даже если не использовать wi-fi, при включение esp8266 инициализирует его, из за чего краткосрочно вырастает потребление, а экономить надо каждый мАч. Решение нашлось в примере LowPowerDemo, где в readme есть ссылка на https://github.com/esp8266/Arduino/issues/6642#issuecomment-... таким образом, можно отключить wi-fi с контроллер сразу будет загружаться в режиме модемного сна.
Если нет wi-fi, то как передавать данные? С помощью 433мГц и передатчика SYN115. Изначально, я просто подключил его на gpio 14. Но оказалось, что в глубоком сне esp8266 не сохраняет состояние пинов, т.е. даже если я даю команду LOW, 14 пин все равно станет HIGH, когда esp8266 уйдёт в deep sleep. Таким образом, SYN115 не только не перестаёт работать и засоряет эфир(моя китайская метеостанция, теряла связь со своим датчиком, в этот момент), но у нас так же повышенное потребление.
Есть вот такая интересная пикча, на ней видно, что gpio 15, единственный пин, который должен быть притянут к земле, чтобы esp8266 нормально запустилась. По логике, раз там должен быть низкий уровень для старта, значит и в глубоком сне, там будет сохраняться низкий уровень. Я точно не помню, с SYN115 или с другим передатчиком, но ESP8266 отказывалась запускаться, будто я подаю на 15 пин высокий уровень. Так, я решил использовать mosfet 2N7000, его управление на GPIO 15, SYN115 на GPIO 14, таким образом, неважно, какое состояние gpio 14, если gpio 15 LOW.
Датчик температуры и влажности, я решил использовать AHT20, хотя, обычно, в инструкциях про метеостанции, этот датчик не упоминается. Работает по i2c, потребление от 250-980мкА. Можно было, его тоже посадить на тот же mosfet, что и SYN115, но мне было лень.
Всё это запихал в корпус с ali, верхние отверстия заклеил, по боком насверлил отверстий. Чтобы избежать попадания влаги внутрь, сделал небольшие крылья, вырезанные из пластиковой бутылки. Испытания весной прошли успешно, какой бы дождь не лил, а ветер не дул, всё продолжало работать.
корпус
Самого фото датчика у меня нет, он на балконе, вскрывать и фотать влом, но я нарисовал схему.
От 2 батареек к аналоговому пину А0 провод подключён для контроля заряда батареи.
Теперь об реальном опыте, а он есть.
Несколько дней назад, у нас были морозы, показатель датчика немного завышали, относительно прогноза из интернета, примерно на +1градус. Хотя, смотря какому прогнозу верить, ведь если я смотрю в 4 источниках(яндекс,гисметео,пр5,yr.no), то вижу несколько отличающиеся цифры.
Вот такие данные получены моим датчиком.
усреднённые по времени суток данные
суточный график
Результаты меня порадовали, датчик не замёрз, батарейки выжили. Специально для зимы, покупал в dns батарейки Nanfu AA, т.к. согласно тестам https://batterytest.ru/1120 очень даже ничего.
У меня нет данных, сколько может проработать датчик от батареек, т.к. я впервые занимаюсь всем этим, и делал много ошибок, прежде чем прийти к описанному выше, батарейки высаживались достаточно активно. Первые батарейки проработали с 26.05 по 3.07 и напряжение 2 батареек было 1.98В, следовательно, каждая разрядилась, примерно до 1.98/2=0.99В. Потом были поставлены батарейки под брендом КОСМОС, но я их поменял на Nanfu AA т.к. боялся, что всю зиму те не проживут. КОСМОС проработали с 3.07 по 18.11 и 2 батарейки выдавали 2.44В т.е. батарейки ещё, вполне, были живы.
Вообще, метеостанция, это первое что я делал на esp, ранее, у меня не было опыта как с esp, так и с arduino, да вообще с микроконтроллерами, точно так же, как и не держал ранее паяльник в руках. Это я к тому, что если, вдруг, вдохновитесь, не бойтесь пробовать. У меня был только небольшой опыт в программирование, поэтому, я писал скетч сам, как хотелось, но библиотеки, конечно же, брал готовые. Но и без опыта программирования, в интернете куча готового кода, собирай, заливай и радуйся.
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Всё произошло по классической схеме. После очередных изменений в скетче метеостанции всё проверил, всё работает нормально, отключил от сети и пошёл на работу, оставив плату на несколько дней в покое. Вернувшись к ней, включил и обнаружил, что дисплей не работает, хотя сама плата как прежде исправна, в чём убедился через монитор компорта. Стал проверять проводное соединение, всё подключено как прежде. Взялся измерять сопротивление между пинам дисплей и платы подключённых к макетной плате, бесконечности нигде нет, максимум 2 Ома на "G" и "VCC". Перепрашивал на разные скетчи, которые раньше работал. Вопрос, почему перестало работать?
Получив в руки плату, да и ещё с TFT дисплеем хочется сразу вывести какую-нибудь информацию. Но я пошёл по не правильному пути обучения, зная о том, что в интернете полно готовых скетчей гораздо интересней чем «Hello World!». Я взял чужой код метеостанции, которую увидел в видео и попытался его перевести, прикрутив чужую русификацию библиотеки «Adafruit-GFX». Это промежуточный вариант. Не удалось вывести название дней недели на русском языке. 🔗Ссылка на GitHub
P.S. Если у вас данный пост вызвал агрессию, то вашему вниманию предлагается видео "Я не волшебник. Я только учусь". Спасибо за внимание.
Друзья, всем привет! Я давно ничего не писал - поглотила работа. Год назад мы другом приняли решение о строительстве самодельной астрономической обсерватории с удаленным доступом. В этом посте, спустя год работы над этим проектом, я хочу подвести итоги и рассказать о планах на будущее.
Год назад, 5 мая 2020 года телескоп был установлен на колонну будущей обсерватории и с тех пор он работал все время в большинстве ясных ночей. На сегодняшний день обсерваторией было сделано 3814 кадров по 64 объектам с общей выдержкой 363,5 часов. Было собрано 116 Гб данных (FITS файлов - астрономический формат изображений), которые по мере сложения я выкладываю на Я.Диск. Для сбора статистики и контроля параметров обсерватории я пишу свой сервис - https://observatory.miksoft.pro/
На обсерватории установлена самодельная метеостанция, которая собирает данные и передает на удаленный сервис раз в 30 секунд. За год работы она накопила более 1.200.000 записей (база данных занимает 185 Мб) о погоде. Метеостанция нужна для автономной работы обсерватории, компьютер которой принимает решение о начале и прекращении съемки по погодным условиям.
Минимальная температура в -37,2℃ была зафиксирована под утро 24 февраля, такой минимум является аномальным для Оренбургского района. Для работы с накопленными метеоданными я пишу другой сервис - https://meteo.miksoft.pro/. Сейчас накоплены данные за год, и я пока думаю, что можно с ними делать. Минимально - это пока выводить архивные данные в сравнении с текущими.
Зиму обсерватория пережила хорошо, несмотря на то, что было очень мало ясных ночей и много снега. Выявились небольшие конструкционные недостатки, которые будут исправлены за лето. Решение делать обсерваторию поднятой над землёй оказалось верным - ее не заметало снегом, влажность внутри помещения всегда на необходимом уровне.
Оборудование тоже в целом отработало без проблем, однако колесо фильтров при температуре ниже -15℃ замерзало, мотор переставал проворачивать диск. Опасения за наледь на рельсах откатной крыши наоборот, оказались напрасными - солнечная погода топила весь лед, крыша ни разу не примерзла. Так что греющий кабель будет не нужен, достаточно внутреннюю поверхность рельс выкрасить в черный цвет.
К годовщине первого полета человека в космос, мы успели обработать 38 астрофотографий. Оренбургский краеведческий музей совместно с министерством образования сами предложили нам провести выставку, выделили средства на печать фотографий, дали помещение (за что им огромное спасибо!).
Мы позвали космонавта Романа Юрьевича Романенко, который открыл нашу выставку. Это было уникальное событие в Оренбургской области - такого раньше не было, так что было очень приятно 🙂
Многие местные СМИ написали про наш астрономический проект, сняли несколько репортажей. Особо я удивился, когда мне позвонили на телефон, представились телеканалом НТВ и сказали, что увидели мой пост про самодельную обсерваторию на Пикабу и хотят снять репортаж. В итоге небольшой сюжет показали по федеральному телевидению, тоже приятно 🙂
Ранее я выкладывал немного фотографий, которые удаётся получать на оборудование обсерватории. Ниже одни из самых, на мой взгляд, красивых фотографий объектов далёкого космоса, которые мы с моим другом получили за прошлый год.
Туманность "Ориона" (M 42) - близкая к нам обширная область звездообразования – самая известная из всех астрономических туманностей. Светящийся газ туманности окружает молодые горячие звезды на краю огромного межзвездного молекулярного облака всего в 1500 световых лет от нас.
Туманность "Пеликан" (IC 5070) находится на расстоянии около 2000 световых лет в высоко поднимающемся на небе созвездии Лебедя. В этой туманности проходят чрезвычайно активные процессы одновременного формирования звезд и высвобождения облаков газа. Свет от молодых звезд медленно нагревает холодный газ и постепенно продвигает фронт ионизации наружу.
IC 1805 - эмиссионная туманность «Сердце» (на фото ее центральная часть), очень крупная — 2.5 градуса, полностью в наш телескоп не поместилась. В центре туманности находятся молодые звезды рассеянного скопления Мелотт 15, их мощное излучение и ветер разрушают несколько живописных пылевых столбов.
Спиральная галактика (M 74), удаленная на 30 миллионов световых лет от Солнца. Расположена в созвездии Рыбы и размещает на своей территории 100 миллиардов звезд. Структура спиральных рукавов галактики великолепно просматривается благодаря ярким скоплениям голубых звезд и темным волокнам космической пыли. Во многих отношениях M74 похожа на нашу Галактику — Млечный Путь.
M33 галактика "Треугольника" является рядовой спиральной галактикой, плоскость которой повёрнута к нам под небольшим углом, за счёт чего хорошо просматривается её строение. Она отдалена от нас на расстоянии 3 миллиона световых лет, а ее диаметр – более 50 тысяч световых лет. На фотографии хорошо видны розоватые области звездообразования, состоящие из ионизированного водорода.
NGC 281 - эмиссионная туманность в созвездии Кассиопея. За свою форму туманность получила название "Пакман" (Pac-Man) в честь персонажа одноимённой аркадной компьютерной игры. Туманность является областью ионизированного водорода, где происходят процессы активного звездообразования. Под действием ультрафиолетового облучения туманность флюоресцирует красным светом. Источником этого излучения являются горячие молодые звёзды рассеянного скопления IC 1590.
А ведь еще четыре года назад, в 2017 году, эту туманность мы снимали с другим качеством. Прогресс виден и это радует 🙂 Остальные фотографии тоже достойны, посмотреть их можно на сайте обсерватории.
Сейчас, благодаря пикабушнику, приславшему две трубки СБМ-20, я занят разработкой двух автономных дозиметров, один будет стоять на метеостанции, а второй ездить на крыше автомобиля и составлять карту грязных мест города. Возникли проблемы с китайскими компонентами - долгое ожидание и часть из них оказалось не рабочими 🙁 По завершению прототипов напишу об этом.
За весну и лето буду продолжать дорабатывать обсерваторию, писать софт. Хотелось бы установить allsky - камеру, собрать комплект для поиска метеоров, SDR приёмник. Уже почти готово оборудование для радио-телескопа, но пока вопрос с монтировкой. Все это жутко интересно в техническом и программном плане, но пока упирается в бюджет для закупки необходимых компонентов. Для меня этот проект, прежде всего, отработать навыки, сделать что-то своими руками. Весь мой опыт - в открытом доступе, буду рад советам, критике и вообще любым комментариям.
На Пикабу стараюсь писать, подводя какие-то итоги, когда накапливается много материала, о котором можно рассказать. В основном веду свои блоги тут:
Есть такое выражение: что на Ардуино не делай — получится либо часы, либо метеостанция. И что самое интересное: ничего из этого я еще не делал. В этом видео сделаем часы-метеостанцию своими руками!
Казалось бы, причем тут исследования космоса? Но далее все по-порядку :)
Мониторинг погоды с помощью самодельного оборудования оказался довольно любопытным занятием...
Идея создания автоматизированной обсерватории с удаленным управлением упёрлась в необходимость получать текущие данные состояния погоды в точке установки астрономического оборудования, вот этого:
Четыре года назад познакомился с микроконтроллерами Arduino (AVR), они оказались очень удобными для прототипирования различных устройств, которые потом можно будет сделать на более серьезных МК. Для обучения работы с Arduino решил собрать первое устройство - метеостанцию. Состояла она из двух блоков - внешнего, который висел за окном и раз в 5 минут передавал показания, и внутреннего, который принимал показания по радиоканалу и отправлял их в сеть на удаленный сервер. На внешнем блоке даже сделал солнечную панель, как помню купил по акции шесть садовых фонариков по 39 рублей, выдернул из них солнечные панели. Собрал из них одну большую, она заряжала внутренние АКБ (обычные ААА аккумуляторы). Такого симбиоза хватало на полгода бесперебойной работы метеостанции, потом аккумуляторы все-таки приходилось заряжать нормально.
Спустя год работы метеостанции, я ее отключил и разобрал. Сделана она была из подручных материалов, вот как она выглядела спустя год работы (внешний блок):
Самодельный блок с анемометром, датчиком освещенности на фоторезисторе и датчиком DHT22 - температуры и влажности.
Блок с МК, и аккумуляторами спустя год - резиновые заглушки сильно потрескались.
Ну а внутри этого блока находится вот что:
Корпус утеплял в 2-3 слоя, проклеивал. Не знаю помогло это или нет, но АКБ, которые там стояли, до сих пор держат заряд и работают исправно. Целый год работала Arduino и не было ни одного сбоя или зависания - ее не приходилось перезагружать. Разброс температур был от +45 на Солнце, до -32 зимой.
Анемометр можно было бы сделать из шариковой мышки, но я такую не нашел. Сделал из небольшого двигателя, убрал все лишнее и прорезал сбоку отверстие для отпопары. На штоке якоря убрал обмотку, поставил самодельный диск с прорезью. Ну и DHT22 датчик:
Одно из моих увлечений - астрономия, и в этом году я построил астрономическую будку с удалённым управлением (часть 1, часть 2, часть 3). И для автоматизации процесса съемки очень важно получать и обрабатывать погодные условия прямо здесь и прямо сейчас. Поэтому решил строить новую метеостанцию, опять на Arduino (понравилась мне она), но уже более серьезную.
Сперва сделал на RJ-45 розетках возможность подключения модулей, но потом переделал на жесткую пайку. Все-таки так будет надёжнее, учитывая прошлый опыт. Соединения могут давать сбои.
Все детали метеостанции напечатал на 3D принтере, получилось прям как заводское исполнение.
Метеостанция после недели тестов и отладки программного обеспечения установлена на свое место - на астрономическую обсерваторию.
Сейчас она измеряет и передает на удаленный сервер показания - температуру, влажность, точку росы, освещенность, интенсивность УФ-излучения, скорость и направление ветра. Заказал еще ИК-пирометр, для датчика облачности. Измерение уровня осадков делать не стал, так как актуально только в теплое время года.
Все данные можно смотреть через веб-интерфейс: просматривать текущие метеоусловия, а также статистику по предыдущим дням: https://meteo.miksoft.pro/
В планах - "допиливание" frontend \ backend метеостанции, сделать возможность выгрузки данных. Также сейчас метеостанция подключена и к проекту "Народный мониторинг".
Конечно, я понимаю, что для работы настоящей метеостанции должны быть выполнены большое количество условий (чтобы ее показания котировались), датчики должны быть сертифицированы, и явно быть дороже и точнее. Но сейчас, для работы удаленной астрономической обсерватории, мне этого более чем достаточно - перед запуском планировщика обсерватории я могу посмотреть текущую метеосводку. Теперь я могу быть уверенным, что в случае наступления неблагоприятных метеоусловий во время съемки (облака или осадки) - контроллер обсерватории сам припаркует телескоп и закроет крышу.
Буквально вчера получил посылку из Китая - ИК пирометр, который будет работать в паре с другим датчиком и мониторить облачность. Так что в ближайшие выходные буду добавлять новый датчик в метеостанцию.
Что дальше? Может быть стоит как-то развить этот мини-проект, сделать еще одну, но автономную, с солнечной панелью, АКБ и передачей данных по GSM?
Посты про строительство обсерватории смотрите в моем профиле.
Выкручивайте остроумие на максимум и придумайте надпись для стикера из шаблонов ниже. Лучшие идеи войдут в стикерпак, а их авторы получат полугодовую подписку на сервис «Пакет».
Кто сделал и отправил мемас на конкурс — молодец! Результаты конкурса мы объявим уже 3 мая, поделимся лучшими шутками по мнению жюри и ссылкой на стикерпак в телеграме. Полные правила конкурса.
А пока предлагаем посмотреть видео, из которых мы сделали шаблоны для мемов. В главной роли Валентин Выгодный и «Пакет» от Х5 — сервис для выгодных покупок в «Пятёрочке» и «Перекрёстке».
Реклама ООО «Корпоративный центр ИКС 5», ИНН: 7728632689