- Вы здесь:
- Главная
- Категории
- Программирование
Видеокурс "Создание устройств на микроконтроллерах"
-
ПОДРОБНОЕ ОПИСАНИЕ
Автор: Максим Селиванов
Хотите научиться разрабатывать действительно серьезные устройства на микроконтроллерах, как это делают настоящие профессионалы? Авторский обучающий видеокурс по созданию устройств на микоконтроллерах.
Для кого этот видеокурс.
- Этот курс для тех, кто не хочет ограничиваться в своем развитии простыми или готовыми примерами.
- Курс отлично подойдет тем, кому важно создание интересных устройств с полным пониманием того, как они работают.
- Курс хорошо подойдет и тем, кто уже знаком с программированием микроконтроллеров на языке Си и тем, кто уже давно программирует их.
Темы рассмотренные в курсе:
- Воспроизведение звука
- Беспроводной обмен данными
- Работа с микросхемой часов реального времени
- Радиочастотная идентификация
- Работа с цветными жидкокристаллическими TFT дисплеями
Создание устройств на микроконтроллерах. ATmega16 и TFT дисплей. (Максим Селиванов) -
Микросхема часов реального времени
- Урок №1. Введение (37:26)
Общие сведения по микросхеме часов реального времени DS3231 и DS3231M. Основные характеристики: основной функционал, интерфейс обмена данными, диапазон питания, потребление тока, точность хода, тип резонатора, тип корпуса и т.д. Распиновка различных корпусов микросхемы. Схема подключения. Модульные платы с микросхемой. Принципиальная схема, особенности схемных решений и подключения к микроконтроллеру. Поддельные микросхемы.
- Урок №2. Регистры и режимы работы (36:43)
Подробное рассмотрение документации на микросхему DS3231М. Характеристики микросхемы. Функционал микросхемы. Режимы работы микросхемы. Настройка функций будильников микросхемы. Подробный разбор каждого вывода микросхемы. Карта памяти и регистры микросхемы. Режим измерения температуры.
- Урок №3. Протокол обмена данными (13:39)
Подробное описание режимов чтения и записи регистров по шине I2C. Описание протокола обмена по шине I2C на информационном уровне. Режим однократного чтения и записи регистров. Режим чтения и записи нескольких регистров подряд.
- Урок №4. Библиотека DS3231 (24:12)
Библиотечные функции для чтения и записи времени и даты. Функции записи/чтения регистров. Переключение режимов работы микросхемы. Настройка режимов будильников.
- Урок №5. Проект для тестирования DS3231 (41:43)
Проект для тестирования функций микросхемы DS3231. Подробный разбор функций для изменения режимов работы DS3231. Краткие сведения по работе с библиотекой дисплея на базе контроллера HD44780. Использование библиотеки обмена данными по шине I2C. Использование программной/аппаратной реализации шины I2C.
- Урок №6. Практика работы с DS3231 (20:17)
Несколько практических советов по подключению и работе с дисплеем на базе HD44780. Использование на практике библиотеки для реализации шины I2C. Запуск проекта на реальном микроконтроллере и тестирование различных режимов работы.
Модуль беспроводного обмена данными
- Урок №1. Введение в микросхему NRF24L01 (33:23)
Введение в микросхему приемо-передатчика NRF24L01+. Основные области использования микросхемы. Преимущества использования микросхемы. Основные характеристики и режимы работы. Модули на основе микросхемы. Рекомендации по подключению модулей к микроконтроллеру. Аналоги и модификации микросхемы, подделки микросхемы.
- Урок №2. Интерфейс обмена данными (27:09)
Выводы интерфейса модуля NRF24L01 для подключения к микроконтроллеру. Разбор протокола обмена данными через SPI. Документация на NRF24L01+. Обзор основных характеристик микросхемы, режимов работы и регистров микросхемы. Диаграмма состояния. Таблица команд микросхемы.
- Урок №3. Регистры и режимы работы (21:41)
Подробный разбор диаграммы состояния. Пошаговая настройка микросхемы на передачу и на прием. Задание адресов передатчика и приемника. Функция передачи, приема и подтверждения приема.
- Урок №4. Библиотека NRF24L01 (46:21)
Разбор библиотеки управления NRF24L01. Программный интерфейс SPI для обмена данными. Каналы и адреса приема/передачи данных. Буферы приемника и передатчика микросхемы. Функции управления режимами микросхемы, передачи и приема.
- Урок №5. Простой пример передачи и приема данных (45:31)
Простой проект для тестирования основных режимов приема и передачи данных с выводом результатов на терминальную программу ПК. Состояния микросхемы после отправки и приема пакетов данных. Настройка прерываний. Работа программы на практике.
- Урок №6. Передача и прием данных с оценкой состояний регистров (32:25)
Усложненный проект передачи и приема данных со считыванием регистров для оценки состояния микросхемы. Состояние регистров при отправке, приеме, потери пакета, переполнении буфера передатчика и приемника. Счетчик повторных отправок пакета. Определение качества связи по количеству потерянных пакетов.
Модуль воспроизведения звука
- Урок №1. Введение в микросхему WTV020 (20:11)
Постановка задачи воспроизведения звука при помощи микроконтроллера. Краткий обзор микросхемы WTV020. Модули на основе микросхемы WTV020. Подключение модуля и интерфейс управления. Основные преимущества и недостатки модуля. Особенности схемы питания модуля. Поддерживаемые звуковые форматы и типы SD-карт.
- Урок №2. Подробное описание модуля и интерфейса связи (30:23)
Распиновка модуля на основе WTV020. Обзор компонентов на плате модуля. Доработка схемы коммутации питания. Выбор величины напряжения питания карты. Интерфейс управления. Схема подключения к микроконтроллеру. Команды управления. Интерфейс для передачи команд управления. Карты, с которыми модуль может работать не корректно.
- Урок №3. Программы для подготовки звуковых файлов (25:56)
Программа для конвертации звуковых файлов в формат AD4. Специальный формат для выбора имен звуковых файлов. Подготовка SD-карты для записи файлов. Специальная программа для записи звука. Обзор специальных режимов воспроизведения звуковых файлов.
- Урок №4. Пример управляющей программы для модуля (31:02)
Управление модулем с микроконтроллера через последовательную шину. Разбор функции для передачи управляющих команд на модуль. Команды для выбора трека, переключения треков, изменения громкости, остановки и начала воспроизведения.
Радиочастотная идентификация (RFID)
- Урок №1. Введение (40:43)
Основные сведения о RFID технологиях. Классификация и области применения RFID технологий. Считыватели, их внутреннее устройство, антенны считывателей. Виды карт, их внутреннее устройство, область применения. Способы взаимодействия карт и считывателей.
- Урок №2. Физические основы передачи данных (18:18)
Теория физического взаимодействия считывателей и RFID меток. Виды взаимодействия: электрическое поле, магнитное поле, электромагнитное поле. Обмен данными через индуктивную связь. Внутреннее устройство RFID меток и считывателей. Колебательный контур RFID-метки и считывателя.
- Урок №3. Стандарты радиочастотной идентификации (35:57)
Виды RFID карт и меток. Классификация карт по частотам работы. Основные сферы и области применения карт в зависимости от частотного диапазона. Низкочастотные карты стандарта EM-marine, высокочастотные карты стандарта Mifare, карты компании HID.
Карты стандарта EM-Marine (EM4100)
- Урок №4.1. Введение в стандарт карт EM-Marine (EM4100) (14:25)
Карты стандарта EM-marine. Форм-фактор исполнения карт. Сферы использования. Протокол передачи данных от карты. Формат хранения ID-кода. Основы работы карты. Запись индивидуального идентификатора на картах.
- Урок №4.2. Схема считывателя (27:27)
Схема простого активного считывателя меток на 125 кГц. Конструкция антенны колебательного контура. Настройка колебательного контура. Подбор конденсатора для резонанса в колебательном контуре. Программы для расчета параметров колебательного контура.
- Урок №4.3. Протокол передачи данных (26:09)
Подробный разбор протокола передачи данных. Манчестерский код. Дешифровка манчестерского кода. Преамбула сигнала. Групповой идентификатор, индивидуальный идентификатор метки. Контроль строк на четность. Контроль столбцов на четность. Определение начала посылки.
- Урок №4.4. Программа для считывания ID-кода карты (61:17)
Подключение схемы считывателя к микроконтроллеру. Программа для дешифрации манчестерского кода. Передача считанных байт на терминальную программу ПК. Временные параметры манчестерского кода. Алгоритм нахождения преамбулы. Контроль строк и столбцов на четность. Байты индивидуального и группового кода.
- Урок №4.5. Практика считывания ID-кода карты (7:48)
Демонстрация работы программы для считывания ID-кода карт. Считывание брелков и карт стандарта EM-Marine.
- Урок №4.6. Дополнение к программе считывания ID-кода карты (18:17)
Усовершенствованная версия программы для считывания меток с манчестерским кодом в разных форматах. Автоматическое распознавание прямого и инверсного манчестерского кода. Нахождение преамбулы в прямой и обратной логике.
Карты стандарта Mifare
- Урок №5.1. Введение в стандарт Mifare (49:37)
Основные сведения о картах стандарта Mifare: Mifare Ultralight, Mifare Classic, Mifare Plus, Mifare DESFire, SmartMX. Карты совместимые с картами стандарта Mifare. Память карт. Защита информации от считывания и записи. Сферы использования карт. Карты для оплаты проезда в общественном транспорте. Электронные документы с биометрическими данными. Физические основы передачи данных. Модифицированный код Миллера. Несущая частота 13,56 МГц
- Урок №5.2. Микросхема MFRC522. Введение. (21:47)
Основные сведения о микросхеме MFRC522: поддерживаемые карты, интерфейс обмена данными, буфер данных, питание и подключение. Модуль RC522. Распиновка контактов в разных типах модулей. Протокол обмена данными через SPI. Команды приема и передачи байт данных. Регистры MFRC522. Подключение микроконтроллера к модулю.
Урок №5.3. Основы работы с микросхемой MFRC522 (43:31)
Подробный разбор документации на MFRC522. Выбор интерфейса для обмена данными. Протокол обмена. Инициализация. Расчет контрольной суммы CRC16. Команды микросхемы MFRC522. Прием и передача данных. Описание основных функций для обмена данными через интерфейс SPI с микросхемой MFRC522. Особенности работы с FM17522 (аналог микросхемы MFRC522).
Карты стандарта Mifare Ultralight
- Урок №5.4.1. Введение в стандарт карт Mifare Ultralight (30:01)
Обзор карт стандарта Mifare Ultralight. Разбор документации на карту. Команды для управления картой. Карта памяти. Семибайтный уникальный идентификатор. Ячейки однократно программируемой памяти. Идентификатор производителя. Байты блокировки страниц. Диаграмма состояния карты.
- Урок №5.4.2. Разбор функций проекта для работы с Mifare Ultralight (21:59)
Обзор проекта для работы с картами Mifare Ultralight . Разбор функций для обмена данными. Команды отклика, чтения, записи, останова карты. Перевод карты в режим останова. Запрос типа карты. Команды REQA и WUPA. Чтение идентификатора. Два уровня антиколлизии карты.
- Урок №5.4.3. Пример чтения карты (33:31)
Считывание данных с карт Mifare Ultralight. Передача считанных данных в терминальную программу ПК. Считывание байт ATQA и SAK. Определение типа карты по байтам ATQA и SAK. Различия между командами REQA и WUPA. Различия в считывании карт с разной длиной идентификатора.
- Урок №5.4.4. Пример записи карт (18:41)
Разбор функций для записи данных на страницы карты. Запись байт в однократную область памяти. Виды ошибок при записи данных. Активация защиты страниц от записи с использованием бит защиты от записи.
- Урок №5.4.5. Дополнение по картам Mifare Ultralight (16:42)
Отличия в ответах ATQA и SAK для различных карт стандарта Mifare c 7- и 4-байтным идентификатором. Формат хранения данных в билете Московского метрополитена: номер билета, дата покупки, срок действия, количество израсходованных поездок.
Карты стандарта Mifare Classic
- Урок №5.5.1. Введение в стандарт карт Mifare Classic (20:10)
Карты Mifare Classic 1K, 4K, Mifare Mini, Mifare ID. Основные характеристики, преимущества и недостатки. Области применения карт. Понятие блоков и секторов карты. Трейлер сектора. Ключи аутентификации А и В. Биты доступа сектора. Структура памяти карты, блок производителя, аутентификация и права доступа к секторам карты. Процедура доступа к памяти. Шифрование передаваемых данных.
- Урок №5.5.2. Разбор функций проекта для работы с Mifare Classic (24:07)
Чтение, запись и аутентификация карт. Команды отклика, чтения, записи, останова и аутентификации карты. Процедура аутентификации в секторе карты по ключам А и В. Абсолютный адрес аутентификации сектора. Команды REQA и WUPA. Чтение и запись 16 байт блока сектора. Чтение идентификатора. Обмен зашифрованными данными.
- Урок №5.5.3. Понятие трейлера сектора и бит доступа (23:05)
Формат трейлера сектора. Формат хранения ключей A и B в трейлере сектора. Формат хранения бит доступа. Режимы доступа к данным сектора. Условия доступа к трейлеру сектора, условие доступа к блокам данных. Изменение режимов доступа. Выбор типов операций с блоками данных. Блокировка блока данных. Транспортная конфигурация карты.
- Урок №5.5.4. Пример чтения карт (29:15)
Чтение идентификатора и блоков секторов карт стандарта Mifare Classic, Mini, ID. Автоматическое распознавание, выбор и аутентификация карт с 4- и 7-байтным идентификатором. Поведение карты при считывании недоступных секторов.
- Урок №5.5.5. Пример записи карт (16:14)
Практика записи данных в блоки секторов. Разбор функций для записи в блоки данных секторов карт. Ошибки записи секторов карт.
- Урок №5.5.6. Изменение ключей доступа (26:44)
Практика изменения ключей доступа А и В для секторов карты. Значение ключей по умолчанию. Считывание и изменение ключей доступа в ASCII-символах через терминальную программу. Блокировка работы карты в случае ошибки аутентификации.
- Урок №5.5.7. Изменение уровней доступа (50:43)
Практика задания уровней доступа для блоков сектора. Работа с картами при аутентификация по ключу А и ключу В. Чтение и запись данных на разных уровнях доступа с аутентификацией по разным ключам. Формат хранения уровней доступа блоков в полях бит доступа. Ограничение доступа при аутентификации по открытому ключу В. Отличия в ограничениях доступа для оригинальных и неоригинальных карт стандарта Mifare. Блокировка сектора при нарушении формата хранения бит доступа.
Раздел "Радиочастотная идентификация" можно приобрести отдельно!
Цветные жидкокристаллические TFT дисплеи
- Урок №1. Введение в физику жидкокристаллических дисплеев (54:08)
Физические принципы работы жидкокристаллических (ЖК) дисплеев. Виды ЖК-дисплеев. Основные преимущества ЖК-дисплеев. Понятие активной матричной адресации с использованием нелинейных ключевых элементов на базе тонкопленочных транзисторов. Управляющие контроллеры дисплеев.
- Урок №2. Управляющие контроллеры дисплеев (30:53)
Обзор производителей контроллеров дисплеев. Внешний вид. Краткие сведения по интерфейсам в контроллерах. Расположение кристаллов контроллеров на дисплеях. Технологии COG и COF. Разрешение дисплеев и диагональ экрана.
- Урок №3. Схемы подключения и интерфейсы (44:13)
Виды интерфейсов дисплеев, основные сведения о подключении дисплеев к микроконтроллеру. Распиновка контактов дисплейного модуля. Напряжения питания дисплейных модулей. Краткие сведения о работе с сенсорным экраном и слоте для подключения SD-карты.
- Урок №4. Направление развертки и начало координат (12:16)
Некоторые общие сведения об основных возможностях контроллеров дисплеев. Понятие выделенного окна в видеопамяти, направлении автоинкрементна. Задание начала координат в дисплеях. Краткие сведения о том, где и как приобретать дисплеи с необходимым управляющим контроллером.
Библиотеки контроллеров дисплеев
Контроллер SSD1289
- Урок №5.1.1 Общее описание (31:59)
Общие сведения о дисплеях на базе контроллера SSD1289. Обзор документации.
- Урок №5.1.2. Библиотека (38:39)
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
- Урок №5.1.3 Демонстрация работы (4:08)
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер ILI9325
- Урок №5.2.1. Общее описание (29:22)
Общие сведения о дисплеях на базе контроллера ILI9325. Обзор документации.
- Урок №5.2.2. Библиотека (18:17)
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
Урок №5.2.3. Демонстрация работы (4:53)
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер ILI9341
- Урок №5.3.1. Общее описание (30:51)
Общие сведения о дисплеях на базе контроллера ILI9341. Обзор документации.
- Урок №5.3.2. Библиотека (26:54)
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
- Урок №5.3.3. Демонстрация работы (3:56)
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер SSD1963
- Урок №5.4.1. Общее описание (50:52)
Общие сведения о дисплеях на базе контроллера SSD1963. Обзор документации. Особенности схемы подключения.
- Урок №5.4.2. Библиотека (23:56)
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
- Урок №5.4.3. Демонстрация работы (4:28)
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Графическая библиотека
- Урок №6.1. Введение (42:35)
Краткий обзор возможностей графической библиотеки по выводу на дисплей графических примитивов, сложных изображений, текстовых сообщений. Краткий обзор функций. Пример сохранения в программной памяти массива графического изображения и массивов шрифтов. Отображение кириллических символов на дисплее. Задание типа и размера шрифта.
- Урок №6.2. Вывод графических примитивов (30:52)
Подробный разбор работы функций для вывода на дисплей простейшей графики: линий, окружностей, прямоугольников. Пример настройки графической библиотеки для дисплеев с разными типами контроллеров и разной диагональю экрана. Алгоритм Брезенхема для построения машинной графики.
Вывод изображений из памяти программ
- Урок №6.3.1. Вывод простого изображения (23:56)
Разбор работы функции для вывода сложных графических изображений на дисплей. Пример работы функции для вывода простого изображения из памяти программ. Представление изображения в виде массива. Требования к массиву изображения. Задание размера изображения. Искажения изображения при неверных указаниях его размеров.
- Урок №6.3.2. Программа конвертации изображения в код (18:08)
Программа для конвертации сложного графического изображения в числовой массив. Требования к формату массива после конвертации. Конвертирование изображения ручным способом.
- Урок №6.3.3. Вывод сложных изображений (30:50)
Пример вывода на дисплей различных изображений. Типы искажений изображения при неверно заданных размерах и направлении автоинкремента. Зарисовка экрана скопированным изображением.
Вывод текста
- Урок №6.4.1. Введение (53:57)
Разбор проекта для демонстрации вывода текстовых сообщений на дисплей. Разбор функций для вывода текстовых сообщений. Основные параметры шрифтов, необходимые для отображения на дисплее. Представление шрифтов в виде массивов в программной памяти. Кодовая таблица windows-1251.
- Урок №6.4.2. Программа для генерации шрифта (24:19)
Пример работы в программе для генерации массивов символов из различных шрифтов. Задание параметров шрифтов. Создание пользовательских символов.
- Урок №6.4.3. Практика вывода текста (12:44)
Дополнительные моноширинные шрифты. Установка дополнительных шрифтов. Большой шрифт семисегментного индикатора. Подключение новых шрифтов в графическую библиотеку.
Вывод изображений с SD-карты
- Урок №7.1. Введение в библиотеку Petit FatFS (31:19)
Преимущества использования SD-карт для хранения больших файлов. Необходимость использования файловой системы. Основные сведения о библиотеке FatFS. Урезанная версия Petit FatFS. Основные преимущества Petit FatFS и недостатки. Области применения, состав библиотеки. Подключение микроконтроллера к слоту SD-карты на различных дисплеях.
- Урок №7.2. Обзор библиотеки Petit FatFS (21:17)
Разбор состава библиотеки. Типы данных в библиотеке. Основные настройки библиотеки. Рекомендации по настройке. Пример низкоуровневых функций для взаимодействия с SD-картой.
- Урок №7.3. Чтение данных с SD-карты с использованием библиотеки (41:16)
Подробный разбор проекта с библиотекой Petit FatFS . Порядок использования функций библиотеки Petit FatFS для чтения файлов с SD-карты отформатированной под файловую систему FAT16 и FAT32. Функции монтирования/демонтирования диска, открытия файла и чтения файла.
- Урок №7.4. Подготовка изображения для записи на SD-карту (23:47)
Разбор формата BMP для хранения изображения. Формат RAW. Конвертация изображения в RAW-формат.
- Урок №7.5. Практика считывания изображений (13:42)
Пример проекта для считывания различных графических изображений с SD-карты и вывод изображений на дисплей.
Сенсорный экран дисплея
- Урок №8.1. Введение (29:14)
Виды сенсорных дисплеев. Принцип работы 4-проводного резистивного сенсорного экрана. Плюсы и минусы резистивного экрана. Сенсорный экран на различных дисплеях. Микросхемы для обработки сигналов с сенсорного экрана. Различия между ADS7843, ADS7846, XPT2046 и TSC2046. Выводы на дисплеях для взаимодействия с микросхемой обработки сенсорного экрана.
- Урок №8.2. Обзор микросхемы XPT2046 (27:24)
Обзор документации. Основные характеристики микросхемы. Распиновка, подключение, интерфейс обмена. Протокол обмена. Состав управляющего байта. Диапазон питания, измерения напряжения питания, температуры, точки касания, усилия нажатия. Использование прерываний.
- Урок №8.3. Простой пример работы с микросхемой XPT2046 (53:37)
Пример считывания данных с микросхемы. Подробный разбор протокола взаимодействия с микросхемой. Формат посылки данных. Считывание результатов АЦП. Преобразование считанных данных в координаты на экране. Определение усилия нажатия. Дребезг при касании сенсорного экрана. Использование фильтров для определения координат касания дисплея. Расчет корректировочных коэффициентов для точного определения координат точки касания.
- Урок №8.4. Библиотека для работы с микросхемой XPT2046 (31:54)
Библиотека для считывания координат точки касания. Настройка библиотеки под дисплеи с различным положением точки начала координат. Алгоритмы эффективного подавления дребезга при касании экрана. Алгоритм точного определения точки касания.
- Урок №8.5. Калибровка сенсорного экрана (46:32)
Функция калибровки экрана с автоматическим расчетом калибровочных коэффициентов. Определение точки касания с использованием калибровочных коэффициентов. Коэффициенты пропорциональности по осям. Смещение точки начала координат. Расположение калибровочных точек на дисплее.
- Урок №8.6. Практика работы с сенсорным экраном (36:23)
Проект для демонстрации работы сенсорного экрана. Вывод рассчитанных значений калибровочных коэффициентов на экран. Отображение координат точки касания на дисплее. Пример рисования на экране дисплея. Отражение координат по оси Х и оси Y. Перемена осей Х и Y местами. Пример изменения работы функций для разных точек начала координат.
- Урок №8.7. Сенсорный экран в дисплеях SSD1963, ILI9341, ILI9325 (9:10)
Демонстрация работы сенсорного экрана в дисплеях на базе контроллеров SSD1963, ILI9341, ILI9325. Пример настройки библиотеки сенсорного экрана под каждый дисплей.
- Урок №8.9. Улучшенные версии библиотек контроллеров TFT (26:04)
Доработанная версия библиотеки для взаимодействия с дисплеями на низком уровне.
- Урок №8.10. Улучшенная версия графической библиотеки (11:29)
Версия графической библиотеки с дополнительными функциями.
-
Создание устройств на микроконтроллерах. ATmega16 и TFT дисплей. (Максим Селиванов)