Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64).

Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280.

Для тестирования необходимо собрать следующую схему.

Схему в формате pdf можно скачать внизу страницы.

Для тестирования используется модуль приобрести его можно как всегда у китайцев.

Датчик позволяет измерять окружающую температуру и атмосферное давление.

Для разработки будем использовать библиотеку графики от Catcatcat и библиотеку от BOSCH для датчика BMP280. Библиотеку для графики можно скачать внизу статьи, а библиотеку для датчика вот отсюда /BMP280_driver.

 

Выберем Harmony проект

Зададим папку проекта и имя проекта.

Настроим на наш микроконтроллер и установим кодовую страницу проекта, от которой страницы будут зависит формируемые коды символов.

Кодовая страница.

Настроим выбор микроконтроллера, версию компилятора, тип дебаггера

Для работы библиотеки графики для светодиодного модуля необходимо настроить порты микроконтроллера и включить таймер для формирования периода для формирования развертки на дисплее.

Перейдем в закладки опции и настроим работу таймера. Сначала зайдем в System Services и активируем системный таймер.

Откроем раздел Драйверы и настроем для управления разверткой дисплея таймер 2. Режим статический, таймер 2, предделитель на 64, период 500.

 

Запустим генерацию проекта

Будут с регенерированы основные файлы проекта.

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

Я это делаю так, в папке проекта, создаю папку с именем ch_lib, вней я храню все свои библиотеки.

В неё добавим наши библиотеки.

Теперь подключим библиотеки к нашему проекту. Сначала добавим рабочие файлы.

Добавим каталог с нашей библиотекой.

В структуре проекта появиться каталог с библиотеками.

Теперь аналогичным образом добавит заголовки библиотек.

После добавления папки заголовков будут пустые, необходимо дополнительно добавить заголовки каждый в свой каталог.

Файл заголовок драйвера.

Файл заголовка графической библиотеки.

Теперь необходимо добавить драйвер в прерывания таймера, откроем файл прерываний.

 

Добавим в прерывания таймера 2 следующие строки.

Для подключения достаточно добавить заголовок библиотеки графики, описание на драйвер в ней уже есть.

Теперь можно протестировать вывод изображения на дисплей. Для этого откроем файл app.c.

Добавим заголовок библиотеки графики.

И в Функцию void APP_Tasks ( void ) в case APP_STATE_SERVICE_TASKS: бегущую строку с надписью, что даст нам возможность опробовать работу функций вывода изображения на дисплей.

Загрузим проект и проверим работу графики.

Дополнительно добавим прорисовку прямоугольников, для красоты со случным выводом цвета. Для этого подключим библиотеку stdlib.h  для функции rand. И добавим  строки.

У вас должно быть изображение:

Вверху каждые две секунды 4 квадрата с изменяющимся цветом, внизу бегущая строка.

Для работы с датчиком BMP280 нам необходимо активировать I2C модуль. Для этого перейдем в конфигуратор и настроим порты для пятого модуля I2C.

Активируем модуль. Статический режим, модель передача буфера данных, модуль 5 скорость 100 кб.

Выполним генерацию проекта.

Подключим библиотеку от Bosch для датчика BMP280.

Для этого скачаем файлы как это описано в начале статьи и добавим библиотеку в проект для этого скопируем каталог BMP280, в папку Bosch нашего проекта.

Добавим библиотеку в проект, ка это делалось ранее.

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

Функция задержки:

Нужна функция записи.

Для функции записи опишем структуру.

И функцию чтения.

Создадим промежуточную библиотеку, назовем её например bmp280_in. Добавим файлы в проект.

В итоге мы должны получить следующую структуру проекта.

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

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

Подключим наши библиотеки в файле app.c

Добавим промежуточные переменный и структуры для обработки данных.

А также последовательность инициализации и индикации температуры и давления.

Дополнительно необходимо подключить в прерывания таймера 2 управление задержкой для функции delay_ms(uint32_t period_ms).

С компилируем проект и загрузим в микроконтроллер.


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


Значок

BMP280 - учебный проект - схема 390.60 KB 57 downloads

Схема проекта в pdf. ...

Пароль на архив Catcatcat.

Значок

BMP280 - учебный проект - проект 465.53 KB 2 downloads

Проект MPLABX, библиотека графики, драйвер для светодиодной...
Login Required Message:

Это может быть интересно


  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
      Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая простая, нажимаем …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в первый раз …
  • Бегущие огни на WS2812BБегущие огни на WS2812B
    В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по работе с …
  • APA102 – светодиоды со встроенным драйвером и SPI интерфейсомAPA102 – светодиоды со встроенным драйвером и SPI интерфейсом
    APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих светодиодов, что …
  • Униполярный шаговый двигатель – часть 2Униполярный шаговый двигатель – часть 2
    В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В этих библиотеках …
  • ch-светомузыка от теории до реализацииch-светомузыка от теории до реализации
    Сразу оговоримся технология или теория ch-светомузыки, это постоянно развивающийся процесс и то что будет сказано сегодня завтра может быть опровергнуто и считаться ошибочным. Назовем само решение проблемы автоматического преобразования или …
  • Оптосимистор и его применениеОптосимистор и его применение
    Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую гальваническую развязку (порядка …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки прерываний процессором, …
  • Инфракрасный датчик движения, PIR-sensorИнфракрасный датчик движения, PIR-sensor
    Домашняя автоматика предполагает наличие датчиков движения, которые способны контролировать движения человека. Самым простым и доступным устройством позволяющие контролировать изменения ИК-излучения, это ПИР-сенсоры. На текущий момент доступны не дорогие модели D203B, D204B, D205B. Все они позволяют …



 

Tagged with →  
Share →

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Translate »

Copyright © Catcatcat electronics 2013-2020. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com