Итак, с рисованием плат у меня полегче чем с рисованием карандашом
Конечно, для настоящего «рисования» плат — необходимы знания (я это понимаю)
Но для моего бытового уровня то что у меня получается — мне хватает
Если понимать принцип работы и не совершать совсем грубых ошибок при проектировании плат — как правило — прокатывает
По этому будем считать — что «умею»
Получилась вот такая платка:
Т.к. детали почти все сосредоточены на слое Ф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
Приколу ради пробуем считать мегу — процесс должен пройти — что покажет что компьютер видит мегу
Можно её стереть кнопочкой с ластиком (хуже не будет)
Потом:
File —
Open 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
Поверх этого всего зальём настройки
File —
Open Data (EEPROM) File... — выбираем адрес
m32_2.08\Debug\Exe\ — из выпадающего списка выбираем тип файла
eep — выделяем файл
Super Clock — кнопка
Открыть — кнопка
Write Data Memory (EEPROM)
Ждём когда закончится процесс
Эту операцию — периодически приходится повторять, без неё бывают артефакты на экране или например у меня не запускался БЛЮТУЗ — перезалил настройки спасло
В этом проекте как правило: что-то не пошло — перезалей настройки
После этой операции — часы, при подаче питания, должны заработать
Если нет модуля блютуз — часы будут при передёргивании питания ТРИ РАЗА ругаться на его отсуствие
Через три раза передёргивания питания — им надоедает это делать, они перестают сообщать про
БЛЮТУЗ ЭРРОР
Всё выше описанное помогает проверить основную конфигурацию часов.
Ну, например, если есть всё, кроме
модуля Bluetooth, датчика температуры и влажности
DHT22/AM2302, датчика давления
BMP180, датчика температур
DS18B20
Если есть всё, то залейте
m32_3.3.7z
Главное, запаковать в красивую коробочку и перевязать красивой ленточкой)))
Коробочка была дубовой:
Ленточки небыло (доставлялось почтой России)
Я в код полез только потому, что АВТОР расписал комментариями (на русском!) в исходниках, а потом в форуме ещё не раз всё разжевал
По вашему если ты не сам пишешь код, а того хуже — не в состоянии его написать по причине… — не важно
То в этом случае — и даже не берись за это дело?
А если взялся — так не свети на показ (пользуйся в тихую и молчи) — так?
Я ни в одном месте не сказал, что это моё изделие
В тексте везде есть ссылки на форум темы автора
Да, к сожалению я лишь реализовал в железе и поделился с этим с публикой
Кому-то будет полезна эта информация — я так думаю
Как-то так. Есть ответная часть. В зависимости от температуры и времени суток включает/выключает или подкручивает сплит (днем обдув 50%, после 18.00 100%).
Извините, ошибся.
Позволю себе процитировать Вас:
"… А так автор просто взял готовое и реализовал в железе. Много ума не надо..."
Если посмотреть на форуме на Амперке — ссылка
то возникает вопрос — насколько «с нуля» Вы это сделали?
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 копейки, а… мы даже не узнали вроде бы как врет ли датчик. А то может он погоду на марсе показывает, а не температуру окружающей среды.
Врят-ли покупные это смогут
А эти — можно так настроить, что будут
Этим они и понравились
подробности: тыц, тыц.
Я не в состоянии поменять программно, а просто припаять вместо ужасного AM2302 280-й — не уверен что часы без программного изменения будут работать с 280 — во и всё
BMP085, BMP180 и BMP280 умеют давление и температуру, а вот BME280 умеет еще и влажность.
ПОНИПРГ
По этому нет софта для программатора
Как я это решил в своём случае — я описал, для тех у кого может нет программатора с софтом, а часы он хочет такие-же
По этому и воспользовался Калькулятором фьюзов AVR ну и рассказал об этом
Для прошивки подобного устройства этого НЕОБХОДИМО И ДОСТАТОЧНО
Приблизительно так…
А критики они просто завидуют — не обращайте внимания! :)
Критики порой говорят очень правильные вещи, просто нужно услышать их (не всегда завидуют)
Невозможен. У каждого устройства на шине i2c свой диапазон адресов. Если прошивка не обращается к датчику давления, то он ничего на шину выдавать не будет.
Это если наоборот — тогда будет ругаться
Спасибо
Отредактировал свою ересь
Двухсторонняя с переходами
Детали с одной стороны
С таким расположением подключения матриц — на одностороннюю — не выкрутиться
Просто это как продолжение предыдущего обзора, но похоже и сюда нужно добавить ссылку на файл платы
Куда проще купить готовую панель 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
По тому же али подобных панелей — кучи.
Ну да, типа «ДЗЭН»
Ведь делают часы на лампах
И вид у них пожалуй стильнее и в какой-то мере круче
Пусть будет как вариант
Прикупить соответствующий модуль (лень разбираться, какой соответствующий) управления? Там программирование простое, правда, очень сомневаюсь, что персонализировать до такой степени получится.
Написать управление на ардуино? Так автор вроде написал, что не программист он…
И в результате получить светодиодный полноцветный дисплей с соотношением сторон 1:2.
Или 1:4, если взять два.
Зато пропадет главное, ради чего автор это затеял: персонализация.
Правда, стоимость заметно возрастет, при уменьшении функционала…
Еще надо прикинуть — хватит ли AVR для нормальной частоты обновления. На большие панели я использовал STM32, но там, правда, и разрешение было во много раз больше.
Если только для себя.
Если на сторону — все таки лучше использовать стандартные модули управления, номенклатура их довольно широка, и несомненный плюс — человек, даже не знающий слово «программирование», может изменять отображаемую информацию, софт открытый и достаточно простой.
А там — либо на флешку и вставить ее в контроллер, либо по вайфаю, либо по сети — как я говорил, номенклатура широка.
Во многих контроллерах есть часы реального времени (спешат, сволочи, практически во всех), во многих есть или можно просто подцепить термодатчик…
В общем, если на заказ на сторону — не уверен, что самопальный контроллер имеет смысл.
На самом деле панели довольно удобные и относительно дешёвые. Интерфейс управления простейший, поэтому их использовать даже удобнее, чем паять сотни светодиодов на плату и делать сканирование ручками :)
А датчики DHT и их аналоги, отстой полный, хз что они показывают. На улице влажность вобще сейчас не меняется, как дошёл до 98% так показывает уже третий месяц. Смена датчика даёт эффект на полдня.
Делался в рамках конкурса к юбилею РАДИОКОТА
Народу понравился — они сами (без участия АВТОРА) — создали тему
Потом через ЮТУБ — нашли АВТОРА — притянули в эту тему
АВТОР был удивлён самостоятельной жизнью проекта, взялся по просьбам его немного развить
Поддерживал как мог, перешли на другую мегу, впихнули новые датчики, реализовали какие-то хотелки
Тогда и матрицы RGB дорого были, и про датчики не так много известно было
Ежу понятно что при современном развитии за 4 года проект устарел морально
Но часики — прикольные ИМЕННО как написал DDimann возможностью персонализации
ВЕСЬ проект выложен в свободном доступе
Если кто крут в программировании и заинтересован в ТАКОМ виде — может прикрутить «правильный» датчик, а заодно поделиться с людьми
Остальное — пустое
АВТОРУ наверняка уже не особо интересно
Мы… ну я, например, не могу этого сделать
В конце концов — погоня за точностью то-же имеет свои пределы (необходимости и достаточности)
Я лично ориентируюсь по ним как по замерам «в попугаях» — не лабораторная погодная станция
Приблизительно прикинуть — можно
Для моей семьи — такой точности достаточно
Ну и симпатичные даже без корпуса, снаружи только матрица светодиодов. А делать корпус для радиолюбителей ещё то западло…
И лепить есть смысл то что не купить или стоит неоправдано дорого, часы если хочется, проще купить.
Хотелось мне мп3 будильник и события с праздниками чтоб показывал. Выбрал путь чтение дат и праздников с сд карты, так редактировать проще и отдельный мп3 плеер для озвучки. Кому интересно можете глянуть.
www.youtube.com/watch?v=FS9svdZdDYc
www.youtube.com/watch?v=8hO3k_zQ6k4
Исходные коды я выкладывал, но никто так и не помог причесать код.
Сейчас потихоньку переделываю под stm32. В программировании тоже дуб дубом но стараюсь.
К обычной кнопке просто приклеен светодиод
Используется как нажимная часть кнопки
У кнопки шток тонковат, а светодиод, проходя через корпус (пластину оргстекла), — снаружи образует приятную на ощупь «кнопочку»
Светодиоды, которые использовались, сгоревшие — не жалко, а так — вторая жизнь
Есть и крашеные такие.
Имхо — удобнее.
Хотя эти кнопки ведь не с утра до вечера нажимать…
Или вам только данные отправить с датчика нужно?
Можете посмотреть, что умеют приложения типа BLYNK там вроде есть какие-то панельки и может даже блютус.
Для тех кому подобное нужно, но делать самому никак, можно купить у автора или на народмониторе.
Прочие условия для Абонентов:
Интервал тарификации при соединениях по каналам передачи данных: Интернет-трафик и WAP-трафик — 1 Кбайт, 1 Кбайт = 1024 байт, 1
МБайт = 1024 Кбайт. Нетарифицируемый объем переданных или полученных данных: Интернет-трафик — 0 Кбайт, WAP-трафик — 0 Кбайт.
Суммарный объем переданных и полученных данных, превышающий нетарифицируемый объем, округляется в большую сторону с точностью
до 1 Кбайт (единица тарификации) по факту закрытия Интернет-соединения, а также один раз в час в случае установленного Интернет-
соединения. Интервал тарификации действует при нахождении абонента в Москве и Московской области, а также в поезках по России.
В Питере сбербанк раздаёт симки с халявным пакетом, 50 минут и 500мб в месяц. но они на основе теле2, которого у меня тоже нет на даче.
Поэтому собрал себе такие:
Часы (4x 8x8 LED Matrix, MAX7219, время с секундами, дата, 2 датчика температуры, датчик освещенности).
HEX и EEPROM.
Надо перекомпилировать исходники, выбрав проц ATmega328.