Микроконтроллеры PIC
Первые микроконтроллеры PIC появились во второй половине прошлого века. Быстрые 8-разрядные микросхемы компании Microchip мгновенно завоевали популярность. Двухшинная гарвардская архитектура обеспечивает беспрецедентную скорость. Ее разрабатывали на основе набора регистров, для которого характерно разделение шин.
Выбирая язык программирования микроконтроллеров PIC, необходимо учитывать, что в основе микросхем семейства лежит уникальная конструкция RISC-процессора. Симметричная система команд позволяет произвольно выбирать метод адресации, выполнять операции в любом регистре. На данный момент компания «Микрочип» выпускает 5 разновидностей МК, которые совместимы по программному коду:
- PIC18CXXX (75 команд, встроенный аппаратный стек);
- PIC17CXXX (58 команд 16-разрядного формата);
- PIC16CXXX (35 команд, большой набор периферийных устройств);
- PIC16C5X (33 команды 12-разрядного формата, корпуса с 18–28 выводами);
- PIC12CXXX (версии с 35 и 33 командами, интегрированный генератор).
В большинстве случаев МК PIC имеют однократно программируемую память. Встречаются более дорогие модели с Flash или ультрафиолетовым стиранием. Ассортимент из 500 наименований позволяет подобрать изделие для любой задачи. Сейчас производитель концентрирует усилия на развитии 32-разрядных версий с увеличенным объемом памяти.
Языки программирования микроконтроллеров PIC — это Ассемблер и Си. Для кодирования подходят любые интегрированные среды разработки (IDE). Программировать с их помощью очень удобно. Они автоматически переводят текст программы в машинный код
Важной характеристикой IDE является возможность пошаговой симуляции работы готового ПО. Мы рекомендуем пользоваться средой разработки MPLAB
Ее созданием занималась компания Microchip.
Перед началом работы в MPLAB советуем каждый раз заводить отдельную папку. Это нужно, чтобы не запутаться в файлах проектов. Интерфейс программы интуитивно понятный, и трудностей с ним возникнуть не должно. Для отладки используются фирменные отладчики Pickit, ICD, REAL ICE, IC PROG. В них имеется возможность просмотра содержимого памяти, установки контрольных точек.
Семейства микроконтроллеров
Под ядром МК подразумевают набор определенных команд, цикличность работы процессора, организацию как памяти программ, так и баз данных, систему прерываний и базовый набор периферийных устройств (ПУ).
Различаются представители одного семейства между собой объемом памяти программ и баз данных, а также разнообразием ПУ.
Объединяют все МК в семейства одинаковость двоичного кода программирования.
Семейства делятся на:
- MSC-51, производства Intel. Монокристальный МК на основе Гарвардской архитектуры. Основной представитель этого семейства 80С51, созданный по технологии CMOS. И хотя эти контроллеры разработаны еще в 80-х годах прошлого века, но до сих пор широко применяются. И сегодня многие компании, такие как Siemens, Philips и др. выпускают свои контроллеры с подобной архитектурой.
- PIC (Microchip). МК Гарвардской архитектуры. В его основе лежит архитектура с сокращенным набором команд, встроенная память команд и данных, низкое энергопотребление. В это семейство входят более 500 различных МК (8-ми, 16-ти, 32-битные) с различными наборами периферии, памяти и прочими характеристиками.
- AVR (Atmel). Высокоскоростные контроллеры разработаны на собственной архитектуре. Основой контроллера является Гарвардский RISC-процессор с самостоятельным доступом к памяти программ и баз данных (Flash ПЗУ). Каждый из 32 регистров общего назначения может работать как регистр-аккумулятор и совокупность 16-битных команд. Высокая производительность в 1 MIPS на каждый МГц тактовой частоты обеспечивается за счет порядка выполнения команд, который предусматривает выполнение одной команды и одновременную подготовку к следующей. Для поддержания своей продукции компания Atmel выпускает бесплатную и качественную среду разработки Atmel
- ARM (ARM Limited) разработаны на собственной архитектуре. В семейство входят 32-х и 64-битовые МК. ARM Limited занимается только разработкой ядер и их инструментов, а лицензии на производство продает другим компаниям. Эти процессоры потребляют мало энергии, поэтому находят широкое применение в производстве мобильных телефонов, игровых консолей, маршрутизаторов и т. д. К компаниям, выкупившим лицензии, относятся: STMicroelectronics, Samsung, Sony Ericsson и др.
- STM (STMicroelectronics). 8-разрядные контроллеры (STM8) относятся к категории высоконадежных с низким энергопотреблением изделий. В это же семейство входят контроллеры STM32F4 и STM Их основу составляет-32 битный Cortex. Такие контроллеры обладают отлично сбалансированной архитектурой и имеют большие перспективы развития.
Это не все семейства микроконтроллеров. Здесь мы привели только основные.
Обозначение общего провода
В сложных электрических цепях с целью улучшения читаемости схемы часто проводники, соединенные с отрицательной клеммой источника питания, не изображают. А вместо них применяют знаки, обозначающие отрицательных провод, который еще называют общий или масса или шасси или земля.
Рядом со знаком заземления часто, особенно в англоязычных схемах, делается надпись GND, сокращенно от GRAUND – земля.
Однако следует знать, что общий провод не обязательно должен быть отрицательным, он также может быть и положительным. Особенно часто за положительный общий провод принимался в старых советских схемах, в которых преимущественно использовались транзисторы p—n—p структуры.
Поэтому, когда говорят, что потенциал в какой-то точке схемы равен какому-то напряжению, то это означает, что напряжение между указанной точкой и «минусом» блока питания равен соответствующему значению.
Например, если напряжение в точке 1 равно 8 В, а в точке 2 оно имеет величину 4 В, то нужно положительный щуп вольтметра установить в соответствующую точку, а отрицательный – к общему проводу или отрицательной клемме.
Таким подходом довольно часто пользуются, поскольку это очень удобно с практической точки зрения, так как достаточно указать только одну точку.
Особенно часто это применяется при настройке или регулировке радиоэлектронной аппаратуре. Поэтому учиться читать электрические схемы гораздо проще, пользуясь потенциалами в конкретных точках.
Совместная отладка
У нас получилось запустить прошивки для разных ядер. Но современные среды разработки позволяют осуществлять отладку при одновременном запуске прошивок на двух ядрах. В некоторых случаях одновременная отладка двух ядер может оказаться полезной.
Чтобы воспользоваться таким режимом отладки, нужно сделать несколько дополнительных настроек:
- Перейти в проект ведомого ядра (ядро 1).
- Включить сохранение бинарного файла прошивки. Для этого нужно перейти во вкладку Converter > Output, поставить галочку Generate Additional Output и выбрать формат Raw binary.
- Во вкладке Debugger > Download снять галочку Verify Download. При совместной отладке двух ядер эта проверка работает некорректно и мешает запуску.
- Сохранить настройки и собрать проект.
- Перейти в проект ведущего ядра (ядро 0).
- В свойствах проекта перейти во вкладку Debugger > Multicore, выбирать вариант Simple и указать необходимые параметры проекта ведомого ядра.
- Перейти во вкладку Linker > Input и подключить к проекту файл прошивки ведомого ядра. Для этого нужно задать имя символа (задаётся произвольным образом). В данном примере задано имя , привязать к этому символу бинарный файл, который был получен в результате сборки проекта для ядра 1, указать секцию и выравнивание .
- Теперь можно сохранить настройки и запустить отладку. Если всё настроено правильно, при запуске отладки из проекта ведущего ядра должен открыться второй экземпляр среды разработки с проектом для ведомого ядра. Всё это занимает достаточно много места на экране, поэтому второй монитор может оказаться очень кстати.
В режиме совместной отладки в IAR появляется специальная панель, которая позволяет управлять отладкой сразу нескольких ядер.
Популярные ошибки
Если возникает ошибка , скорее всего проект ведомого ядра не скомпилирован. Нужно сначала собрать проект для CPU1 и только после этого запустить отладку проекта для CPU0.
Если при запуске отладки Вы получили ошибку
скорее всего, Вы забыли снять галочку Verify download на шаге 3. Нужно проверить, что она снята, пересобрать проект ведомого ядра и попробовать запустить совместную отладку снова.
Если отладка работает странно: некорректно работают условные переходы, не происходит вызовов функций, не работают точки останова, возможно, используемая отладочная информация не соответствует исполняемому коду. Первым делом нужно пересобрать проект ведомого ядра. Также нужно проверить настройки, сделанные на шагах 6 и 7. Если они не согласованы друг с другом (в настройках компоновщика указан бинарный файл одного проекта, а в настройках отладчика указан другой проект), явных ошибок при запуске может не возникнуть, отладка будет работать, но поведение будет некорректным. Нужно проверить соответствие бинарного файла в настройках компоновщика проекту, указанному в настройках отладчика.
Основные критерии выбора
Для того чтобы выбрать микроконтроллер составим список нужных нам критериев:
Стоимость микроконтроллера должна быть низкой
Он должен быть простым в использовании и хорошо поддерживаться
Важно наличие доступной документации
Он должен программироваться в графической среде
Он должен быть популярен и иметь активное сообщество пользователей
Так как наш робот будет использовать два двигателя и различные датчики, то микроконтроллеру понадобится как минимум два порта для управления двигателями и несколько портов для подключения датчиков. Также должна быть возможность для расширения количества подключаемых устройств в будущем.. микроконтроллер Lego Mindstorms EV3
микроконтроллер Lego Mindstorms EV3
Этим критериям соответствует модуль EV3 из набора Lego Mindstorms EV3.
Recent Articles
-
Learn how to use the TP4056 properly. There’s a right way, and a wrong way, to use it to safely charge Lithium Ion batteries.
-
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
-
Arduino Nano ISP: How to program an ATmega328P using an Arduino Nano as the ISP programmmer. One common problem: Programming a sketch into the chip without a reset control — solved here.
-
I2C tutorial: Learn all about the 2 wire I2C serial protocol. Learn how easy it is to use, how it works and when to use it…
-
How to test and use an Arduino Joystick including a new library to make it super easy.
-
How to use the MCP4728, a versatile four channel DAC with built in voltage reference.
The MCP4728 chip is a four channel 12 bit DAC, with memory that outputs voltage that you can use for calibration, anywhere you want a fixed voltage.
Основы программирования
Прежде чем приступать к программированию МК, нужно выбрать язык. Начинать лучше с Ассемблера. Хотя для понимания он достаточно сложен, но если приложить силы и все-таки понять его логику, то тогда станет ясно, что именно происходит в контроллере.
Если Ассемблер окажется сложен, то можно начинать с Си. Одной из сильных его сторон является то, что он хорошо переносит коды с одного вида МК на другой. Но для этого надо правильно все прописать, разделив рабочие алгоритмы и их реализации в машине по разным частям проекта. Это позволит переносить алгоритм в другой контроллер, переделав всего лишь интерфейсный слой, в котором прописано обращение к «железу», оставив рабочий код без изменений.
Далее действуют по следующей схеме:
- Выбор компилятора и установка среды (подробнее о них писалось выше).
- Запуск среды и выбор в ней нового проекта. Необходимо будет указать место расположения. Путь нужно выбирать наиболее короткий.
- Настройка проекта. Классическим действием будет создание make-файла, в котором прописываются все зависимости. На первой странице указывают еще частоту работы МК.
- Настройка путей. В них надо добавить директорию проекта. В нее можно добавлять сторонние библиотеки.
- Постановка задачи.
- Сборка схемы. На этом этапе надо соединить модуль USB-USART конвертера с аналогичными выводами МК. Это позволит прошить микроконтроллер без программатора. Нужно накинуть джамперы, соединяющие LED1 и LED2. Этим действием мы подключим светодиоды LED 1 и 2 к выводам PD4 и PD5.
- Пропись кода.
- Добавление библиотек и заголовков с определениями.
- Главные функции. Язык Си состоит из одних функций. Они могут быть вложенными и вызываться в любом порядке относительно друг из друга и разными способами. Но все они имеют три обязательных параметра: 1) возвращаемое значение; 2) передаваемые параметры; 3) тело функции. В зависимости отданных, все возвращаемые или передаваемые значения должны быть определенного типа.
- Компиляция и запуск эмуляции.
- Отладка программы.
После того как прописали программу на языке Си, можно понаблюдать, как и что происходит в МК. Это поможет выстроить аналогию с программированием на Ассемблере.
PIC
Открывает наш парад компания Microchip Technology с серией PIC. Эти МК отличаются между собой разрядностью (8/16/32), набором периферии и корпусом чипа. Восьмибитные варианты же делятся на четыре семейства: baseline, mid-range, enhanced mid-range и PIC18. Более подробная информация приведена в таблице.
Также есть 16-битные «пики» — PIC24F и DsPIC30/33F. Ну и 32-битные — PIC32MX. Эти непонятные сочетания букв и цифр — часть идентификатора чипа. То же, что и марки у машин. Например, широко распространенный камень PIC16F628A расшифровывается так: семейство PIC16F6 (Mid-range), а остальная часть имени — указатель на конкретный камень. У рассмотренных далее МК в имени может содержаться еще больше информации.
Цена и содержимое
Микроконтроллер PIC16F628A
Эти микроконтроллеры имеют среднюю стоимость. Например, камень PIC6F628 в Chipdip стоит около 150 рублей, а PIC18F2550 — 620 рублей.
Более дешевые экземпляры имеют в своем составе минимум периферии. У упомянутого ранее PIC6F628 следующие характеристики: встроенный тактовый генератор для работы с частотой 4 или 8 МГц; 18 пинов, из них 16 — ввод/вывод, а 2 — питание; для работы на более высоких частотах можно подключить кварцевый резонатор; Flash-память объемом 2048 слов; 4 аналоговых входа; два 8-битных таймера и один 16-битный; 224 байта ОЗУ (самому смешно); 128 байт EEPROM (это программно перезаписываемая энергонезависимая память, вроде жесткого диска); интерфейс UART.
Программирование и использование PIC
Программируют для микроконтроллеров, как правило, на ассемблере и на Си. Есть множество сред разработки: MPASM и MPLAB, MicroC, JALedit (язык JAL, сам про него впервые слышу). Скачать MPLAB
Как правило, на таких МК собирают простенькие устройства вроде мигалки или таймера. Эти контроллеры долго имели монополию на постсоветском пространстве, и в результате в интернете есть огромное множество русскоязычных сервисов и статей, посвященных этим моделям МК. При сборке устройства часто можно даже не писать прошивку, ведь она легко находится в интернете, даже в нескольких вариантах.
Вторым плюсом можно указать встроенные независимые (от тактового генератора) счетчики. Благодаря этому факту семейство зарекомендовало себя в качестве «мозгов» для частотомеров. Пара таких контроллеров лежит у меня в мастерской на черный день. Из минусов можно выделить только высокую стоимость оригинальных программаторов, которые зовутся PICkit.
PICKIT3
В интернете есть множество статей по сборке достойных аналогов таких программаторов. Но вся соль в том, что для сборки программатора тебе нужно что? Правильно, программатор. На этот случай был разработан программатор Громова. Для его сборки почти ничего не нужно, а работает он от COM-порта компьютера. На момент его разработки популярность этой серии МК была высока, да и COM-порты были у всех ПК. Сейчас все это уже редкость, так что придется преодолеть порог вхождения либо раскошелиться.
5) запоминание результата WB
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.
Языки программирования
Языки программирования для МК мало чем отличаются от классических компьютерных. Основное отличие заключается в том, что МК ориентируются на работу с периферией. Архитектура МК требует битово-ориентированных команд. Поэтому для контроллеров создавались особые языки:
- Ассемблер. Самый низкий уровень языка. Программы, написанные на нем, получаются громоздкими и труднопонимаемыми. Но несмотря на это он позволяет наиболее полно раскрыть все возможности контроллеров и получить максимальное быстродействие и компактный код. Подходит преимущественно для маленьких 8-битных МК.
- С/С++. Более высокий уровень языка. Программа, написанная на нем, более понятна человеку. На сегодняшний день есть много программных средств и библиотек, позволяющих писать коды на этом языке. Его компиляторы есть практически на любой модели МК. На сегодня это основной язык для программирования контроллеров.
- Еще более удобный для восприятия и проектирования язык. Но он мало применяется для программирования МК.
- Старинный язык программирования. На сегодня почти не применяется.
Выбор языка для программирования зависит от решаемых задач и необходимого качества кода. Если нужен компактный код, то подойдет Ассемблер, для решения более глобальных задач выбор ограничится только С/С++.
Как же это все работает?
Внутри микроконтроллера функционирует программа. Эта программа способна выполнять ТОЛЬКО ТРИ ДЕЙСТВИЯ, она может на любую из ножек ПОДАТЬ ПИТАНИЕ в 5 Вольт (включить логическую единицу), ВЫКЛЮЧИТЬ ПИТАНИЕ (логический ноль), ПРОЧИТАТЬ, подаем мы на ногу питание со стороны или нет. Вот и все, другого не дано, программа ни на что более не способна. Это, на самом деле, сильно упрощает программирование. Подробнее про основы цифровой электроники можно прочитать здесь.
Например, мы хотим помигать светодиодом.
В основном, с этой программы начинают изучение микроконтроллеров. Как поступим в этом случае?
Для начала мы прицепим, скажем, на ножку “2” микроконтроллера светодиод (LED-RED). Пусть он будет прицеплен анодом, а катод светодиода будет сидеть на земле (GND или, грубо говоря, минус питания). Схема будет выглядеть следующим образом:
Схема сделана в программе Proteus, к которой мы вернемся в следующих статьях.
Итак, на ноге PD0 второго вывода микросхемы сидит светодиод с токоограничительным резистором. Резистор здесь просто ограничивает проходящий ток через светодиод, чтобы светодиод не сгорел.
Что же дальше?
Дальше нам надо запрограммировать наш МК программой. На языке программеров это звучит как “залить”, “прошить”, “шивануть”. Для этого существуют специальные программаторы.
А дальше программа внутри микроконтроллера должна делать следующее:
- Подать питание на ногу PD0 (светодиод загорается)
- Подождать сколько нужно (продолжает гореть)
- Выключить питание на ноге PD0 (светодиод тухнет)
- Подождать сколько нужно ( все еще не горит)
- Перейти к шагу 1 (светодиод загорается)
Вот и все, больше ничего программа делать не будет, только тупо моргать светодиодом 😉
Посмотрим что будет, если из алгоритма выкинуть хотя бы один шаг.
Думаю нет необходимости выкидывать шаги 1 и 3, очевидно, что без них светодиод либо никогда не загорится, либо будет всегда выключен.
Что если убрать шаг 2? Тогда получится следующее: Питание включено, диод горит, далее через не ощутимое человеком мгновение светодиод погас, идет задержка. Светодиод включается на столь малое время, что нам кажется, будто он постоянно выключен.
Аналогично будет, если убрать задержку под номером 3, светодиод будет выключаться на столь малое время, что будет казаться нам постоянно включен.
Вот что примерно представляет из себя микроконтроллер.
В чем отличие микроконтроллера от микропроцессора?
Весь компьютерный функционал микропроцессора (Micro Processor Unit — MPU) содержится на одном полупроводниковом кристалле. По характеристикам он соответствует центральному процессору компьютера ЦП (Central Processing Unit — CPU). Область его применения – хранение данных, выполнение арифметико-логических операций, управление системами.
МП получает данные с входных периферийных устройств, обрабатывает их и передает выходным периферийным устройствам.
Микроконтроллер совмещает в себе микропроцессор и необходимые опорные устройства, объединенные в одном чипе. Если нужно создать устройство, коммуницирующее с внешней памятью или блоком ЦАП/АЦП, то понадобится только подключить источник питания с постоянным напряжением, цепь сброса и источник тактовой частоты.
Возможности и особенности микроконтроллеров
Так что же могут микроконтроллеры? Благодаря тому что микроконтроллер является маленьким компьютером — его возможности очень широки. К примеру, микроконтроллеру можно поручить измерение разнообразных величин, обработку различных сигналов и управление широким спектром разных девайсов. Во многом возможности микроконтроллеров ограничены только вашим воображением и умениями работать с ними. Но у микроконтроллеров есть и определенные особенности, одной из которых является то, что все микроконтроллеры поступают с завода в продажу «пустые», то есть, если на них подать напряжение, то мы не получим ровным счетом ничего. Просто кусок кремния. Для того, что бы микроконтроллер начал выполнять какие-то операции, начиная с включения светодиода, заканчивая ШИМ-регулированием напряжения — ему нужно «объяснить» как это сделать, т.е. прошить микроконтроллер исполняющей программой, которую можно написать на ассемблере или на Си.
Многие, наверняка, уже догадались, что можно сделать с микроконтроллерами, дочитав для этого момента. Конечно же, их можно и нужно применять в компьютерном моддинге! Поскольку так называемым «обвесом» микроконтроллера (набором электродеталей, периферией и т.д.) может быть практически всё (реле, транзисторы, светодиоды, индикаторы, LCD дисплеи и многое другое), в зависимости от нужных функций микроконтроллера (сигнализация, управление), то и возможности использования микроконтроллеров в моддинге поистине безграничны. Коротко перечислим некоторые из них.
Микроконтроллеры можно «научить» считывать сигнал с таходатчика (датчика скорости вращения) вентилятора или помпы и выводить значения на LCD или индикаторный дисплей. Таким же образом микроконтроллер может послужить для вычисления основных электрических величин: сопротивления, напряжения и силы тока. Всё это так же можно вывести на LCD дисплей.
Если к микроконтроллеру подключить необходимый датчик, то из него можно сделать термометр на светодиодных индикаторах, который отлично впишется в ваш проект, а затраты на изготовление будут минимальными (до 4 у.е.)!
Термометр на основе светодиодных индикаторов
Если приловчиться, изучить микроконтроллеры более детально и освоить необходимый язык программирования, то можно написать программу для ШИМ-регулятора, который, в свою очередь, будет управлять скоростью вращения корпусных вентиляторов.
Так же можно использовать микроконтроллеры как средство вывода информации о загрузке процессора, оперативной памяти или заполненности винчестера на тот же LCD дисплей, который органично впишется в любой дизайн.
Индикатор, собранный на основе микроконтроллеров
Стоимость и размер корпуса
Поместить эти параметры в определенную часть процесса выбора модели трудно, потому что их важность сильно варьируется от одного приложения к другому. В некоторых случаях у вас достаточно места на плате и вы можете полностью игнорировать размер корпуса
А стоимость часто не имеет значения для инженеров, разрабатывающих прототипы или системы, которые никогда не будут производиться в больших количествах.
С другой стороны, существует множество электронных продуктов, которые должны быть очень маленькими, очень недорогими или очень маленькими и очень недорогими. В этих ситуациях вам необходимо постоянно знать цену и/или размер корпуса, поскольку вы постепенно отфильтровываете модели на основе ваших критически важных параметров и предпочитаемых производителей.
History of Microprocessor
Here, are the important landmark from the history of Microprocessor
- Fairchild Semiconductors invented the first IC (Integrated Circuit) in 1959.
- In 1968, Robert Noyce, Gordan Moore, Andrew Grove found their own company Intel.
- Intel grew from 3 man start-up in 1968 to industrial giant by 1981.
- In 1971, INTEL created the first generation Microprocessor 4004 that would run at a clock speed of 108 kHz
- From 1973 to 1978, second-generation 8-bit microprocessors were fabricated like Motorola 6800 and 6801, INTEL-8085, and Zilog’s-Z80.
- In 1978, Intel 8008 third-generation process came into the market.
- In the early 80s, Intel released fourth-generation 32-bit processors.
- In 1995, intel released in fifth-generation 64-bit processors .
Публикации
-
Категория: Программирование
- AVRDUDE_PROG: программирование AVR ATmega, ATtiny
- USBASP программатор для микроконтроллеров AVR
- Двоичное число: прямой, обратный и дополнительный код
- Битовые операции: логические, арифметические, сдвига
- Логические операции и выражения
- Системы счисления: двоичная, десятичная, шестнадцатиричная
-
Категория: Проекты на Raspberry Pi
- Управляемый жестами видеоплеер на Raspberry Pi и MediaPipe
- Распознавание эмоций с помощью Raspberry Pi, OpenCV, TensorFlow и Keras
- Распознавание объектов на Raspberry Pi с помощью Edge Impulse TinyML
- Распознавание жестов с помощью Raspberry Pi и OpenCV
- Определение пола и возраста людей с помощью Raspberry Pi и OpenCV
- Обнаружение масок на лицах людей с помощью Raspberry Pi и OpenCV
- Интернет радио и станция стриминга на Raspberry Pi
- WhatsApp бот на Raspberry Pi для проекта автоматизации дома
- Сравнение преобразователей текста в речь для Raspberry Pi — eSpeak, Festival, Google TTS, Pico, PYTTSX3
- Интерактивный автоответчик на Raspberry Pi и GSM модуле SIM800L
- Плата расширения (HAT) на Raspberry Pi для управления двигателями
- Бесконтактный термометр на Raspberry Pi с оповещениями по Email
- Плата расширения (HAT) LoRa для Raspberry Pi и связь с Arduino по технологии LoRa
- Определение социальной дистанции с помощью Raspberry Pi и OpenCV
- Онлайн-вещание (streaming) Amazon Prime Video на Raspberry Pi
- Обнаружение движения на видео с помощью Raspberry Pi и OpenCV
- Трансляция видео из системы видеонаблюдения в Raspberry Pi с помощью OpenCV
- Подключение сенсорного 5-дюймового дисплея с интерфейсом HDMI к Raspberry Pi
- Сканер QR кодов на основе Raspberry Pi и OpenCV
- Умный измеритель электроэнергии на основе Raspberry Pi
- Оптическое распознавание символов в Raspberry Pi с помощью Tesseract
- Говорящий будильник на Raspberry Pi в стиле «Железного человека»
- Радиосвязь между Raspberry Pi и Arduino Uno с помощью модулей nRF24L01
- Подключение модуля АЦП/ЦАП PCF8591 к Raspberry Pi
- Установка WhatsApp на Raspberry Pi
- Быстрая установка TeamViewer на Raspberry Pi
- Управление контактами Raspberry Pi с помощью облака MQTT на основе Adafruit IO
- Машинное обучение в Raspberry Pi с помощью TensorFlow
- Подключение модуля LoRa к Raspberry Pi и одноранговая сеть с Arduino
- Установка Android на Raspberry Pi с помощью Emteria.OS
- Установка Mosquitto MQTT брокера на Raspberry Pi для технологии IoT
- Подключение модуля XBee к Raspberry Pi
- Распознавание лиц с помощью Raspberry Pi и библиотеки OpenCV
- Установка OpenCV на Raspberry Pi с использованием CMake
- Как установить Windows 10 IoT Core на Raspberry Pi
- Веб-сервер на Node.js и Raspberry Pi: управление светодиодом
- Умная колонка на основе Raspberry Pi и Google Assistant
- Подключение цифро-аналогового преобразователя (ЦАП) MCP4725 к Raspberry Pi
- Подключение к Raspberry Pi сенсорного TFT ЖК дисплея 3,5 дюйма
- Установка сервера Minecraft на Raspberry Pi
- Подключение датчика температуры DS18B20 к Raspberry Pi
- Веб-сервер на Raspberry Pi с хостингом сайта на WordPress
- FM радиопередатчик на Raspberry Pi
- Подключение датчика температуры и влажности DHT11 к Raspberry Pi
- Подключение датчика Холла к Raspberry Pi
- Подключение гироскопа MPU6050 к Raspberry Pi
- Подключение OLED дисплея SSD1306 к Raspberry Pi
- Осциллограф на Raspberry Pi и модуле АЦП
- Twitter бот на Raspberry Pi с использованием языка Python
- Подключение датчика отпечатков пальцев к Raspberry Pi
- Автоматизация дома на Raspberry Pi с управлением с веб-страницы
- Управление контактами Raspberry Pi из приложения Telegram
- Использование Telegram бота с Raspberry Pi для передачи файлов и сообщений
- Подключение GPS модуля к Raspberry Pi
- Следующий вдоль линии робот на Raspberry Pi
- Подключение инфракрасного датчика к Raspberry Pi
- Сигнализация с датчиком движения на Raspberry Pi
- Машина на Raspberry Pi с камерой наблюдения, управляемая через веб-интерфейс
- Автоматические ворота на Raspberry Pi, датчике веса и модуле усиления HX711
- Измерение расстояний с помощью Raspberry Pi и ультразвукового датчика HC-SR04
- Подключение джойстика к Raspberry Pi
- Управление контактами ввода/вывода (GPIO) Raspberry Pi через Bluetooth и Android приложение
- Камера видеонаблюдения на Raspberry Pi с захватом движения
- Будильник на Raspberry Pi и модуле часов реального времени DS1307
- Воспроизведение звуков на Raspberry Pi с помощью библиотеки PyGame
- Светодиодный куб 3x3x3 на Raspberry Pi
- Подключение светодиодной матрицы 8×8 к Raspberry Pi
Список использованной литературы
1. «?????? ????????????????? ???????», ?????? ?.?. ??????? ? ?.?. ????????????.
2. «??????????? ?????????????? ??????». ?????? «????? ? ?????» 1990 ?. ????? ?.?. ???????.
3. «??????????-?????????????? ?????? ? ???????». ?????? «????? ? ?????» 1991 ?. ?????? ?.?. ?????.
Подобные документы
Микроконтроллеры — микросхемы, предназначенные для управления электронными устройствами, их классификация. Структура процессорного ядра микроконтроллеров, основные характеристики, определяющие его производительность. CISC и RISC архитектура процессора.
курсовая работа , добавлен 03.10.2010
Микроконтроллер (MCU) — микросхема, предназначенная для управления электронными устройствами. Их можно встретить во многих современных приборах, в том числе и бытовых. Рассмотрение архитектуры различных микроконтроллеров, ядра, памяти, питания, периферии.
реферат , добавлен 24.12.2010
Структура фрагмента процессора. Функциональный состав процессорного блока. Входные/выходные сигналы распределителя. Микропрограмма управления для команды. Устройство управления и синхронизации, принцип его работы. Порты ввода, вывода микроконтроллера.
курсовая работа , добавлен 17.04.2015
Микроконтроллер — компьютер на одной микросхеме, его предназначение для управления электронными устройствами в соответствии с заложенной программой. Среды программирования микроконтроллера, схема его подключения. Реализация программы на микроконтроллере.
курсовая работа , добавлен 21.02.2011
Микроконтроллер как микросхема, предназначенная для управления электронными устройствами, его структура и составные элементы, сферы применения и распространенность. Закон Мура. Символьная отладка программ для МК. Данные в ассемблерных программах.
курсовая работа , добавлен 11.12.2010
Назначение и условия эксплуатации светодиодного устройства на МК ATtiny 15. Микроконтроллер как микросхема, предназначенная для управления электронными устройствами. Обоснование его применения. Разработка структурной схемы светодиодного устройства.
курсовая работа , добавлен 04.04.2015
Проектирование процессорного модуля – независимого устройства, которое в соответствии с входными данными выполняет одно из двух действий: умножение целых беззнаковых чисел и преобразование двоично-десятичного числа в двоичное. Проектирование М-автомата.
курсовая работа , добавлен 16.06.2011
Понятие и виды микроконтроллеров. Особенности программирования микропроцессорных систем, построение систем управления химико-технологическим процессом. Изучение архитектуры микроконтроллера ATmega132 фирмы AVR и построение на его основе платформы Arduino.
курсовая работа , добавлен 13.01.2011
Разработка интерфейса и уточнённой структурной схемы, процессорного модуля, подсистем памяти и ввода/вывода, алгоритма программного обеспечения. Оценка памяти программ и данных. Структура адресного пространства. Организация клавиатуры и индикации.
курсовая работа , добавлен 09.08.2015
Выполнение элементов динамической памяти для персональных компьютеров в виде микросхем. Матричная структура микросхем памяти на модуле. DIP — микросхема с двумя рядами контактов по обе стороны корпуса. Специальные обозначения на корпусе модуля памяти.
Выводы
Кроме упомянутых выше производителей есть много других: Intel, Renesas Electronics, Texas Instruments и прочие. Но в сообществе электронщиков-любителей они не прижились, хоть и активно используются в промышленности.
Новичкам я рекомендую AVR в виде Arduino: по нему много информации на русском, а порог вхождения невелик. Но засиживаться на них не стоит, а то так и будешь до конца дней собирать и пересобирать этот конструктор.
После Arduino стоит перейти на STM. Для простеньких проектов бери восьмибитные чипы, для более сложных — 32-битные, и будет тебе счастье. И помни, что микроконтроллер — это уже не процессор, но еще не компьютер.
Статьи на сайте о ESP32
- Программирование на ESP32
- Создание сниффера на ESP32
Статьи на сайте об STM32 и проектах на его основе
- Как реализовать шифрование для самодельного гаджета
- Заводим и разгоняем оперативную память на STM32 и Arduino
- Как собрать свой мобильник и почему это проще, чем кажется
- Собираем программно определяемый радиоприемник своими руками