Обновить
8K+
87
Дмитрий@m039

Пользователь

28,2
Рейтинг
30
Подписчики
Отправить сообщение

История разработки Arduboy WOW

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

Приблизительно в начале 2025-го года я решил попробовать 3D-печать и разработку печатных плат. Одна идея мотивировала меня на это — сделать свою игровую приставку. Но больше всего мне хотелось, чтобы она была полноценной и без колхоза. Мне кажется, на днях я частично достиг эту цель, когда сделал свою приставку, которую назвал Arduboy WOW.

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

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

Читать далее

«Дешевая» желтая ретро-консоль: как собрать почти полноценную игровую приставку своими руками

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели20K

Возможно, вы слышали про дешёвый жёлтый дисплей, он же CYD (Cheap Yellow Display). Если нет, то это плата с ESP32, с дисплеем, жёлтая и, сюрприз, дешёвая. У платы достаточно активное сообщество, хотя готовых проектов не так уж много. Но на Instructables мне встретился один, который использует эту плату для создания ретро-консоли. При этом она получилась приятной на вид и рекомендуется самим сайтом (то есть имеет метку featured). Поэтому я сразу захотел собрать её.

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

Читать далее

Ретро-консоль в руках программиста

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

В последнее время мне захотелось вернуться к проекту игровой консоли. Правда, он забуксовал, но ничего страшного: это долгоиграющий проект, и буду его разбирать по чуть-чуть. А вернулся к нему всё потому, что захотелось программировать. Потом я стал размышлять, что необязательно делать свою консоль — можно достать готовую. И везде я слышал упоминания про ретро-консоли, а у меня такой не было! Выбрал для себя Anbernic RG35XX Pro и заказал.

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

Всё будет рассмотрено на примере PortMaster и написания Hello World на C/C++ (SDL2, SDL3, raylib), но также поговорим про Unity, Godot и HTML5 (Phaser).

Читать далее

Исследование мелодий на МК Padauk

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели9.9K

К микроконтроллерам Padauk я давно присматривался. Острой необходимости в их использовании у меня нет, но очень интересовали. В какой-то момент этот интерес взял верх, и я решил попробовать что-нибудь сделать на них. Если посмотреть репозитории с примерами Free PDK, то все делают простенькое проигрывание мелодий. Я не стал долго размышлять и тоже решил сделать проигрывание мелодий, но с одним условием — чтобы небольшая мелодия проигрывалась на самом дешевом и простеньком МК, таком как PMS150C или PMS150G.

Я постараюсь вспомнить всё, с чем столкнулся: от программатора Free PDK, обновления поддержки PlatformIO, создания отладочной платы под PFS154 и PMS150C (с адаптерами), музыкального брелока с PMS150G и платы с ATtiny13 — до разбора алгоритма для написания мелодий, которые можно ужать в 1 КБ памяти, а напоследок попробуем снимать значения c АЦП PFS122 и регулировать громкость музыки средствами PWM.

Читать далее

Разработка USB-клавиатуры без поиска лёгкого пути

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

Помимо полноценных клавиатур, есть клавиатуры с несколькими кнопками, клавиши которых можно запрограммировать. Их называют еще макропадами. Макропад не сложно купить, хоть часто он стоит дороже обычной клавиатуры, но можно и сделать. Статей как его смастерить много, самый простой способ — использовать каждый вывод микроконтроллера, пока они не закончатся. Но у меня не было никакого желания делать все как у всех. Хотелось чего-то по-настоящему DIY.

Поэтому в статье пойдет подробный рассказ о разработке USB-клавиатуры на микроконтроллере CH32V003, в котором по умолчанию нет поддержки USB. Но чтобы проект был более интересным, клавиатура состоит из 9 кнопок, 3-х энкодеров и 2-х светодиодов. При этом корпус и кейкапы тоже сделаны самостоятельно (почти).

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

Читать далее

Платотерапия: как я собрал свои Arduino UNO и Digispark с нуля

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

В последнее время поймал себя на том, что меня успокаивает процесс создания плат, от разводки, до пайки и я какое-то время вынашивал идею, что неплохо было бы сделать какую-то свою отладочную плату, например, с программированием по USB. Но зачем что-то придумывать без веской причины, тогда как можно взять готовый проект, например, Arduino UNO или Digispark и заодно подсмотреть, как там все устроено. Поэтому я ухватился за эту идею.

Эта статья — рассказ о том, как я собрал клоны Arduino UNO и Digispark, сделал три разные платы расширения своими руками и протестировал две из них, купленные в магазине.

Попробуем сделать Arduino UNO DIY — свой ответ Arduino UNO Q.

Читать далее

Делаем брелок с LED матрицей ярче

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

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

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

Читать далее

Знакомство с программным USB на CH32V003

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели21K

Давно хотел сделать устройство с USB, но больше всего мне казалось интересным это использовать программное USB. И для микроконтроллера CH32V003 давно существует библиотека rv003usb, которая решает эти задачи. В этой статье можно было бы рассказать как делать простейшее USB-устройство на основе её, но эта библиотека заметно больше и предлагает, помимо самой библиотеки, несколько полноценных рабочих программ: загрузчик и программатор.

Изначально я думал написать статью после создания готового устройства, но пока им занимался столкнулся с тем, что информации получается много и она интересная, поэтому решил разбить это все на части. Это первая, ознакомительная. Я как всегда начал разработку с прототипов и сделал тестовые платы с USB, чтобы “прощупать почву” и про них сегодня будет разговор. Но ради интереса еще попробуем загрузчик и соберем программатор из этой же библиотеки.

Попробуем сделать свой Digispark!

Читать далее

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

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

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

Читать далее

История бюджетной автоматизации отопления в Home Assistant

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели37K

В этой статье хочу рассказать как я узнал что такое умный дом на примере управления отопительным котлом. Чтобы долго не подводить, скажу сразу, что статья о том, как мне удалось подключить электрический котел Protherm Ray 18, который работает по EBUS, к Home Assistant. Все сейчас работает хорошо, но некоторые проблемы еще не решил. О всем расскажу по порядку.

Читать далее

Обзор систем сборок для Raspberry Pi

Время на прочтение9 мин
Охват и читатели48K
В прошлом мой выбор пал на OpenEmbedded (OE) и по заслугам, она одна из лучших систем сборок. К выбору на тот момент не подходил осознанно и захотел исправить это, поэтому решил посмотреть на текущие решения.

Мысль бы не пришла в голову, если под руками не оказалась плата Raspberry Pi (RPi), популярность которой зашкаливает — это означает одно, что попробовать новые системы сборки должно быть как никогда просто.

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

Читать дальше →

Насколько крепка дружба между Java и С внутри Dalvik VM?

Время на прочтение20 мин
Охват и читатели7.6K
В данной статье попытался очень подробно описать свои шаги при исследовании кода андроида и его выполнения в Dalvik VM. Мне было очень интересно узнать ответы, на вопросы:

  • Как выглядит код, генерируемый С? (с позиции ARM)
  • Как выглядит код, генерируемый Java?
  • Как и где происходит выполнение кода?

Поэтому данная статья разбита на 3 части.

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

Читать дальше →

Информация

В рейтинге
337-й
Зарегистрирован
Активность