Прошивка микросхем памяти и микроконтроллеров Часть #1
Ps. Хотел сюда загрузить видео, но к сожалению ролик получился около 20 минут. Поэтому использую ссылку.
Что купить, чтобы заниматься спортом на улице
Несмотря на капризы погоды, лето неумолимо приближается. Значит, занятия в спортивном зале или домашние тренировки получится заменить на активности под открытым небом. Собрали для вас товары, которые сделают уличные воркауты интереснее, увлекательнее и полезнее.
Мегамаркет дарит пикабушникам промокод килобайт. Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
Для тех, кто привык заниматься один
В компактную поясную сумку поместятся телефон, ключи, кошелек или другие нужные мелочи. Во время тренировки все это не гремит и не мешает, но всегда находится под рукой. Материал сумки прочный и влагонепроницаемый, вещи в ней защищены от повреждений, царапин или пота.
С фитнес-резинкой можно тренировать все группы мышц: руки, ноги, кор, ягодицы. А еще она облегчает подтягивания и помогает мягко растягиваться. В сети можно найти огромное количество роликов с упражнениями разной степени сложности. Нагрузка легко дозируется: новичкам подойдет резинка с сопротивлением до 23 кг, опытным атлетам — до 57 кг. При этом оборудование максимально компактно и поместится даже в небольшую сумку.
Для тех, кому надоели обычные тренировки. Слэклайн — это стропа шириной 50 мм, с помощью которой осваивают хождение по канату. Тренажер учит сохранять баланс, прокачивает координацию и концентрацию, а еще дает отличную нагрузку на спину, руки и ноги.
Для активных занятий вдвоем
Настольный теннис — простой в освоении вид спорта, который отлично помогает размяться и тренирует скорость реакции. В комплект входят две ракетки, три мяча, сетка, накладка и чехол — все, что нужно, чтобы поиграть вечером во дворе с другом или устроить небольшие соревнования. Этот недорогой набор подойдет именно для развлечения и веселья, устанавливается почти на любой стол.
Еще один вид спорта, которым можно заниматься, даже не имея серьезной подготовки — бадминтон. С набором от Wish Steeltec вы сможете потренировать силу удара, побегать и просто хорошо провести время. Детали яркие, так что их трудно потерять даже на природе. Леска натянута прочно, ресурса ракеток должно хватить не на один сезон.
Фрисби воспринимается как простое пляжное развлечение. Тем не менее перекидывание друг другу тарелки задействует все группы мышц и развивает скорость реакции. Эта тарелка летит далеко и по понятной траектории — отличный снаряд для начала. Кстати, фрисби — это еще и ряд спортивных дисциплин со своими правилами и техническими сложностями, так что игра с друзьями может перерасти в серьезное увлечение.
Для большой компании
Стильный мяч из износостойкой резины отлично подходит для уличных тренировок. Вы сможете поиграть компанией в баскетбол или стритбол или просто отработать броски. При производстве используется технология сбалансированного сцепления: это значит, что снаряд не сбежит от вас и будет двигаться по стабильной траектории.
Футбол — один из самых популярных в России видов спорта. Играя, можно отлично побегать, потренировать меткость и отработать взаимодействие в команде. Футбольный мяч Torres Striker выполнен из качественного полиуретана и резины и выдержит не один десяток матчей, не потеряв упругости. Отличная балансировка и оптимальный размер делают его подходящим как для взрослых, так и для подростков. Он достаточно тяжелый, почти как в профессиональном спорте, так что совсем малышам не понравится.
Пляжный или обычный волейбол? А может быть, пионербол, как в детском лагере? Мяч TORRES SIMPLE COLOR подойдет для любой из этих игр. Камера отлично держит давление, поэтому вам не придется постоянно подкачивать его, а качественные материалы (полиуретан и бутил) сохраняют все характеристики даже при интенсивном использовании.
Для совмещения приятного и полезного
Многоскоростной велосипед с рамой 19-го размера подойдет как мужчинам, так и женщинам. Это отличный вариант для новичков: модель доступная, удобная. Поможет понять, нравится ли вам велоспорт. Конструкция велосипеда позволяет ездить по дорогам разных типов, поэтому вы сможете перемещаться по городу или отправиться в поход. Есть складной механизм — велосипед с ним легко возить в машине, на электричке и просто хранить в кладовке.
Более продвинутая модель для тех, кто уже оценил прелесть движения на двух колесах. Геометрия велосипеда предполагает вертикальную посадку. Это обеспечивает более удобное положение тела, чем на других байках. В конструкции предусмотрены детали для комфорта и безопасности: пружинная вилка с ходом 100 мм, сервисная подводка тросов и дисковые гидравлические тормоза.
Если вы не фанат велоспорта, но хотите получить свою дозу физической нагрузки, перемещаясь по городу, выбирайте самокат. В модели PLANK Magic 200 есть регулировка руля по высоте, надежные тормоза и прочная увеличенная дека из алюминия. Когда вы катаетесь на самокате, работают мышцы ног, ягодиц, спины и живота, а заодно добираетесь, куда нужно. Если вы решите сделать паузу в тренировках, самокат легко складывается для хранения.
Экипировка
Любая активность на свежем воздухе требует хорошей обуви, специально сделанной для занятий спортом. Яркие кроссовки Hoka RINCON 3 с облегченным весом амортизируют, снижают нагрузку на суставы. Выраженный рельеф подошвы обеспечивает сцепление с поверхностью вне зависимости от того, где проходит тренировка: на специальной площадке, асфальте или грунте.
Легкие женские кроссовки из линейки Clifton подходят для занятий на твердых покрытиях. Дышащий сетчатый верх поддерживает вентиляцию стоп, чтобы можно было тренироваться даже в жару. Подошва из легкой пены EVA гасит силу ударов. Кроссовки беговые, подходят для тренировок на длинных дистанциях.
Защита от солнца и перегрева
Во время занятий на свежем воздухе важно защитить голову от перегрева. С этим отлично справится легкая и светлая бейсболка — например, от GLHF. Она удобно сидит на голове, не сваливается и не отвлекает от занятий, благодаря сетке голова меньше потеет. Козырек жесткий и не мнется.
Не забудьте защитить кожу от солнца — чтобы не было мучительно больно на следующий день после тренировки под открытым небом. В этом поможет крем против пигментных пятен с сильной защитой от ультрафиолета SPF50. Водостойкая текстура легко наносится и быстро впитывается, действует два часа — потом крем нужно обновить.
Удобные и стильные солнцезащитные очки защищают глаза благодаря фильтру UV400, который поглощает до 99.99% ультрафиолета. Они выполнены из легких материалов и плотно прилегают к голове. Ударопрочные поликарбонатные линзы с антибликовым покрытием подходят для разных видов спорта.
Используйте промокод килобайт на Мегамаркете. Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
Реклама ООО «МАРКЕТПЛЕЙС» (агрегатор) (ОГРН: 1167746803180, ИНН: 9701048328), юридический адрес: 105082, г. Москва, ул. Спартаковская площадь, д. 16/15, стр. 6
Программаторы для прошивки микроконтроллеров а также микросхем памяти
Здравствуйте! В этом видео Вы можете узнать о программаторах, с помощью которых можно прошить микроконтроллер разных производителей, а также микросхемы памяти. А также об адаптерах переходниках для разных типов микросхем.
Пол — это лава: разработка прототипа интерактивной светодиодной игровой платформы
Дурная голова рукам покоя не даёт… история началась несколько месяцев назад: я увидел на Пикабу забавное видео игры в комнате с пиксельным светодиодным полом и решил сделать подобное для своих детей. За эти месяцы я получил массу удовольствия от процесса разработки и даже заразился идеей масштабирования проекта, но обо всём по порядку! Внимание, ниже будет много фото!
Идея
Идея в целом не уникальна, но я не нашёл в продаже каких-то готовых решений. В том же Китае продаются платформы без обратной связи и без игровых возможностей, у них это называется светодиодный танцевальный пол. Но это всё не то, что я хотел, а значит надо делать самому. Всегда любил работать со светодиодами, это приносит огромное эстетическое удовольствие, и в целом я скучал по работе с электроникой, так что решил сдуть пыль с паяльной станции и прикупить ещё некоторое оборудование.
Пара слов обо мне
Пользуясь случаем, позвольте кратко представиться, так текст будет менее обезличенным.
В жизни меня зовут Анатолием, в прошлом я более 5 лет проработал на крупном заводе инженером-схемотехником-программистом (нужное подчеркнуть), так что присутствует какой-никакой реальный опыт и понимание процесса массового производства электроники, надеюсь ещё пригодится. Последние 5 лет работаю фуллстек разработчиком. Так и решил совместить эти две области в одном проекте.
Меня весьма вдохновляет прорабатывать полный производственный цикл изделия: от разработки схемотехники и написания низкоуровневого ПО на микроконтроллеры до продумывания конструктива и поиска редких метизов для сборки (это когда ты немного ошибся в 3D модели крепления датчика, а их уже напечатано более 320 штук *facepalm*).
На Пикабу публикуюсь впервые, раньше немного писал на Хабре (аля Как я в армии в экселе сетевого Бомбермена писал или Как банкоматы взрывоопасным газом накачивал). Будем знакомы!
Концепция
Вот примерный концепт того, каким я видел проект:
Игровая комната:
пиксельный RGB-светодиодный интерактивный игровой пол с адекватным временем реакции на нажатие;
настенные кнопки для разнообразия игрового процесса;
табло с информацией по игре (название игры, общее время, время этапа, очки, жизни и т.п.);
колонки со звуковым сопровождением игры (озвучивать ошибки/победы/поражения, называть цели этапов, цвета и прочее).
Игровой контроллер:
приёмопередатчик для шины данных;
Ethernet / Wi-Fi канал для связи с внешним миром;
аудио выход для звукового сопровождения;
видео выход для табло.
Админ интерфейс:
отображение текущего состояния платформы и информации по игре;
запуск/остановка игр;
индивидуальная настройка пикселей (назначение адресов, коэффициентов, калибровка, дефектовка и т.д.);
конструктор игр;
всякого рода журналирование (игры, логи контроллера, ошибки и пр.).
Основная цель: на старте заложить техническую возможность масштабирования платформы до размеров средней комнаты ~20-30 м2. На этом этапе лбами сталкиваются проблемы частоты обновления платформы и надёжности связи. По своей сути это взаимовытесняющие вещи: хочешь надёжно — пожертвуй скоростью, хочешь быстро — будь готов к потерям данных. Я не хотел тупо гнать сигнал через адресную ленту на базе WS2812B, это путь в никуда.
* Скриншот из видео Activate Games
По итогу всех изысканий, в качестве интерфейса связи к пикселям, мной была выбрана шина CAN, я считаю она идеально ложится на вышеизложенную концепцию:
количество устройств в одной подсети может достигать до 120 шт. При группировке по 4 пикселя это обеспечит мне теоретический предел в 476 пикселей или примерно 34 м2, чего более чем достаточно на начальном этапе. Далее можно расширять путём введения дополнительных подсетей или увеличения количества пикселей в группах;
скорость передачи данных до 500 Кбит/с на 100 метров кабеля, чего как раз должно хватить, чтобы окольцевать 34 м2 площади. В эту скорость для тех же 476 пикселей, в зависимости от выбора протокола цветопередачи, можно будет уложить от 20 до 80 кадров в секунду;
возможность выстраивания приоритета сообщений в сети и разруливание коллизий через аппаратный механизм арбитража, что хорошо ложится на концепцию быстрого реагирования на нажатия. Короче говоря, сообщения о нажатии отправляются в шину вне очереди;
достаточно устойчивая связь вследствие использования дифференциального сигнала;
широкое распространение и дешевизна микросхем, что немаловажно.
Пессимистично делим все теоретические пределы на 4 и всё равно остаёмся в рамках разумного, жить будет. Поехали дальше!
Пиксель
Пиксель представляет собой классическую рамку с боковым расположением светодиодов, накрытую оргстеклом. Рамку выгрызали на ЧПУ фрезере из чёрной ламинированной фанеры толщиной 21 мм. Оргстекло мне тоже раскроили на ЧПУ при заказе, так доставка ТК обошлась в копейки, нежели доставлять лист 2х3 метра.
Первая сложность возникает при выборе типа датчика нажатия. Рассматривал несколько вариантов:
концевой переключатель;
тензодатчики (как в напольных весах).
Мне сразу не понравилась идея использовать механический переключатель, т.к. для этого потребуется обеспечить подпружиненный свободный ход оргстекла и при этом избежать залипаний. В эту же категорию идут и датчики из двух пластин, работающих на замыкание, как в танцевальных аппаратах.
То ли дело работа с аналоговыми тензодатчиками, когда свободный ход практически отсутствует (вспомните ваши напольные весы). К тому же есть пара идей, как применить аналоговый сигнал в играх…
Так и поступил: было решено собирать ~85 напольных весов собственной разработки с проводным каналом связи и RGB подсветкой. Крепления для датчиков рисовал сам и заказывал печать на 3D принтере. Было напечатано около 340 таких креплений. Конструкцией доволен, получилось весьма надёжно и доступно для массового производства, в т.ч. и для литья. Нижняя часть пикселя выглядит колхозно, но это прототип, да простят меня эстеты.
Электронная начинка и встроенное ПО пикселя
Как я упомянул ранее, я сгруппировал пиксели по 4 шт, а значит нужно два вида плат: групповая плата с модулем связи и контроллером и 4 маленьких платы просто с внешним АЦП для датчиков. По итогу я собрал 21 большую и 84 маленьких платы (на фото маленьких — это только половина от общего количества).
Основная идея была сделать пиксель максимально тупым. Он должен принимать/отображать цвет и отправлять нажатие. На словах это просто, а на деле, т.к. работа идёт с аналоговыми датчиками, нужен был периодический опрос с цифровыми фильтрами, всякими коэффициентами к ним, калибровками нуля и чувствительности и т.д., чтобы, в случае чего, можно было с бэкенда подкрутить параметры прямо на ходу, в т.ч. вывести пиксель из игры, если он начал неадекватно себя вести или залип.
Контроллер и управляющее ПО
Сначала у меня была идея делать собственный 3х канальный USB-CAN преобразователь и управлять платформой с обычного компьютера. Я даже успел развести и заказать платы, но потом передумал и в качестве контроллера выбрал обычную Raspberry Pi 4. В ней есть всё необходимое: Wi-Fi, аудио/hdmi выходы, а также к ней продаются готовые модули CAN шины. Сложной математики там нет, так что процессор справляется легко, я даже вывел метрики в админку на всякий случай.
Управляющее ПО писал сам полностью с нуля: фронтенд — Vue.js, бэкенд — Golang, база данных — SQLite. Из того, что реализовано на данный момент:
отображение текущего состояния платформы (подсветка нажатий и текущего веса в кг);
игровое табло (время, очки, жизни);
просмотр информации по каждому пикселю в отдельности и отправка индивидуальных команд;
отправка широковещательных команд;
вывод метрик контроллера (загрузка/температура CPU, потребление памяти, основные метрики бэкенда);
простой конструктор кадров для игр;
несколько игровых механик: пол — это лава (нужно собрать все синие, не наступая на красные), море волнуется/пиксель дуэль (соревновательные режимы по сбору своего цвета, побеждает самый ловкий), безопасный цвет (робот озвучивает цвет, нужно успеть его найти и занять), классики (пропрыгать случайный паттерн), несколько демо режимов;
старт/стоп/пауза игр с возможностью конфигурации непосредственно в момент старта игры (например, для детей я отключал контроль жизней и увеличивал время этапа);
имитация игр мышкой прямо через админку для непосредственного тестирования игры после конструктора (ну или вмешивания прямо в процесс игры… хе-хе, я так помогал своей дочке побеждать пару раз, чтоб не расстраивалась).
Сборка прототипа и выявленные проблемы
Сборка такого количества плат и пикселей в одиночку у меня заняла больше месяца: сверлить, прикручивать, приклеивать, паять, отлаживать и перепаивать сгоревшее. К расстановке компонентов на платы я привлекал даже дочь… как говорится, любишь играть, люби и платы собирать!
Какие ошибки допустил в процессе разработки:
Ошибка 1: Россыпь плат, а не панель
Я торопился и заказал платы не панелями, а россыпью… это было немного больно и приходилось наносить пасту на платы поштучно. Я купил трафаретный принтер для нанесения пасты и мини стол для оплавления припоя, это в десятки раз ускорило процесс. Трафаретный принтер — самоделка одного замечательного человека с ютуба, кому будет интересно, могу дать контакт в комментариях.
Ошибка 2: Оргстекло
Найти оргстекло или поликарбонат подходящей толщины оказалось проблемой. В наличии из импортного ничего нет, толстое вообще не в почёте, а если заказывать, то нужен объём + большие сроки. Взял лист оргстекла от какого-то российского производителя, а оно оказалось недостаточно молочным (см. фото), очень сильно просвечивал источник света, пришлось каждый квадратик вручную дополнительно матовать шлиф машинкой… то ещё удовольствие.
Ошибка 3: Танталовые конденсаторы
Танталовые конденсаторы сами по себе достаточно капризная штука, а заказывать их с Китая было вдвойне ошибкой… брака было около 40%: они просто взрывались при напряжении в половину от номинала. Я проверял их непосредственно перед пайкой, но даже это не помогло… несколько штук вышло из строя прямо в день мероприятия, проработав перед этим около месяца дома. В следующий раз поставлю бочонки, благо высота позволяет, они не так горят.
Ошибка 4: Таблица на фронтенде
Я ненастоящий фронтендер и умею клепать только админки для внутреннего использования. Как мне кажется, было ошибкой использовать на фронтенде простую таблицу. Хоть обновление ячеек и сделано реактивно на тегах, но рендер всего поля разом немного подтормаживает. Скорее всего нужно будет переходить на графику, проконсультируюсь чуть позже с опытными коллегами.
Ошибка 5: Экономия на протоколе передачи
Цветовые эффекты немного скудные, недостаточная цветопередача, т.к. сэкономил на протоколе. Рассчитать всё в теории — легко, но опыт подсказывал, что теоретические пределы скорости не практике недостижимы, боялся не получить требуемую частоту обновления, поэтому заранее ужимал протокол, хотя при таком размере поля можно было особо не беспокоиться.
Ошибка 6: Размытая граница пикселя и неравномерность засветки
Мне не нравятся размытые контура пикселей, хочется сделать их более чёткими, это будет смотреться гораздо круче. Качество засветки тоже можно улучшить, используя более глубокую рамку и правильное оргстекло.
Ошибка 7: Дешёвая светодиодная лента
Было куплено около 90 метров "высококлассной" китайской светодиодной ленты… которая оказалась явно б/у, имела разное свечение и много раз перегорала. Но тут вынужденная экономия на прототипе.
Идеи на будущее:
Расширение группы до 9 шт. — это будет явное удешевление, повышение надёжности связи за счёт уменьшения устройств на шине и расширение теоретического предела площади игровой зоны;
Соты! Очень хочу гексагональное игровое поле, это должно выглядеть весьма круто!
Настенные кнопки;
Быстрые соединения. Из-за использования в прототипе винтовых клеммников, сборка платформы перед детским праздником у меня заняла около 2.5 часов, что очень много. Буду прорабатывать быстрые соединения;
Ну и конечно, разные-разные механики игр! В голове масса идей: всякого рода змейки, пакман, эстафеты, арканоид, захват территорий, повтор рисунка, те же танцы и твистер…
Как корабль назовёшь… и заключение
При выборе кодового имени проекта было несколько разных вариантов. Больше всего мне симпатизирует название «Pixel Quest» ввиду широкого распространения в народе понятия «квест-комната». Сразу занял под это дело домен и, как это водится, завёл отдельный ТГ канал @pixel_quest для публикации прогресса разработки и дальнейших обсуждений с заинтересовавшимися читателями. Заходите в гости, буду держать в курсе событий.
На Пикабу пишу ради новых знакомств, поиска поддержки и идей для дальнейшего развития проекта. Я технарь, а не предприниматель, и, если честно, плохо представляю, как правильно превратить это в бизнес. Я не умею в эти ваши «найди инвестиции / собери команду / захвати мир» (но это пока что), не умею писать бизнес-планы, хочу просто делать интересный продукт и радовать людей. Буду рад любым советам! Личный телеграм для связи: @AnatoliyB
В ближайший планах найти подходящее помещение у себя в городе (Смоленске) для построения первой комнаты с увеличенной игровой зоной и полноценного тестирования. Хочу развивать идею как по направлению целых игровых квест-комнат, так и небольших игровых платформ 4-6 м2 для установки в детских комнатах или сдачи в аренду на детские праздники.
Итого:
Потрачено: ~300 тыс. руб.
Заработано: 0 руб.
Удовольствие от процесса разработки и праздника для детей: бесценно!
Спасибо всем, кто дочитал! Пишите свои мысли и идеи игр в комментариях!
Самый Простой Цифровой ВОЛЬТМЕТР на микроконтроллере Ардуино - Arduino практическая реализация
Давайте попробуем разобраться а потом создать на практике самый простой цифровой вольтметр с использованием микроконтроллера Arduino.
В этом видео. Я как вы и просили хочу показать и рассказать где покупаю микроконтроллеры я.
Нам для этих целей даже не понадобится никакой индикатор все показания мы будем выводить на экран компьютера
PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth
В текущей статье, рассматривается конструкция сочетающая в себе подходы и знания полученные в более ранних проектах, поэтому, если покажется, что конструктив местами избыточен и не имеет под собой веской логики, для которой следовало бы использовать именно такую схему, то сразу хотел бы развеять предубеждения - да, именно так, основная цель, задачи преследовалась - обучение, отладка, выработка механизмов и процедур для дальнейшего использования в задачах.
В частности, основной идеологией к данной конструкции лежит пост Тест LCD 16bit , ОЗУ, SDCARD на PIC24 , где мною было проведена работа по изготовлению устройства на базе PIC24 и 8bit RAM. Отталкиваясь от прошлых наработок, были добавлены новые элементы схемы и учтены выявленные проблемы. (и получены новые проблемы, много новых проблем, но пост не об этом).
Основными функциями устройства являются:
1. Время (включая интернет-синхронизацию по произвольному GMT);
2. Текущая интернет-погода + Прогноз погоды + Погода с выносного Bluetooth-датчика;
3. FM-радио;
4. MP3 плеер;
5. Календарь (не рассматривается в текущей статье);
В данной конструкции используются:
1. PIC24HJ256GP610A (основной);
2. PIC18F28K20 (дополнительный, используется для mp3);
3. LCD 16bit (NT3551), работа с ним рассматривалась тут
4. RAM 16bit IS61WV102416ALL (1024K), аналогичная ссылка п.3
5. FM-radio (KT0915), радио на данной микросхеме рассматривалось тут.
6. MP3 (VS1053), ранее не применялось.
7. SD, применялось аналогично посту п.3, п.9.
8. ESP12 (на базе ESP8266), применялось тут и тут
9. Bluetooth (HC08), применялось тут (выносной Bluetooth-термометр и схема его, данной статьей не рассматривается, так как полностью переиспользован из предыдущего проекта)
Корпус напечатан на 3D принтере (на заказ).
Фотки готового устройства для масштаба:
Одним из усовершенствований схемы, от предыдущих частей данного проекта, заключается в добавлении еще одного контролера PIC18F28K20, для целей выноса на него задач чтения SD и проигрывания MP3, чтобы основной контроллер PIC24 не был занят постоянно циклом.
Целями задачи закладывался больший потенциал схемы, чем сейчас используется и описывается в статье, поэтому сэкономить\упростить задачу у меня не стояло.
Ввиду чего, сопряжение контроллеров и модулей осуществляется посредством CD405xB мультиплексоров, согласованных по определенным принципам работы и управляемых контроллером.
Синхронизация с ПК осуществляется по USB, через микросхему CP2102, где ее uart-выводы также сначала сопрягаются с мультиплексором, а затем с двумя контроллерами, это необходимо, чтобы реализовать функцию bootloader'a., как работать с bootloader для PIC18, я частично рассматривал тут.
На схеме (если ее кто будет смотреть), также имеется зарядка на базе TP4056 для аккумулятора 3.7v и повышающий DC-DC конвертор на базе MC34063, он предназначался для формирования 5v необходимых для схемы, но я просчитался с потреблением схемы, которое оказалось критично высоким и DC-DC попросту сгорел, на готовой плате этот участок схемы остался не распаянным. Если у кого есть примеры DC-DC конвертора (3.7v- > 5v) на нагрузку до 2A, сообщите.
(Примечание: нет никаких гарантий корректности предложенного решения, всё может быть с ошибками или иметь более лучшую\оптимальную реализацию).
Само же устройство базируется на контроллере PIC24 и сопряжено с RAM и периферийными устройствами . PIC24 осуществляет манипуляции переключения мультиплексоров, получает ответы от периферийных устройств, читает SD (bmp) и выводит графическую информацию., работает с микросхемой FM-радио.
ОЗУ в проекте требуется для:
1. импорта BMP картинок в ОЗУ, манипуляций с transparent (замещение фона);
2. импорта response от ESP и пост-обработки информации (прогноз);
Дополнительная функция устройства, как было уже обозначено в начале, это чтение и воспроизведение MP3 отдельно от основного PIC24, получается, как два устройства в одном, сопряженных между собой, связь между которыми осуществляется через UART, посредством мультиплексора.
Плата изготовлена на заказ. Обычно я сам делаю, но в этом случае, это было выше моих сил.
На главный экран выводится основная погода (интернет-погода и информация с выносного bluetooth-датчика), ну и часы само собой. Также, главный экран располагает важной функцией ярлыков - доступов к интерфейсам устройства, в действительности же это картинки, предварительно загруженные в RAM и выведенные с учетом замещения фона.
Фон, также естественно загружается в RAM и может быть любым, загруженным из BMP., а при инициировании тех или иных функций устройства, затирающих частично информацию на экране, фон автоматически восстанавливается по данных загруженным в RAM. Ярлыки могут скрываться с экрана, тем самым освобождая место под большую площадь экрана, которую можно использовать с пользой.
Дальше будет пояснительное видео некоторых функций, но сейчас ряд фотографий:
Прогноз погоды на 5 дней, выведенный в разбивке по два часа.
MP3-плеер (если у кого были ожидания увидеть тут winamp, как было на ярлыке, то извините, у меня была такая идея сделать, но было некогда ее реализовать).
Радио
Пояснительное видео.
Вот и всё., естественно статья не раскрывает всех особенностей проекта, некоторых деталей управления и прочего. Также, полного кода программы естественно не будет. Но, если кому то до зарезу что-то нужно, то я готов послушать специфику вопросов и потом, возможно сделать отдельный пост. Написано на C++, под XC16 и XC8.
Удачи.
Ссылки на предыдущие части (некоторые уже приводились в статье):
Тест LCD 16bit , ОЗУ, SDCARD на PIC24
Bluetooth термометр или вариации на тему
Радиоприемник на базе цифрового радиочипа и контроллера PIC
Многофункциональное устройство своими руками, часть 2