Как стать автором
Обновить
133.66

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

Измеряем индекс ультрафиолетового излучения UVA UVB

Время на прочтение5 мин
Количество просмотров11K
Все мы любим солнце и конечно же знаем о вреде ультрафиолетового излучения для человеческой кожи. Очевидно, что на пляже нельзя долго загорать. Но вот совсем не очевидно, можно ли гулять под солнцем в футболке, а плавать, ходить по горам? После очередного «обгорания» от солнца в горах на Красной поляне встал вопрос — как бы измерить мгновенный индекс ультрафиолетового излучения и знать, когда пора укрыться в тени. В результате родился этот небольшой прибор — датчик уф излучения с рядом дополнительных функций.

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии17

Ни дня без спорта — 2: перепрограммируем китайский браслет

Время на прочтение5 мин
Количество просмотров17K
У людей, занимающихся спортом, частым спутником на пробежках или заездах является смартфон с различными приложениями. С велосипедом проще, можно закрепить смартфон, к примеру, на руль и смотреть выдаваемые с датчиков данные. А что делать, если ты бежишь или едешь на лыжах? Можно закрепить смарт на руку, для этого есть специальные чехлы (в том числе поворотные). Но это неудобно и порой громоздко. К тому же русский витязь прямо не ходит.

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии31

Root-of-Trust для IoT и другие тенденции безопасности устройств интернета вещей

Время на прочтение12 мин
Количество просмотров3.6K
Тема информационной безопасности становится всё более актуальной с каждым годом. Хаб про информационную безопасность находится на первом месте по рейтингу и втором по числу подписчиков. Однако в основном материалы посвящены различным сетевым, веб, облачным и другим технологиям, традиционно рассматриваемым в контексте безопасности. И почти не касаются встраиваемых применений, особенно с ограниченными ресурсами. В то время, как количество последних больше на порядки. В этой статье мы рассмотрим некоторые особенности и тенденции безопасности интернета вещей, берущие своё начало в разработке и модели распространения.

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Алгоритмы рандома

Время на прочтение5 мин
Количество просмотров71K
В этой статье вы увидите самые разнообразные велосипеды алгоритмы для генерации случайных чисел.

Про что статья


Про алгоритмы генерирующие псевдослучайные числа, которые отличаются между собой качеством результата и скоростью исполнения. Статья будет полезна тем, кто хочет получить высокопроизводительную генерацию чисел в своих программах или разработчикам софта для микроконтроллеров и старых платформ по типу ZX Spectrum или MSX.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии19

Истории

Разработка и создание с нуля аркадного автомата на четверых игроков

Время на прочтение19 мин
Количество просмотров6.4K
image

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

Однако всегда существовала эта волшебная штука под названием «железо», которую я использую ежедневно, но понятия не имею, как она на самом деле работает. Разработчику ПО (и в особенности веб-разработчику) нет необходимости разбираться в оборудовании. Так как весь код веб-разработки очень высокоуровневый, редко оказывается, что проблема нашего ПО связана с аппаратной частью.

Поэтому я никогда не занимался «железом» и не имел никаких общих знаний об электротехнике, кроме тех, которые нам давали в старшей школе. И я хотел изменить эту ситуацию. Я поставил перед собой нелепую цель, которая в то время казалась очень далёкой от моего набора знаний. А потом… я просто начал экспериментировать. Я планировал проверить, как далеко смогу зайти, прежде чем у меня иссякнет запас мотивации. Не ожидал, что достигну своей цели, но каким-то образом мне это удалось.

Вот мой результат:


Моя невероятная цель заключалась в создании с нуля аркадной игровой консоли на четырёх игроков. В качестве мозгов в ней используется микроконтроллер, в качестве дисплея — светодиодные ленты. При помощи одного джойстика и четырёх кнопок на каждого игрока, расположенных по краям стола, игроки управляют игрой, которая динамически загружается в систему с чипа памяти. Благодаря этому игровой процесс на устройстве напоминает старые добрые консоли. Только теперь нам не нужно дуть на картридж, чтобы избавиться от багов.
Всего голосов 24: ↑24 и ↓0+24
Комментарии4

Обзор возможностей Qt Creator 4.12 и QBS 1.16 для программирования микроконтроллеров

Время на прочтение4 мин
Количество просмотров4.3K
Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров.

Ранее я уже писал про улучшения в предыдущих версиях QtC 4.10 и QBS 1.14, QtC 4.11 и QBS 1.15.

Кому эта тема интересна, добро пожаловать по кат.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии15

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения

Время на прочтение6 мин
Количество просмотров10K

Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Новая математика позволила реализовать базовые движения путем изменения всего двух параметров. Это очередной шаг к внедрению «автопилота». В этой статье я постараюсь подробно рассказать о новой математике и как это вообще работает. Будет много картинок и gif.

Этапы разработки:

Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Всего голосов 24: ↑24 и ↓0+24
Комментарии33

IAR + Clion = дружба

Время на прочтение11 мин
Количество просмотров6.9K


Доброго здравия всем!


Карантин заставил меня проводить все свое время дома, в том числе и свободное время, и хотя дома есть куча дел, я умело спихнул их на сына, а сам решил наконец-то доизучать среду разработки Clion от JetBrains, тем более, что в релизе 2020.1 появилась поддержка IAR toolchain.


Все кому интересен пошаговый гайд и куча картинок велком…

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии13

Работа с SD-картой по интерфейсу SPI. Реализация на VHDL

Время на прочтение17 мин
Количество просмотров30K
Привет, Habr! Однажды на работе мне досталась задача оценить возможность реализации хранения данных на SD-карте при подключении ее к FPGA. В качестве интерфейса взаимодействия предполагалось использование SPI, так как он проще в реализации. Полученным опытом хотелось бы поделиться.


Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии39

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI

Время на прочтение11 мин
Количество просмотров9.1K
Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, а потом стыдно признаться, вспомнил, что я здоровый дядька, а еще ни разу не подключал ничего по UART. «В жизни надо попробовать всё» — подумал я. Но писать только про подключение к UART скучно, поэтому незамедлительно были заказаны всякие «игрушки», среди которых были новенькая Arduino, и пара датчиков.

Итак, сегодня мы будем делать охранную систему для моей любимой ручки. Вы удивлены почему именно ручка? Секрет прост, я весьма неопытен во всяких там вопросах электроники и поэтому, когда заказывал датчик давления думал, что он будет действовать по всей площади, а оказалось, что он работает только для определенной контактной площадки. Как ни странно, но во всём доме не оказалось ничего достаточно увесистого, устойчивого и подходящего по размерам, кроме этой ручки. Ну и кроме моего пальца, но экспериментировать с ним я был не готов .

В статье я поделюсь своим опытом подключения датчика давления и доплеровского датчика движения, к микроконтроллерам. Сами контроллеры через проводной интерфейс UART подключим к GPIO Raspberry PI 3. Затем напишем на Python простенькую программку для отображения статуса охранной системы, а в конце подключим смартфон к «малине» с помощью VNC, чтобы следить за охранной системой на удалении от компьютера.

Хотите оставить Индиану Джонса не у дел? Тогда милости прошу под кат.


Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии12

Использование процессорной системы Nios II без процессорного ядра Nios II

Время на прочтение14 мин
Количество просмотров7.1K
В прошлом блоке статей про комплекс для удалённой отладки Redd, я показал, что работа с ним – это не только работа с ПЛИС. Мало того, ПЛИС – это всего лишь очень интересная, но всё-таки весьма специфичная часть комплекса. Основная же его часть – мосты FTDI и прочие USB-шные вещи. Особого интереса тема не вызвала, но тем не менее, теперь все знают, какие именно основные аппаратные средства имеются в комплексе. И мы снова можем вернуться к рассмотрению интересной темы – ПЛИС.

Продолжим традицию предыдущего блока и будем дальше искать необязательные части. Сегодня мы научимся обходиться без процессорного ядра Nios II. Да-да. В процессорной системе Nios II само процессорное ядро – важный, но не обязательный элемент. Мы потренируемся делать систему без него, вынося все управляющие функции на уровень центрального процессора комплекса Redd.


Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии15

Простой робот на МК esp8266 c micropython

Время на прочтение11 мин
Количество просмотров9.7K
Привет, Хабр!

Эта статья описывает процесс апгрейда самоходной платформы на базе МК esp8266 с micropython, до простейшего робота, оснащённого сканирующим ультразвуковым датчиком препятствий, мигающим светодиодом, кнопкой «старт/стоп», а также встроенным веб-сервером, в рамках учебного проекта.

КДПВ:


Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Flipper Zero/One — теперь два устройства. Подготовка к Кикстартеру

Время на прочтение4 мин
Количество просмотров68K


Flipper — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущие посты [1],[2].


Сайт проекта: flipperzero.one

Пока мы работали над линуксовой частью флиппера, у нас в руках был почти готовый модуль на STM32, который управлял периферией, экраном, кнопками. Без линукса он умел 433MHz радио, домофонные ключи и RFID карты. Чем не готовый девайс – подумал я. Так мы решили сделать из него отдельное устройство. Теперь флипперов два — Zero и One.

Под катом я расскажу про изменения в проекте, и как мы готовимся к краудфандингу.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии43

Ближайшие события

Отладочная плата STM32

Время на прочтение6 мин
Количество просмотров26K

Вступление


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


Автор данной статьи разработал и изготовил собственную плату.


Вашему вниманию предлагается проект отладочной платы на базе микроконтроллера STM32F107.
Данная плата является плодом труда автора, схемотехнические решения заимствованы из технической документации других аналогичных плат. Разводка платы, возможно, требует корректировки, в частности разводка микросхемы RT8201BL для Ethernet. Соединение платы с сетью по Ethernet было протестировано с использованием готового проекта.


Плата модуля контроллера является универсальным средством на базе микроконтроллера STM32F107VCT6, предназначенным для встраивания в различные системы в качестве узла управления.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии26

Ещё раз про аппаратные ключи GPG за копейки

Время на прочтение7 мин
Количество просмотров25K


В февралe 2020 года на Хабре появилась увлекательная статья про преобразование программатора ST-Link v2 в аппаратный ключ шифрования. Уже тогда в комментариях появились жалобы на то, что результат не удаётся повторить, но они остались без ответа.


За прошедшее время до меня дошла пара посылок с Aliexpress и теперь, самостоятельно пройдя весь путь, я попытаюсь представить более или менее полную инструкцию с комментариями, которая поможет неспециалисту перепрошить микропроцессор в китайском клоне ST-Link v2. Постараюсь не повторять уже известное, поэтому про пайку контактов и использование GPG с аппаратным ключом смотрите в исходной статье.

Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии17

Пузырьковый дисплей на ардуино

Время на прочтение3 мин
Количество просмотров23K

Всем привет!

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

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

Для устранения одной из этих проблем, я заказал акриловые перегородки, изготовленных на лазерной резке.
Всего голосов 53: ↑53 и ↓0+53
Комментарии44

PCI Express в ПЛИС V-й серии Intel: основы интерфейса и особенности аппаратных ядер

Время на прочтение16 мин
Количество просмотров16K

Введение


Знакомый многим интерфейс PCI Express или PCIe был доступен разработчикам систем на ПЛИС уже тогда, когда он только начинал распространяться в цифровой технике. В это время существовало решение, в котором программное ядро подключалось ко внешней микросхеме физического уровня [5]. Это позволяло создавать одноканальную линию PCIe со скоростью 2,5 гигатранзакций в секунду. В дальнейшем, благодаря развитию технологий, физический уровень интерфейса перекочевал в аппаратные блоки PCIe внутри самих ПЛИС; количество возможных каналов увеличилось до 8, а в ряде новых микросхем — и до 16; вслед за современными стандартами выросли возможные скорости передачи данных.

В то же время, в русскоязычных источниках по-прежнему затруднительно найти вспомогательные материалы по работе с аппаратными ядрами современных ПЛИС, не так и много информации доступно по самому интерфейсу PCIe. Руководство к аппаратным ядрам PCI Express подразумевает, что разработчик уже ознакомился со стандартом и понимает основы передачи данных между устройством и персональным компьютером (ПК). Однако обилие информации в самом стандарте PCIe не дает сразу же разобраться в том, какие шаги необходимо предпринять, чтобы успешно передать данные от устройства в память ПК или обратно. Чтобы получить более полную картину, немалую часть сведений приходится собирать по крупицам из разных источников. Для разработчиков систем на ПЛИС фирмы Intel сложность также заключается в том, что большинство доступных материалов и статей описывают работу с аппаратными ядрами ПЛИС фирмы Xilinx.

В данной статье автор постарается рассказать о том, что необходимо знать разработчику систем на ПЛИС для работы с интерфейсом PCI Express; рассмотрит особенности работы с аппаратными ядрами PCI Express ПЛИС V-й серии фирмы Intel в варианте Avalon-ST.
К основной части
Всего голосов 33: ↑33 и ↓0+33
Комментарии20

Обзор отечественных микросхем, соответствующих 719 постановлению

Время на прочтение10 мин
Количество просмотров51K
Для многих не секрет, что в 2015 году правительство РФ приняло постановление №719 «О подтверждении производства промышленной продукции на территории Российской Федерации». Суть документа в том, чтобы продукция, признанная отечественной, имела преференции перед импортной при госзакупках и других случаях, где возможно государственное регулирование. Так же в документе определены принципы на основании которых продукция получает статус отечественной и формируется реестр такой продукции. При всех неоднозначностях критериев по которым определяется отечественность продукции, в документе есть общая канва — более сложный продукт признается отечественным, если в нем используются отечественные комплектующие, в частности микросхемы.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии89

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20

Время на прочтение22 мин
Количество просмотров53K


Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://www.zigbee2mqtt.io/
Статья написана сперва подробно, но постепенно ускоряется и уже не останавливается на деталях, а описывает готовый код прошивки. Если кому-то не интересны рассуждения, то просто открывайте исходники прошивки и читайте их.

Исходный код готовой прошивки

Код и подход к разработке не претендует на идеальность. “Я не волшебник, я только учусь.”

Цель


Основная цель — разобраться, как писать прошивки под Z-Stack, давно хотел. Поэтому решил реализовать альтернативную прошивку под готовое оборудование (в качестве примера выбрано реле Sonoff BASICZBR3) и добавить возможность подключения популярного датчика температуры ds18b20.

Дополнительно хотел показать начинающим Zigbee-разработчикам пример разработки прошивки под чип TI cc2530 на Z-Stack.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии21

Lua на STM32

Время на прочтение4 мин
Количество просмотров6.4K
Привет!

Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор Lua (cтандартный, не eLua) на STM32. Для демонстрации помигаем светодиодом по сети с помощью библиотеки luasocket, а также немного поработаем с http.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Вклад авторов