Как стать автором
Поиск
Написать публикацию
Обновить
51.87

Arduino *

Платформа для создания автоматики

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

Программист embedded лезет в FPGA

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.8K

Любой программист микроконтроллеров, Imho, рано или поздно (сейчас, скорее, рано) от одного из коллег или из статьи в интернете слышит загадочное ПЛИС или FPGA, CPLD, ПВМ — что-то такое. Если честно, то я услышал вот это загадочное, занырнул чуть-чуть, и теперь думаю, что мой опыт пригодится кому-то ещё. Если совсем честно, то статья ещё планируется как небольшая (всего в трёх частях) заметка для себя. Я когда погружался, делал пометки в текстовом файле, здесь получится их хорошо отредактированная версия.

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

Лезем в FPGA

Новости

Делаем настольные часы с Wi-Fi из тетриса

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.8K

Если вы посмотрели видео, то уже хорошо понимаете, что представляет из себя этот гаджет, но на всякий случай ещё раз перечислю, что он умеет: онлайн‑синхронизация времени, фоторамка, демонстрация логотипа, имитация волшебного шара из фильма «Трасса 60». В часах используется модуль WeAct ESP32‑C6 Mini с процессором ESP32‑C6 QFN32 и дисплей WeAct ST7735 (9 $ за всё вместе с доставкой с AliExpress).

Читать далее

Как избежать кошмара параллелизма в IoT: автоматы вместо потоков и корутин

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров1.6K

В статье рассматривается библиотека на C++, которая предназначена для реализации технологии параллельного автоматного программирования (АП), отвечающей концепции среды ВКПа (подробнее о ней см. [1]). Для полного понимания материала рекомендуется ознакомиться с основами теории АП, представленной в статьях [2, 3, 4], Взаимосвязь машины Тьюринга с конечными автоматами (КА) подробно рассмотрена в [5]. Вопросы применения корутин в контексте автоматного программирования анализируются в статьях [6–9]. Но в минимальном варианте достаточно даже общего представления о модели конечного автомата и принципах объектного программирования.

Читать далее

Делаем браузерный midi-конвертор/генератор музыки для воспроизведения на шаговых двигателях

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

Сегодня мы займёмся одной интересной затеей, которая пришла мне в голову, уже достаточно давно, когда я впервые увидел, как воспроизводят музыку на двигателях, в частности, играют Имперский марш из Звёздных войн, на приводах 3,5-дюймовых дискет, и не только, посылая с помощью микроконтроллера, высокочастотные сигналы на двигатель, издающий при этом звук.

Только, обычно, этот звук двигателей является отрицательным явлением, благодаря чему пользователям даже приходится устройство с этими двигателями (например, ЧПУ-станок или 3D принтер), ставить в другую комнату, чтобы они не докучали.

Мы же заставим этот звук служить нашим интересам, ублажая наши чресла наш слух. :-D

Посему: а сделаем ка, универсальный конвертер/генератор музыки, для игры на двигателях! Никто ведь не против? Нет? Ок, тогда поехали...:-D

Читать далее

Операционная система от А до Я: Планировщик

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.8K

Планировщик — мозг операционной системы. Его задача: решать, какая задача выполняется сейчас, и по каким правилам выдавать процессор другим задачам. Для embedded систем это особенно критично: ресурсы ограничены, реальное время важно, а поведение должно быть предсказуемым.

Это вторая из цикла статей про создание микроядерной операционной системы. В прошлой статье рассматривался таймер и HAL. Для вновь пришедших необходимо сначала ознакомиться с ней: ссылка.

Читать далее

Операционная система от А до Я: Таймер и HAL

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров6.3K

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

Читать далее

Брелок с LED матрицей 8x8 на CH32V003

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров19K

Решил наконец погрузиться в электронику как хобби. Изначальной целью была самодельная игровая консоль, но из-за сложностей я начал с более простого проекта — светодиодного брелка на микроконтроллере CH32V003F4P6. Почему именно он? Это дешевая (около 20 рублей за штуку) и доступная микросхема с 20 выводами — достаточно, чтобы управлять матрицей 8x8 без драйверов вроде MAX7219.

Читать далее

Лифт-убийца, некомпетентность и причём здесь Ардуинщики

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

Случайно наткнулся на видео про лифт убийцу на Arduino. В этом видео автор показывает, как некая компания выполнила заказ по разработке и установке лифта для инвалидов. То , что там было сделано, это пример преступной некомпетентности разработчиков.

Читать далее

Некоторые варианты практического использования протокола ESP-Now в самодельных устройствах

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

Если вы хотите получить для своих самоделок достаточно быстродействующий (до 1,5 Мбит/с), дальнобойный (300+ метров), и, в то же время, энергосберегающий (50 мА во время передачи) протокол, то «ESP‑Now» — ваш выбор!

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

Читать далее

Разработка IoT устройства с нуля от чайника для чайников

Уровень сложностиСредний
Время на прочтение58 мин
Количество просмотров13K

Всем привет!

Меня зовут Егор - я бэкенд разработчик и работаю в бигтехе. Но я не буду рассказывать о перекладывании jsonчиков (или буду). Данная статья (надеюсь, вы оценили каламбур в названии) рассчитана на разработчиков, которые ранее слышали об Arduino или пробовали программировать под эту платформу. В ней мы рассмотрим опыт новичка в плане проектирования и разработки IoT устройства мониторинга уровня CO2 в помещении. Наша цель - сделать устройство, которым просто пользоваться и оно приносит пользу.

Читать далее

Упрощаем разработку устройств умного дома с проектом SmartThing

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.5K

Представим ситуацию: вам вдруг захотелось вечерком/на выходных сделать устройство умного дома (условимся, что это Arduino подобное устройство). Причины и цели не так важны: хотелка, необходимость, спортивный интерес, да что угодно. Вы начинаете искать информацию о популярных платах, способах взаимодействия с устройством, хранении данных и т.д. Есть множество статей по данным темам с примерами, но вам не хочется погружаться в код, а хочется только описать логику устройства и сразу им пользоваться. Что же делать? Для такого случая был создан SmartThing - это проект нацеленный на упрощение и ускорение разработки законченного устройства умного дома (или же IOT устройства).

Читать далее

Мой первый проект по электронике: Дальномер на базе Arduino

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.8K

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

Читать далее

Хакаем корутины в C

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров12K

Недавно работал в команде, занимавшейся разработкой встроенного ПО. Это ПО в значительной степени основывалось на конечных автоматах, которые десятками были разбросаны по множеству функций. И хотя такая архитектура весьма распространена в разработке встраиваемых систем, в особенности систем без ОС, я задался вопросом: неужели нет способа выразить поток управления более чисто?

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

Меня не покидала мысль: «А не будет ли проще написать логику в виде последовательной программы, ожидающей события и возобновляющей выполнение с места остановки?»

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

Читать далее

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

VisionPilot: автономный автопилот на Betaflight и Orange Pi 5 с YOLO и ELRS

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.2K

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

Эта концепция уже воплощена в проекте VisionPilot — автономном автопилоте на базе Betaflight и Orange Pi 5 с аппаратным ускорением YOLO и управлением через ELRS. VisionPilot — это простой, расширяемый и доступный инструмент, который сочетает мощь нейросетевого обнаружения объектов и надёжность протокола управления для создания настоящей автономии.

Читать далее

Гидроакустические «кубики»

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров5K

Приветствую, глубокоуважаемые!

Мы сделали гидроакустический конструктор: теперь при помощи Arduino можно управлять передачей, детектировать прием, измерять время распространения сигнала в воде, макетировать свои навигационные системы и системы связи и даже делать антенные решетки.

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

Начать погружение

Кубик мысли: простой проект, который говорит вместо тебя

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.5K

Предупреждение для читателя: Эта статья — не гайд, не туториал, и уж точно не техноблог. Я не инженер, не блогер и не эксперт по микроконтроллерам. Просто человек, который в один вечер решил разобраться с ESP32 и внезапно собрал «Кубик мысли».

В этой статье я расскажу, как появился мой Кубик. Что он делает, из чего собран, как работает и зачем вообще нужен. Если вы ищете сложную электронику или гайды уровня “с нуля в продакшн” — тут не об этом.
Зато, может быть, вы вдохновитесь и сделаете что-то своё. А это уже будет значить, что статья не зря.

Читать далее

Простой ультразвуковой отпугиватель собак

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

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

Зачастую, конечно, это заканчивается обычным «обгавкиванием» :‑В

Но, я‑то не знаю, что у них на уме...

Поэтому, приходится «обгавкивать» их в ответ, иногда даже применяя человеческие непечатные выражения, а, для убедительности своих слов, — взяв в одну руку «оружие пролетариата»:‑)

Тем не менее, хотелось бы и дальше носить маску культурного человека, не снимая её даже в такие моменты:‑) и я тут подумал: а что, если возложить задачу конверсейшена с собаками — на электронику?

Читать далее

ElBear ACE-Uno — первый запуск в Mac OS

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

В статье рассмотрим, как начать работу с ElBear ACE-UNO в Mac OS. Постарался для вас сделать выжимку, чтобы можно было скорее приступить к работе с платой и потратить на это на пару-тройку суток меньше)

P.S. Для пользователей Windows статья также может быть полезной.

Читать далее

Обучение детей программированию, какой инструмент выбрать?

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

Для детей, изучающих программирование, существует несколько отличных сред, включая визуальные среды для начинающих и текстовые языки для более продвинутых. Scratch, Tynker, Swift Playgrounds подходят для начального уровня. Для детей постарше, Python является популярным выбором из-за простоты синтаксиса. 

Давайте теперь рассмотрим подробнее универсальные  среды программирования:

Scratch: один из самых популярных инструментов для обучения детей программированию. Он использует блоки, которые можно перетаскивать, чтобы создавать игры и анимацию. Scratch имеет простой и понятный интерфейс, что делает его отличным выбором для детей младшего возраста. 

Читать далее

ИИ на FPGA — создание нейронной сети XOR с помощью LLM

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

Иногда лучший способ чему-то научиться, будь то ПЛИС, модель ИИ или простейшая логическая задача — это позволить технологии научить саму себя.

Читать далее
1
23 ...