PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth1
В текущей статье, рассматривается конструкция сочетающая в себе подходы и знания полученные в более ранних проектах, поэтому, если покажется, что конструктив местами избыточен и не имеет под собой веской логики, для которой следовало бы использовать именно такую схему, то сразу хотел бы развеять предубеждения - да, именно так, основная цель, задачи преследовалась - обучение, отладка, выработка механизмов и процедур для дальнейшего использования в задачах.
В частности, основной идеологией к данной конструкции лежит пост Тест 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













Рукодельники
61.1K постов60.5K подписчика
Правила сообщества
В сообществе запрещена торговля, обсуждение цен, ссылки на страницы с продажами, контакты автора в комментариях. Обязательна информация о материалах и инструментах в текстовом виде.
0. Соблюдайте основные правила Пикабу.
1. Будьте вежливы, старайтесь писать грамотно.
2. В публикациях используйте четкие и красивые фотографии.
3. Автор поста с тегом [моё] может оставить ссылку на свой профиль, группу или канал на других источниках, при условии, что ссылки (активные и не активные) не ведут на прямые продажи. Допускается не больше четырёх ссылок и только в конце поста (п. 8.5 основных правил).
Запрещены:
-ссылки рекламного характера/спам;
-ссылки, ведущие на магазины с указанием стоимости товара/услуги;
-ссылки, ведущие на призывы, покупки, продажи, подписки, репосты, голосование и тому подобное.
(нарушение основных правил сайта, п.8.1 и п. 8.2).
При переходе по ссылке запрещено наличие активных (кликабельных) ссылок, ведущих на вышеперечисленное в п.3, содержание таких ключевых слов как «товар», «услуга», «купить», «продам», «в наличии», «под заказ» и т.п.
3.1 Размещение контактов автора (самим автором или другими пользователями) в комментариях запрещено и подлежит удалению (п. 9.1 и 9.3 основных правил).
4. Обязательным для авторов является наличие технических характеристик изделия в публикациях (материалы, техники, авторские приемы, размеры, времязатраты и прочее) в текстовом виде.
Также помечайте свою работу тегом «Рукоделие с процессом» или «Рукоделие без процесса».
5. Пост-видео, пост-фото без текстового описания переносится в общую ленту. Даже если в видео показан подробный процесс изготовления, делайте краткое описание для тех, у кого нет возможности/желания смотреть видео.
Администрация оставляет за собой право решать, насколько описание соответствует п. 5.
6. Посты с нарушениями без предупреждения переносятся в общую ленту.
За неоднократные нарушения автор получает бан.
Автор может размещать новую публикацию в сообществе, не допуская полученных ранее замечаний.