Датчик температуры DS18B20. Набираем комплектуху для самодельных, именных часов проекта Super Clock. Продолжение. Много фоток, ссылок, текста. ОСТОРОЖНО ТРАФИК!

  • Цена: сейчас $3.71

(покупал за 176,47 руб. с доставкой)
Продолжу рассказ про проект часов Super Clock. Предыдущий обзор. Набираем радиодетали. Рассмотрим подробнее устройство. Кому интересно прошу под кат.

Итак, матрицы я купил. Посмотрим что ещё нужно для часов.
Схема часов лист 1

Первоначально в схеме в качестве датчика температур использовался DS18B20
Вот его я и купил у этого продавца
Подтверждение платежа

Товар пришёл в антистатическом пакетике, упакованным в стандартный, почтовый, пакет из бумаги с пупыркой с обратной стороны

Покупка совершалась 04.10.2016. подробностей уже не помню, но товар пришёл в срок, товар годный, продавца рекомендую
Такой датчик я использовал (и сейчас использую в качестве уличного)
Подключение


«Сердцем» часов является ATMEGA32A-AU 05.11.2016 мне удалось купить 2 шт. за 101,38 руб. Что составило цену 50,70 руб. за 1 штуку.
Этого товара в продаже сейчас нет, но тогда мне это обошлось в US $0.79 за штуку при бесплатной доставке
Самая дешёвая, что я сейчас вижу, это наверно эта, если брать поштучно 121 рубль за штуку с доставкой
Подтверждение факта покупки


Схема часов лист 2


Микроконтроллер управляет анодами матриц, через сдвиговый регистр 74HC595
Их я покупал за 33,37 руб., за 10 шт. 04.10.2016 ну или US $0.52 за 10 шт. (если верить истории покупок)
Товара в настоящее время не существует на странице продавца
Купить его наверное можно вот тут, если брать так-же 10 шт. Но это почти в 2 раза дороже чем брал я в прошлом году
Факт покупки

Этих регистров требуется столько, сколько матриц — т.е. в нашем случае 3 шт.
Покупалось давно, подробностей не помню, товар пришёл вовремя, ибо спора не открывал — детали рабочие и уже задействованы в часах.

За время в этих часах отвечают Часы Реального Времени DS3231
На момент покупки самым выгодным было взять эту микросхему в составе модуля для arduino — выходило дешевле и бонусом гнездо под батарейку
Покупал я их 04.10.2016, и тогда с доставкой мне они обошлись в US $0.43 за штуку
Сейчас самые дешёвые US $1.63 с доставкой тут
Тогда я отдал за свои по 27,60 руб. за штуку
Брал 4 штуки за110,37 руб.
Факт покупки

Товар прибыл в антистатических, запаянных пакетиках

Батарейки нет
На платке есть чем ещё поживиться кроме микросхемы часов (если использовать модуль как донора)

Вид с другой стороны:

Товар прибыл вовремя (уже не помню на сколько «вовремя»), но спора я не открывал, товар годный (рабочий) с этой платы использовал гнездо под батарейку и саму микросхему часов. А ещё с неё очень удачно можно забрать угловой разъём соединения, для подключения датчика давления BMP180. Ну и ещё, с неё можно потянуть светодиод. Остальное я, за ненадобностью, не трогал

Модуль датчика давления BMP180
Я его покупал дважды у этого продавца 15.11.2016 и 23.11.2016 и покупка от 23 обошлась дешевле :)
15.11.2016 мне товар обошёлся в 170,21 руб., а 23.11.2016 я заплатил 163,61 руб.
Хотя товар был по одной цене если в баксах US $2.48
Сейчас-же, он и в баксах подешевел US $2.24, что в рублях на сегодняшний день составляет 132,75 руб.
А если поискать, то сейчас этот товар можно купить ещё дешевле например тут
Факт покупки

Товар пришёл в стандартном почтовом, бумажном с целлофановой пупыркой внутри, пакете. Упакованный в отдельный запаянный антистатический пакетик в комплекте присутствует планка соединительных штырей.

Но, так как для соединения с платой часов я использовал угловой разъём с модуля DS3231, этот разъём был за ненадобностью


Размер платки модуля 21 на 18 мм
Напряжение питания 1,8V — 6V
Платка модуля имеет свой регулятор напряжения, а так-же резисторы подтяжки напряжения к линии I2C
По этому в схеме часов лист 1 указано, при использовании BMP180 другие резисторы подтяжки по этой линии — снять. Например при использовании микросхемы часов DS3231 без этого модуля резисторы должны быть, а при установке этого модуля их необходимо убрать с платы
Датчик достаточно чувствительный на изменение давления. Достаточно его поднять или опустить и часы это отображают.
Так-же в нём присутствует датчик температуры
Так что с подключённым этим датчиком, температура внутри помещения уже будет отображаться часами

Датчик температуры и влажности DHT22/AM2302
Товар, который я тогда покупал в настоящее время отсутствует самый дешёвый что я нашёл тут
Я покупал 2 шт.
Было это 06.10.2016 тогда это мне обошлось по $2.44 за штуку
В рублях это вышло за 2 шт. 314,78 руб.
Подтверждение покупки

Датчики пришли в целлофановом пакете с застёжкой



Даташит тут

С этими датчиками на часах были определённые проблемы, обсуждалось начиная отсюда
Датчик занижал показания влажности
Сложно сказать, что является причиной, но разные датчики на одних и тех-же часах показывают разные данные и порой сильно заниженные
Датчики купленные у продавца, которые я брал год назад — работают более или менее правдоподобно, но того продавца уже нет на али
Так что лотерея…

Bluetooth Модуль HC-05
Покупал несколько раз тут

Что там ещё по схеме?
Транзисторы BC817?
Они у меня были, нужно 9 штук
Lm1117-3,3?
Тоже — выдернул с карты
Бузер (пищалка) с генератором частоты — купил на рынке
Резисторы — прикупил недостающие
Диоды индикаторные — СМД, зелёненькие — прикупил, красные на модуле часов есть
Батарейку, гнездо СМД под неё — на рынке в Ростове на Дону
Разъёмчики — валялись — были
Кнопки в местном магазе РОДИОДЕТАЛИ подобрал (есть у нас такой — нам везёт в этом плане)
Управление жестами — не заработало у меня нормально
Постоянно от бегущей индикации переходило в режим отражения бегущей строки, по этому даже там где есть — пришлось отключить.
Разъём mini USB — был
Ну, что поехали?
Лирическое отступление - про мотивацию
Вообще, часов было несколько
Мне в предыдущем обзоре высказывали своё мнение, что часы — должны быть часами, а не универсал-комбайном
В принципе, — согласен.
Но, тогда я хотел, загодя, подготовиться и сделать хороший подарок брату.
Живёт он в Подмосковье, он уже состоявшийся мужчина (уже ближе к полтиннику) и испугать его каким либо подарком — сложно
А вот самодельным изделием, да ещё с календарём-напоминалкой порадовать можно было
В эти часы можно внести правки в тексте исходника программы, после чего, скомпилировать прошивку со своими правками под микроконтроллер часов. Зашить эту прошивку в микроконтроллер, и часы начнут в нужные для тебя дни поздравлять тебя, твою семью и родственников с друзьями со знаменательными для вас датами.
Это казалось прикольным
Ведь всё что ты покупаешь — «не знает» что у тебя сегодня знаменательная дата — а эти часы в этом плане становятся «как родные!»
Короче проект понравился!
Вот только с программированием…
Казалось-бы чего проще — возьми карандаш и рисуй — будь художником!
Но, художником нужно просто быть
Так и с программированием — если не твоё…
Это пугало
Но, глаза боятся, а руки делают
А для начала нужно было хотя-бы собрать железо, прошить стоковой прошивкой от АВТОРА и посмотреть как оно будет
И вариантов было несколько, благо время позволяло — занялся этим вопросом сильно загодя
Вот кстати:

Все платы, кроме верхней, — работали — отладочные варианты для проверки

Как я делал часы
Итак, с рисованием плат у меня полегче чем с рисованием карандашом
Конечно, для настоящего «рисования» плат — необходимы знания (я это понимаю)
Но для моего бытового уровня то что у меня получается — мне хватает
Если понимать принцип работы и не совершать совсем грубых ошибок при проектировании плат — как правило — прокатывает
По этому будем считать — что «умею»
Получилась вот такая платка:

Т.к. детали почти все сосредоточены на слое Ф1 (когда припаяются матрицы — добраться на противоположный слой будет проблематично, по этому всё на этом слое), по этому слой Ф2, можно отключить, чтоб не мозолил глаза
Я понимаю влияние ёмкостно/индукционных наводок от множества параллельно друг другу идущих дорожек
Но с этим типом матриц лучше наверно не получится
По этому — прошу не пинать…

Рядом с АТмегой располагается шестипиновый разъём, это разъём для программатора

Ну, так получилось, что раньше я имел дела с АТмегами (8,16,168,32) и для прошивки был собран простейший программатор «пять проводков» с резисторами
И как тогда прицепил к нему разъём «в рядок», то так он у меня до се и остался — переводить его на стандартный разъём — нет нужды, да и платы ловчее рисовать с таким.
Прошиваю я PonyProg. — делаю это настолько редко, что мне этой программы достаточно
LPT порт у меня есть, на компьютере старая любимая XP
А как это сделать выше озвученной программой вот тут, человек, который меня втянул во всё это безобразие, — сделал понятную инструкцию
Там-же есть ссылка где взять эту программу и как её настроить.

Так вот на том разъёме, что на плате контакты сверху в низ по рисунку будут:
1 питание +5v,
2 — масса (минус),
3 — RESET,
4 — SCK,
5 — MISO,
6 — MOSI — что очевидно по маркировке АТмеги
Для запитования АТМЕГИ можно использовать разъём miniUSB с противоположной стороны платы, соединение 2 пина разъёма GND (массы) с программатором — обязательно.

ВАЖНО!
Два вот этих выделенных резистора на плате, что есть по схеме R3, R5 должны быть установлены, если не установлен BMP180 и необходимо убрать, если в часах установлен BMP180

Т.е. запустить часы без BMP180 можно, но нужно поставить резисторы подтяжки напряжения в линию I2C

Допустим, плата вытравлена. Переходы — запаяны, прозвонены (проверены). Детали смонтированы, проверены (перепроверены). Плата отмыта. Матрицы впаяны… И что дальше?

Для запуска часов потребуются: АТМЕГА, сдвиговые регистры, транзисторы, резисторы, часы реального времени с батарейкой и сетевым питанием — LM1117, кнопки управления, конденсаторы (для фильтрации питания), не забыть до впаивания матриц — припаять бузер (пищалку) — иначе потом не добраться (кстати пищалка должна пищать при подачи на неё питания), ну, и хотя-бы проводки — для подачи питания.
Блютуз модуль, датчик влажности, даже датчик давления — всё это — можно не ставить.
А так всего выше озвученного достаточно для пуска и проверки — остальное можно допаять после пуска
Часы должны пойти. Бегущая строка, при старте, должна «бежать». Кнопки должны реагировать. Засветов быть не должно.

Где брать прошивку
Прошивку брать тут
Если мне память не изменяет, до версии 2.10 — автор делил прошивки на «с BMP180» (с датчиком давления) и «без BMP180»
По этому в посте два архива m32_2.08.rar — без датчика и m32_2.08+.rar — с датчиком
Начиная с версии 2.10 — прошивки включают в состав входящих в конфигурацию часов модулей — датчик давления
О чём речь?
О том, что залив прошивку 2.08+ в конфигурацию без датчика давления — мега будет не находить датчика и ругаться на это светя ошибку.
Прошивку нужно лить согласно подключённых частей устройства

НО!
Скачав архив, вы получите весь исходник ФАЙЛЫ ПРОШИВКИ В АРХИВЕ НЕОБХОДИМО ИСКАТЬ ПО АДРЕСУ: m32_2.08.rar\m32_2.08\Debug\Exe\
Т.е. скомпилированные файлы прошивки всегда лежат в папке Exe, которая в свою очередь лежит в папке Debug, которая лежит в папке проекта m32_2.08

В указанной папке лежат три файла:
Super_Clock.eep
Super_Clock.hex
Super_Clock.rom
Я в МЕГУ заливаю Super_Clock.hex, устанавливаю фьюзы, а потом поверх лью Super_Clock.eep
Super_Clock.eep — порой бывает нужно перезалить, т.к. без этого файла часы отказываются работать.

После внесения изменений и правок, и компиляции — свежескомпилированная прошивка всегда будет находится в проекте по адресу Debug\Exe\
В архиве АВТОРА всегда есть скомпилированные файлы прошивки — адрес где их искать я указал

Как настроить ПОНИПРОГ я давал выше ссылку на инструкцию моего друга
А дальше так: в ДЕВАЙС ФЭМЕЛИ указываем AVR micro, в СЕЛЕКТ ДЕВАЙС ТАЙП выставляем ATmega 32
Приколу ради пробуем считать мегу — процесс должен пройти — что покажет что компьютер видит мегу
Можно её стереть кнопочкой с ластиком (хуже не будет)
Потом: FileOpen Device File — выбираем адрес m32_2.08\Debug\Exe\ — из выпадающего списка выбираем тип файла hex — выделяем файл Super Clock — кнопка Открыть — кнопка Write device — соглашаемся на всплывающее предупреждение — ждём когда закончится процесс


Далее я выставляю фьюзы
Для этого проекта фьюзы: High — D1; Low – 24.
Заходим в Калькулятор фьюзов AVR
Вводим значения High — D1; Low – 24.
Получаем куда нужно поставить галочки:

В ПОНИПРОГ давим Cmmand, в выпадающем окне выбираем Security and Configuration Bits...
Выставляем галочки как указано в калькуляторе, проверяем (семь раз, когда отрежем — будет поздно)

Проверив, давим кнопку Write

Поверх этого всего зальём настройки
FileOpen Data (EEPROM) File... — выбираем адрес m32_2.08\Debug\Exe\ — из выпадающего списка выбираем тип файла eep — выделяем файл Super Clock — кнопка Открыть — кнопка Write Data Memory (EEPROM)
Ждём когда закончится процесс


Эту операцию — периодически приходится повторять, без неё бывают артефакты на экране или например у меня не запускался БЛЮТУЗ — перезалил настройки спасло
В этом проекте как правило: что-то не пошло — перезалей настройки
После этой операции — часы, при подаче питания, должны заработать
Если нет модуля блютуз — часы будут при передёргивании питания ТРИ РАЗА ругаться на его отсуствие
Через три раза передёргивания питания — им надоедает это делать, они перестают сообщать про БЛЮТУЗ ЭРРОР
Всё выше описанное помогает проверить основную конфигурацию часов.
Ну, например, если есть всё, кроме модуля Bluetooth, датчика температуры и влажности DHT22/AM2302, датчика давления BMP180, датчика температур DS18B20
Если есть всё, то залейте m32_3.3.7z


Как я переделывал прошивку под себя
Сделать «свою» прошивку можно при помощи программы CodeVisionAVR 3.12
Взять её можно например тут
Устанавливаем CodeVisionAVR 3.12
Далее, распаковываем архив с прошивкой, заходим в папку и находим файл Super_Clock.prj, открываем его
Получаем вот такую картину:

Попробуем что либо изменить «под себя»
В крайнем левом разделе мы видим файлы проекта
Посмотрим что у нас например в файле DS1307.h

Опа! Выясняется, что скорее всего на прошивке, залитой из проекта АВТОРА — часы «тикать» не станут…
Необходимо 9 строку файла привести к виду:
#define DS3231
Как написано выше «раскомментировать» (убрать два слэша перед этой строкой)
Только в этом случае часики начнут работать
Так, что там у нас ещё…
Зайдём в файл interface.h

Что тут…
Ага, если в часах имеется BMP180 (датчик давления) — оставляем как есть
Если нет — нужно «закомментировать»
Дальше — есть два варианта отображения обработки данных давления
В виде графика — на мой взгляд более информативно, т.к. видна динамика изменений и можно строить краткосрочный прогноз.
И в виде самого прогноза в четырёх градациях: ясно, облачно, осадки, ураган с установкой пороговых значений от нормы
Практика показала, что тот прогноз в виду того что не отслеживает динамики изменений давления — очень часто врёт — график намного информативнее и не делает прогноза (не констатирует текущее состояние) и потому не ошибается
По этому эти настройки у себя я оставляю без изменений
Строка: нормальное давление для текущего расположения часов позволяет ввести корецию относительно нормального давления, в зависимости от высоты.
С изменением высоты — меняется значение «нормального давления» — для графика — это не важно
Что там у нас ещё?

Строки 47 и 48 — время перехода на «ночной режим» и выход из него
Указываешь время перехода в часах
Этими-же установками определяется время срабатывания «кукушки» — почасового сигнала, в период «ночного режима» — «кукушка» молчит
У меня время перехода выставлено 22 — 7
Строки 50 и 52, позволяют выставить яркость
Я себе яркость выставлял через программу связи с компьютером через блютуз, есть какие-то ограничения минимальных значений по яркости — читал в форуме сейчас уже не помню
То-ли 60, то-ли 30
Можно определить «методом тыка»
Максималка 254

Ещё, интересная закладочка Symbols.h

Тут вот в чём прикол
Мне лично «перечёркнутые» нули — не нравятся
Я не программист, и в своей обычной жизни, я сталкиваюсь или с цифрами, или с буквами
И ноли и буквы О в моей жизни — выглядят одинаково
А что это цифра или буква я понимаю интуитивно и из контекста
А когда постоянно вылазят непривычные символы — это раздражает!
По этому для себя я все символы, ноли и буквы «О» привожу к виду:
0x3E, 0x41, 0x41, 0x41, 0x3E,
Да простят меня все те, кто против такого святотатства…
И главное не забываем это сделать и в 106 строке — то-же

Как сделать часы индивидуальными
Так как научить часы своим знаменательным датам и событиям
Делается это в файле holiday.c ( праздники-с :) )

Заходим в файл
Здесь все даты расписаны таким образом
Дата — 4 цифры (первые две дата, две вторые месяц)
Событие — надпись в кавычках
25 января (2501) — Татьянин день
Сегодня 22 ноября
Этой даты в файле нет
Давайте её создадим
Чтоб было проще — скопируем «Татьянин день», и вставим его в список, а потом отредактируем дату, поставив 2210, а потом в кавычках вместо «Татьяниного дня» напишем какую ни будь хрень…

Реальную хрень!

Теперь, например, 2 февраля у моей супруги день рождения
Эта дата занята

Причём для кого как, а вот победа в Сталинградской битве для меня СОБЫТИЕ и его естественно я хочу оставить в СВОИХ часах
Но и день рождение жены — это ПРАЗДНИК
Как их совместить в часах?
Редактируем надпись в кавычках, подставляя там, где нужно, чтоб были цифры годовщины сочетание %u
Так как события два, каждому событию по своей %u в нужном месте
А чтоб программа высчитала правильно годы обоих событий — ей нужно указать два года от которых вести исчисление

У нас в этом событии указан одни год 1943
А нам нужно, согласно последовательности указанных событий, указать два года
Выделяем ,calc_anniversary(1943) ( с запятой впереди)
Дублируем выражение перед выделенным и изменяем год на год отсчёта первого события

Попробуем создать не просто событие, а событие с указанием годовщины
26 марта у малых днюха
Этой даты нет в списке

Естественно её нужно делать с привязкой к году
Копируем какую либо дату с указанием года
Вставляем её меж других дат (меж 25 и 27 марта), не нарушая хронологии, не забывая про строчку интервала меж ними

И редактируем саму дату, потом текст, потом год отсчёта

Вот таким образом «обучаем» часы вашим датам и событиям

ВАЖНО!, если внимательно посмотреть файл Symbols.h, то можно увидеть, что в русском алфавите нет буквы Ё ни заглавной, ни строчной
Й — есть обе, а Ё нет — это нужно учитывать создавая свои сообщения
В изменениях от 02,02 — мной была сознательно внесена ё, а не е в слове ещё
А как это отобразят часы — посмотрите ниже в видео проверки

Ну что, проверим что получилось?
Давим на клавиатуре Shift+F9
Программа компилирует прошивку с заданными нами изменениями в папку проекта по адресу m32_3.3\Debug\Exe\ и по результату выдаёт сообщение

В нём можно увидеть сколько свободной памяти останется в МЕГЕ, после внесения нами наших изменений

Процесс прошивки заснял на видео:

Проверяем всё-ли получилось ли у нас правильно


Традиция
А в это время Катя мечтала о рыбе


Как обещал, фото вскрытых часов после года стояния на кухне в открытом типе корпуса


Пыль есть, но не сказал-бы, что катастрофически много

Файл в Sprint-Layout.6, кому интересно, можно скачать тут

ПРОДОЛЖЕНИЕ СЛЕДУЕТ…
Планирую купить +30 Добавить в избранное +50 +108
+
avatar
  • Kartus
  • 22 октября 2017, 18:22
0
Не, ну брат то, конечно вслух, за такой подарок скажет спасибо…
Главное, запаковать в красивую коробочку и перевязать красивой ленточкой)))
+
avatar
  • Meedved
  • 22 октября 2017, 18:32
+7
Это было около года назад и выглядело так:

Коробочка была дубовой:

Ленточки небыло (доставлялось почтой России)
+
avatar
  • X3Shim
  • 22 октября 2017, 18:30
+3
не надо покупать DHT22. Прошлый век. Уж лучше сразу купить 280-й. Один датчик на все.
+
avatar
  • Meedved
  • 22 октября 2017, 18:35
+6
Автор прикрутил этот, поменять датчик — я не смогу — не программист
Я в код полез только потому, что АВТОР расписал комментариями (на русском!) в исходниках, а потом в форуме ещё не раз всё разжевал
+
avatar
  • sir0ta
  • 22 октября 2017, 18:47
-11
+
avatar
  • Meedved
  • 22 октября 2017, 18:58
+30
По поводу «много ума не надо» и «не ваш, а автора»
По вашему если ты не сам пишешь код, а того хуже — не в состоянии его написать по причине… — не важно
То в этом случае — и даже не берись за это дело?
А если взялся — так не свети на показ (пользуйся в тихую и молчи) — так?

Я ни в одном месте не сказал, что это моё изделие
В тексте везде есть ссылки на форум темы автора
Да, к сожалению я лишь реализовал в железе и поделился с этим с публикой
Кому-то будет полезна эта информация — я так думаю
+
avatar
  • exe
  • 23 октября 2017, 05:26
+1
самому слабо подобное реализовать с нуля? и не на словах, а на деле?
+
avatar
  • sir0ta
  • 23 октября 2017, 07:59
+2



Как-то так. Есть ответная часть. В зависимости от температуры и времени суток включает/выключает или подкручивает сплит (днем обдув 50%, после 18.00 100%).
+
avatar
  • Dockeee
  • 24 октября 2017, 19:29
0
А Вас, случаем, не Игорь зовут?

Извините, ошибся.
Позволю себе процитировать Вас:
"… А так автор просто взял готовое и реализовал в железе. Много ума не надо..."

Если посмотреть на форуме на Амперке — ссылка

то возникает вопрос — насколько «с нуля» Вы это сделали?
+
avatar
  • sir0ta
  • 24 октября 2017, 20:20
0
Нет ) Признаюсь честно — web составляющая в основе своей слизана. Половину кода переписал, но основа конечно слизана. 3-я картинка своя от и до.
+
avatar
  • Dockeee
  • 24 октября 2017, 20:33
0
я вспомнил форум и ветку где я это видел. и уже исправил сообщение.
+
avatar
  • sir0ta
  • 24 октября 2017, 21:27
0
Не. Какие проблемы. От туда же мои комменты:
Добрый день. Спасибо, Игорь. очень помогли Ваши начинания. Но именно как начинания. Вы не упминаете ни где как одновременно слать и в график и в термомтр. Провозился часа 2 пока понял суть. Сделал так что отправляет и в график и в термометр данные. Плюс нет первичной инициализации датчиков. Первый раз всегда прилетае 85 градусов. У меня пока отладочно подключен только один, по этому у второго нет ни инициализации, ни задержки. Вообще библиотека кривовата… Ну да не суть. Что-то было еще по отображению… а нет по получению данных в график, дописал под второй датчик. Ну вроде бы и все. Если у кого вопросы, спрашивайте. В аттаче мой вариант. Кста время везде я докидываю 3 часа, ибо не пойму в чем фишка, но мой сервер прекрасно показывает везде вермя текущее, а тут с температурами UTC+0 хоть ты тресни…
И только заметил… я внутри функции 2 раза вызываю запрос температуры… по идее надо вынести вне функции цикла, а перед ней и там же посавить одну секундную задержку. Исправлено
http://forum.amperka.ru/threads/esp8266-%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%82%D0%B5%D1%80%D0%BC%D0%BE%D0%BC%D0%B5%D1%82%D1%80-%D0%B8-%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B4%D0%BB%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%BA%D0%B8.4625/page-2#post-132077
Это был первый проект. Т.е. я уже не взял все готовое. точнее куски и то… дальше у меня уже был логгер с экраном как законченное устройство. Но оно только рисовало максимум/минимум за 24 час и график (весь код кроме библ мой с нуля). ни куда не слало. Т.к. самым быстрым было приделать готовое. тем более подходило более чем, то это дело стал слать в уарт, а уже есп читал и кидал на сервер. Коду не велико, но все же… с ультра поверхностым знанием lua… (это нацатый язык за который я взялся, по этому сильно не вдавался, ибо знал что много я с ним возится не буду, все равно все временно).
А цитировать… вы слышали про объектно ориентированные языки программирования. нет не так. Вы слашыли про си и иже с ними? А про ассемблер, а про машинный код? Так вот грубо говоря в данном случае вы именно это и сравниваете. Уже есть каркасы, из них и собирается готовое. Т.е. я собрал из 2-х девайсов уважаемого Игоря один девайс. Уже не копипаст в чистом виде. При чем не просто собрал, но и понял всю суть происходящего и… и донес дальше не показывая какой я вау. Просто пообщался с автором и как бы предложил логическое завершение его работы. А то от куда вы меня процитировали ни чего к чему можно было бы приложить голову.
А так копипастом не горжусь. Принимаю за должное. Если бы автор показал датчик и копипас вскользь, а так товару 3 копейки, а… мы даже не узнали вроде бы как врет ли датчик. А то может он погоду на марсе показывает, а не температуру окружающей среды.
+
avatar
  • CasmSar
  • 22 октября 2017, 19:04
+2
… Уж лучше сразу купить 280-й...
Если с определением температуры и давления без определения влажности BMP280 — около 1 USD, а если с определением температуры, давления и влажности BME280, то неразумные деньги хотят — более 3 USD. Спрос рождает предложение, но датчик действительно высокоточный.
+
avatar
0
Электроника так быстро дешевеет, что через 3-4 месяца датчик уже будет стоит 1,5 долл.
+
avatar
  • Aslan54
  • 22 октября 2017, 18:42
-3
Ведь всё что ты покупаешь — «не знает» что у тебя сегодня знаменательная дата
Ну почему же. Есть часы с несколькими будильниками. Выставил и будут напоминать.
+
avatar
  • Meedved
  • 22 октября 2017, 19:04
+4
И согласно даты поздравлять бегущей строкой? Всех членов семьи? И напоминать что у кума, свата, дядьки — сегодня день рождения?
Врят-ли покупные это смогут
А эти — можно так настроить, что будут
Этим они и понравились
+
avatar
  • Dallyla
  • 23 января 2018, 16:57
0
очень жаль, что нужно это всё прописывать в код программы, а не подключить часики через сеть к гугл-аккаунту телефона с его календарём и напоминалками…
+
avatar
+2
DS3231 и BMP180 имеет встроенный датчик температуры. BMP180 умеет еще и влажность. Зачем вам это ужасный AM2302 который начинает безбожно врать по влажности после 50%

подробности: тыц, тыц.
+
avatar
  • Meedved
  • 22 октября 2017, 18:46
+2
За тем, что АВТОР проекта его использовал
Я не в состоянии поменять программно, а просто припаять вместо ужасного AM2302 280-й — не уверен что часы без программного изменения будут работать с 280 — во и всё
+
avatar
  • sir0ta
  • 22 октября 2017, 18:48
-5
+
avatar
  • AnnaSun
  • 22 октября 2017, 18:59
+5
истина писать Гуттенберг слово книга.
+
avatar
  • peetbull
  • 22 октября 2017, 20:48
+1
BMP180 умеет еще и влажность.
уверены? может BME280?
+
avatar
  • AnnaSun
  • 22 октября 2017, 21:45
0
BMP-2 умеет ещё и давление)
+
avatar
  • robosku
  • 22 октября 2017, 23:51
+2
Что-то вы всё напутали :))

BMP085, BMP180 и BMP280 умеют давление и температуру, а вот BME280 умеет еще и влажность.
+
avatar
0
да вы правы. погорячился.
+
avatar
0
Для этого проекта фьюзы: High — D1; Low – 24.
Заходим в Калькулятор фьюзов AVR
А воспользоваться софтом для программатора, который сразу понимает байты, не? Сразу убираем кучу проблем, особенно важно для чайников, у которых нет «фьюзебит доктора».
+
avatar
  • Meedved
  • 22 октября 2017, 19:18
+6
Шью простейшим «программатором» LPT- пять проводков (сделанным фиг знает когда)
ПОНИПРГ
По этому нет софта для программатора
Как я это решил в своём случае — я описал, для тех у кого может нет программатора с софтом, а часы он хочет такие-же
По этому и воспользовался Калькулятором фьюзов AVR ну и рассказал об этом
Для прошивки подобного устройства этого НЕОБХОДИМО И ДОСТАТОЧНО
Приблизительно так…
+
avatar
  • Olegkad
  • 22 октября 2017, 19:00
0
Однозначно +. Всё с подробностями спасибо, может и соберусь повторить.
+
avatar
  • yurok
  • 22 октября 2017, 19:21
+5
с меня плюсик за старания и за желание сделать приятное брату! Ну и самоделки — всегда интересно…
А критики они просто завидуют — не обращайте внимания! :)
+
avatar
  • Meedved
  • 22 октября 2017, 19:23
+2
Спасибо
Критики порой говорят очень правильные вещи, просто нужно услышать их (не всегда завидуют)
+
avatar
  • dansar
  • 22 октября 2017, 19:33
0
Вы вначале вставьте ссылки на предыдущую часть, а то непонятно, что за «суперклок», и с чем его есть. Хорошо, что в конце есть список со всеми обзорами автора.
+
avatar
  • Meedved
  • 22 октября 2017, 19:47
0
Вывел в начало темы и ссылку на проект и на предыдущий обзор
+
avatar
+3
> В то-же время если устройство будет подключено, но прошивка будет БЕЗ — возможен (наверное) конфликт оборудования по линии I2C
Невозможен. У каждого устройства на шине i2c свой диапазон адресов. Если прошивка не обращается к датчику давления, то он ничего на шину выдавать не будет.
+
avatar
  • Meedved
  • 22 октября 2017, 20:09
0
Да, Вы правы
Это если наоборот — тогда будет ругаться
Спасибо
Отредактировал свою ересь
+
avatar
  • Na4Fin
  • 22 октября 2017, 20:19
+1
Респектищще! Очень подробно описано. Накидал Ваши два обзора себе в закладки, буду пробовать, наверное, долгими зимними вечерами. Один вопрос — плата все-таки двухсторонняя или односторонняя?
+
avatar
  • Meedved
  • 22 октября 2017, 20:29
0
Спасибо
Двухсторонняя с переходами
Детали с одной стороны
С таким расположением подключения матриц — на одностороннюю — не выкрутиться
Просто это как продолжение предыдущего обзора, но похоже и сюда нужно добавить ссылку на файл платы
+
avatar
0
А зачем при современной доступности китайских матриц вообще заморачиваться с пайкой одноцветных матриц с таким низким разрешением?
Куда проще купить готовую панель 192х96 мм с разрешением 3 мм. На ней будет готовая матрица 64х32 RGB пикселя, позволяющих вывести вообще что угодно.
Вот такую, например:
aliexpress.com/item/P3-Indoor-Full-color-LED-display-module-192mm-x-96mm-64-32-Pixels-SMD-3-in/1641364020.html
По тому же али подобных панелей — кучи.
+
avatar
  • Meedved
  • 22 октября 2017, 20:37
+1
Уже спрашивали в предыдущих обзорах — типа что это ДЗЭН?
Ну да, типа «ДЗЭН»
Ведь делают часы на лампах
И вид у них пожалуй стильнее и в какой-то мере круче
Пусть будет как вариант
+
avatar
  • DDimann
  • 22 октября 2017, 21:14
+1
Вот такую, например:
С учетом того, что автор в самом начале признался, что он в программировании не силен, как вы предлагаете управлять этим модулем?
Прикупить соответствующий модуль (лень разбираться, какой соответствующий) управления? Там программирование простое, правда, очень сомневаюсь, что персонализировать до такой степени получится.
Написать управление на ардуино? Так автор вроде написал, что не программист он…
И в результате получить светодиодный полноцветный дисплей с соотношением сторон 1:2.
Или 1:4, если взять два.

Зато пропадет главное, ради чего автор это затеял: персонализация.
Правда, стоимость заметно возрастет, при уменьшении функционала…
+
avatar
0
С учетом того, что автор в самом начале признался, что он в программировании не силен, как вы предлагаете управлять этим модулем
Да, пожалуй. Функционала то там не густо (глянул описание исходного проекта), так что повторить его не сложно, но всё равно это требует неплохого владения темой.
Еще надо прикинуть — хватит ли AVR для нормальной частоты обновления. На большие панели я использовал STM32, но там, правда, и разрешение было во много раз больше.
+
avatar
  • DDimann
  • 23 октября 2017, 12:04
0
На большие панели
В общем то эти панели предназначены для изготовления бегущих строк, так что не уверен, что имеет смысл заморачиваться с самостоятельным изготовлением контролера.
Если только для себя.
Если на сторону — все таки лучше использовать стандартные модули управления, номенклатура их довольно широка, и несомненный плюс — человек, даже не знающий слово «программирование», может изменять отображаемую информацию, софт открытый и достаточно простой.
А там — либо на флешку и вставить ее в контроллер, либо по вайфаю, либо по сети — как я говорил, номенклатура широка.
Во многих контроллерах есть часы реального времени (спешат, сволочи, практически во всех), во многих есть или можно просто подцепить термодатчик…
В общем, если на заказ на сторону — не уверен, что самопальный контроллер имеет смысл.
+
avatar
0
Разумеется. Свой контроллер делал именно для своих, весьма специфичных задач — в одном случае нужна была синхронизация вывода с видеосигналом и точная подстройка баланса белого, во втором случае был ридер тайм-кода и приём команд по RS232C :)
На самом деле панели довольно удобные и относительно дешёвые. Интерфейс управления простейший, поэтому их использовать даже удобнее, чем паять сотни светодиодов на плату и делать сканирование ручками :)
+
avatar
0
Выбрал 8х8 из за простоты ремонта. Если с большой матрицой проблема, не известно сможите починить или нет. А маленькие модули легко просто заменить.
+
avatar
  • mike888
  • 22 октября 2017, 21:28
0
Прикольнее часы с проектором, слепить проектор несложно из индикатора для наручных часов.
А датчики DHT и их аналоги, отстой полный, хз что они показывают. На улице влажность вобще сейчас не меняется, как дошёл до 98% так показывает уже третий месяц. Смена датчика даёт эффект на полдня.
+
avatar
  • Meedved
  • 22 октября 2017, 21:53
+2
Проект автором делался 4 года назад
Делался в рамках конкурса к юбилею РАДИОКОТА
Народу понравился — они сами (без участия АВТОРА) — создали тему
Потом через ЮТУБ — нашли АВТОРА — притянули в эту тему
АВТОР был удивлён самостоятельной жизнью проекта, взялся по просьбам его немного развить
Поддерживал как мог, перешли на другую мегу, впихнули новые датчики, реализовали какие-то хотелки
Тогда и матрицы RGB дорого были, и про датчики не так много известно было
Ежу понятно что при современном развитии за 4 года проект устарел морально

Но часики — прикольные ИМЕННО как написал DDimann возможностью персонализации
ВЕСЬ проект выложен в свободном доступе
Если кто крут в программировании и заинтересован в ТАКОМ виде — может прикрутить «правильный» датчик, а заодно поделиться с людьми
Остальное — пустое

АВТОРУ наверняка уже не особо интересно
Мы… ну я, например, не могу этого сделать

В конце концов — погоня за точностью то-же имеет свои пределы (необходимости и достаточности)
Я лично ориентируюсь по ним как по замерам «в попугаях» — не лабораторная погодная станция
Приблизительно прикинуть — можно
Для моей семьи — такой точности достаточно
+
avatar
  • ploop
  • 22 октября 2017, 23:17
0
Помню этот проект, возможно даже одобрял его на конкурс. Сначала не понял, с чего такая популярность (тема действительно разрослась, при том с массой модификаций), потом дошло — простота и доступность комплектующих. Те же светодиоды в то время стоили 5 рублей ведро, а матрицы гораздо дороже.

Ну и симпатичные даже без корпуса, снаружи только матрица светодиодов. А делать корпус для радиолюбителей ещё то западло…
+
avatar
  • mike888
  • 23 октября 2017, 12:35
0
Сейчас проще конструктор на ардуине взять за основу, актуально тем, кто с программированием не очень, программа конечно кривенькая будет, но для сельской местности вполне. Сейчас вся комплетуха копейки стоит.
И лепить есть смысл то что не купить или стоит неоправдано дорого, часы если хочется, проще купить.
+
avatar
  • ploop
  • 23 октября 2017, 12:44
0
часы если хочется, проще купить.
Не всегда. Я вот так и не нашел в своё время часы, которые хотел. Пришлось лепить.
+
avatar
+1
Все таки интересная тема самому собрать часики. Тоже увлекся этим но выбрал другой проект в качестве основы, а потом с помощью автора переработал его для себя.
Хотелось мне мп3 будильник и события с праздниками чтоб показывал. Выбрал путь чтение дат и праздников с сд карты, так редактировать проще и отдельный мп3 плеер для озвучки. Кому интересно можете глянуть.
www.youtube.com/watch?v=FS9svdZdDYc
www.youtube.com/watch?v=8hO3k_zQ6k4
Исходные коды я выкладывал, но никто так и не помог причесать код.
Сейчас потихоньку переделываю под stm32. В программировании тоже дуб дубом но стараюсь.
+
avatar
  • Neos
  • 22 октября 2017, 23:54
+1
А что за кнопки у вас со светодиодами? Не встречал таких никогда.
+
avatar
  • Meedved
  • 23 октября 2017, 07:18
0
И не встретите :)
К обычной кнопке просто приклеен светодиод
Используется как нажимная часть кнопки
У кнопки шток тонковат, а светодиод, проходя через корпус (пластину оргстекла), — снаружи образует приятную на ощупь «кнопочку»
Светодиоды, которые использовались, сгоревшие — не жалко, а так — вторая жизнь
+
avatar
  • DDimann
  • 23 октября 2017, 12:10
0
В следующий раз лучше использовать светодиоды с цилиндрическим корпусом, типа таких:

Есть и крашеные такие.
Имхо — удобнее.
Хотя эти кнопки ведь не с утра до вечера нажимать…
+
avatar
  • aae
  • 23 октября 2017, 02:23
0
А делают такие, но с выводом на смартфон, ПК?
+
avatar
0
Хотите автономную панельку на корпус ПК с температурой процессора и дисков?
Или вам только данные отправить с датчика нужно?
+
avatar
  • aae
  • 23 октября 2017, 02:55
0
Нужен информер на экране с температурой и влажностью нескольких датчиков
+
avatar
0
Насчёт информера не знаю, это прогать надо, умею вебстраничку показывать)) можно взять оранж пай и нацеплять к нему датчиков и отправлять их в умный дом или на сайт типа narodmon. Можно esp вместо оранжа, но прогать чуть сложнее и ethernet-а нету.
Можете посмотреть, что умеют приложения типа BLYNK там вроде есть какие-то панельки и может даже блютус.
+
avatar
  • mike888
  • 23 октября 2017, 12:42
0
На радиокоте есть тема «GSM метеостанция гибрид» У меня уже год на даче работает, шлёт данные через гсм на свой сервер, народмонитор и можно своё приписать. Из полезных функций термостат или управление нвгрузкой, шлейф охраны. Проблема лишь с опсосами, найти вариант инета за гуманные деньги. Эти жлобы округляют сессию из пары килобайт до сотни. В результате влетаешь на доллар в день за ничтожный объём трафика.
Для тех кому подобное нужно, но делать самому никак, можно купить у автора или на народмониторе.
+
avatar
0
У МТС был раньше тариф Маяк. Как раз для мизерного количества передачи данных. Поищите, может такой тариф еще существует. Выдержка из условий тарифа:
Прочие условия для Абонентов:
Интервал тарификации при соединениях по каналам передачи данных: Интернет-трафик и WAP-трафик — 1 Кбайт, 1 Кбайт = 1024 байт, 1
МБайт = 1024 Кбайт. Нетарифицируемый объем переданных или полученных данных: Интернет-трафик — 0 Кбайт, WAP-трафик — 0 Кбайт.
Суммарный объем переданных и полученных данных, превышающий нетарифицируемый объем, округляется в большую сторону с точностью
до 1 Кбайт (единица тарификации) по факту закрытия Интернет-соединения, а также один раз в час в случае установленного Интернет-
соединения. Интервал тарификации действует при нахождении абонента в Москве и Московской области, а также в поезках по России.
+
avatar
0
Еще у билайна есть аналогичный тариф СИГНАЛ.
+
avatar
  • mike888
  • 27 октября 2017, 22:30
0
Нету у меня ни трактористов, ни пчеловодов, только мегавонь и то через пень колоду.
В Питере сбербанк раздаёт симки с халявным пакетом, 50 минут и 500мб в месяц. но они на основе теле2, которого у меня тоже нет на даче.
+
avatar
  • imlekha
  • 23 октября 2017, 10:36
+1
Огромный плюс за Сталинградскую битву! Ну и часы прикольные :)
+
avatar
  • Varicap
  • 23 октября 2017, 11:36
0
Недолюбливаю часы без индикации секунд.
Поэтому собрал себе такие:


Часы (4x 8x8 LED Matrix, MAX7219, время с секундами, дата, 2 датчика температуры, датчик освещенности).
+
avatar
  • hatul
  • 23 октября 2017, 22:15
0
Вот типа таких тоже хочу. Если на Ардуине, скетчем не поделишся?
+
avatar
  • Varicap
  • 23 октября 2017, 23:05
0
На ATmega8.
HEX и EEPROM.
+
avatar
  • hatul
  • 24 октября 2017, 08:56
0
Ардуино Nano можно прошить этим НЕХ?
+
avatar
  • Varicap
  • 24 октября 2017, 10:25
0
Прошивать нужно не только НЕХ. Также требуется прошивка EEPROM и Fuse.
+
avatar
  • hatul
  • 24 октября 2017, 12:08
0
Спасибо! Все понял.Для меня это, скажем так, сложновато. Будут часы тикать без секунд.
+
avatar
  • demonk
  • 27 октября 2017, 13:38
0
Прошивать HEX для ATmega8 в ардуину нельзя. Бинарники не совместимы, т.к. разные адреса регистров периферии.
Надо перекомпилировать исходники, выбрав проц ATmega328.