Ответы к посту
PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth
17

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

В текущей статье, рассматривается конструкция сочетающая в себе подходы и знания  полученные в более ранних проектах, поэтому, если покажется, что конструктив местами избыточен и не имеет под собой веской логики, для которой следовало бы использовать именно такую схему, то сразу хотел бы развеять предубеждения - да, именно так, основная цель, задачи преследовалась - обучение, отладка, выработка механизмов и процедур для дальнейшего использования в задачах.

В частности, основной идеологией к данной конструкции лежит пост Тест 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 принтере (на заказ).

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом
PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Фотки готового устройства для масштаба:

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом
PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Одним из усовершенствований схемы, от предыдущих частей данного проекта, заключается в добавлении еще одного контролера 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, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

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


Само же устройство базируется на контроллере PIC24 и сопряжено с RAM и периферийными устройствами . PIC24 осуществляет манипуляции переключения мультиплексоров, получает ответы от периферийных устройств, читает SD (bmp) и выводит графическую информацию., работает с микросхемой FM-радио.

ОЗУ в проекте требуется для:

1. импорта BMP картинок в ОЗУ, манипуляций с transparent (замещение фона);

2. импорта response от ESP и пост-обработки информации (прогноз);


Дополнительная функция устройства, как было уже обозначено в начале, это чтение и воспроизведение MP3 отдельно от основного PIC24, получается, как два устройства в одном, сопряженных между собой, связь между которыми осуществляется через UART, посредством мультиплексора.

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Плата изготовлена на заказ. Обычно я сам делаю, но в этом случае, это было выше моих сил.

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

На главный экран выводится  основная погода (интернет-погода и информация с выносного bluetooth-датчика), ну и часы само собой. Также, главный экран располагает важной функцией ярлыков - доступов к интерфейсам устройства, в действительности же это картинки, предварительно загруженные в RAM и выведенные с учетом замещения фона.

Фон, также естественно загружается в RAM и может быть любым, загруженным из BMP., а при инициировании тех или иных функций устройства, затирающих частично информацию на экране, фон автоматически восстанавливается по данных загруженным в RAM. Ярлыки могут скрываться с экрана, тем самым освобождая место под большую площадь экрана, которую можно использовать с пользой.


Дальше будет пояснительное видео некоторых функций, но сейчас ряд фотографий:

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом
PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Прогноз погоды на 5 дней, выведенный в разбивке по два часа.

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

MP3-плеер (если у кого были ожидания увидеть тут winamp, как было на ярлыке, то извините, у меня была такая идея сделать, но было некогда ее реализовать).

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Радио

PIC24, LCD, RAM, MP3/FM, SD, ESP, Bluetooth Микроконтроллеры, Lcd дисплей, Mp3, FM, Своими руками, Программирование, Видео, YouTube, Длиннопост, Рукоделие с процессом

Пояснительное видео.

Вот и всё., естественно статья не раскрывает всех особенностей проекта, некоторых деталей управления и прочего. Также, полного кода программы естественно не будет. Но, если кому то до зарезу что-то нужно, то я готов послушать специфику вопросов и потом, возможно сделать отдельный пост. Написано на C++, под XC16 и XC8.

Удачи.


Ссылки на предыдущие части (некоторые уже приводились в статье):

Тест LCD 16bit , ОЗУ, SDCARD на PIC24

Bluetooth термометр или вариации на тему

Радиоприемник на базе цифрового радиочипа и контроллера PIC

Многофункциональное устройство своими руками, часть 2

Многофункциональное устройство своими руками

Часы пикабушника

Часы в деревянном корпусе

Показать полностью 13 1
Отличная работа, все прочитано!