Нанославик Электроникс
704 subscribers
480 photos
33 videos
7 files
79 links
Канал про DIY электронику. Чат для общения https://t.me/nanoslavic_room Коммерческие вопросы: @posistor GB
Download Telegram
Про Ардубой

Миниатюрная игровая консоль, которую я хочу сделать, будет всех ближе к консоли Ардубой. Поэтому немного о ней расскажу.

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

Приставку запустили на Кикстартере в 2014 по предварительному заказу, где она собрала 400 тыс долларов, хотя просили изначально 25 тыс. Так проект стал очень успешным.

Устройство работает на Mega32U4: 8-битный процессор, 32 кБ Flash под игру, 1кБ EEPROM для сохранений и 2.5 кБ оперативной памяти. То есть, это очень простой микроконтроллер по современным меркам. Также в нём есть полноценный USB порт. В качестве дисплея используется монохромный OLED 128x64 с контроллером SSD1306 и диагональю 1.3". Также есть три светодиодика: красный, синий и зелёный. Но они редко задействованы в играх. Аккумулятор 180 мА*ч. Габариты корпуса как у кредитной карты толщиной 5 мм.

Игры можно создавать в Arduino IDE после подключения библиотеки Arduboy, в которой есть функции для работы с экраном, кнопками, звуками и мигалкой. Автор игры может выложить как исходный код, так и только прошивку в HEX файле. Для загрузки надо подключить приставку через USB и загружать нужную игру из HEX файла. За раз в приставке может быть только одна игра. Все сохранения делаются во внутреннюю память EEPROM, которую потом можно считать также программатором.

Позже выпустили новую версию Arduboy FX, в которую встроили внешнюю микросхему Flash на 64Мб, на которую можно загрузить кучу игр для загрузки. Таким образом, отпала необходимость каждый раз подключать игру к компу для прошивки микроконтроллера.

Сейчас пишут, что создано более 300 игр. Я их все не проверял пока, но уже нашёл среди них немало слишком простых и плохо проработанных вариантов. Но немало тех, что мне понравились. Не все выложены с открытым кодом.

Дальше расскажу про минусы и свои идеи.
👍18🔥4
Продолжение про Ардубой

Открытая схема и софт позволили любителям делать свои клоны, на которых запускаются все игры. Клон можно собрать из простых деталей с Алиэкспресса, упаковав их в какой-нибудь корпус.

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

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

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

Разумеется, играть в такие игры не захочется долго:) Слишком уж мало пикселей на экране, из-за чего нельзя реализовать более и менее затягивающие игры. Даже игра GameBoy, вышедшая в 1990 году, имела 160×144 пикселей и 4 градации серого.

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

О том, какую я хочу сделать игровую консоль, расскажу дальше:)
👍13🔥4
Собираю новый прототип:) Пока опять на проводах, потому что заказывать плату дорого, да и со схемой хочется сначала поэкспериментировать.

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

Разумеется, без специально разведённой печатной платы не получится сделать минимальные размеры корпуса. Но ведь это всего лишь прототип (стандартная отмазка инженеров, берите на заметку😁).
👍14🔥6
Какую игру я хочу сделать?

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

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

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

Таким образом, устройство можно будет собирать на разных процессорах и дисплеях, для которых реализована операционная система. Сначала я хочу делать всё для STM32, а потом — для ESP32. Из дисплеев хочу добавить поддержку маленьких монохромных и цветных дисплеев.

И самое сложное тут — это, конечно же, весь софт. Для запуска программ надо делать либо какой-то интерпретатор (типа Lua или micropython), либо симулятор существующего процессора (типа RISC-V) с дополнительными фишками. Пока я ближе ко второму варианту, так как это более простой и эффективный путь для меня на данный момент:) Но возможны и оба варианта одновременно.

Для развития популярности любой системы нужно её упрощать для новичков. Так что надо будет каким-то образом предоставить возможность создавать игры в ардуино, хотя я и не особо люблю эту платформу:) Но ради известности (ну и чтоб заработать) я готов на это идти😁

А вот когда это всё будет сделано — вопрос без ответа. Занимаюсь я этим как получится в свободное время. Иногда отвлекаюсь на другие проекты. Одно могу сказать — следите за моим контентом:)
👍12🔥4
У меня есть собственный сайт

https://nanoslavic.ru/

на котором показывается реклама от Яндекса. За это мне идут копейки (буквально).

Надо бы обновить его. И вот думаю, чего бы такого добавить на свой сайт, чтобы люди чаще заходили и смотрели рекламу?:)

Может, какую-то инфу или веб-игры? Или какие-то фотки? Может даже сделать устройство, с которым люди смогут взаимодействовать через мой сайт?:)

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

Кстати, после 1500 подписчиков Яндекс предлагает включить рекламу в Телеграм канале:) Будем пробовать?😁
👍10😁2😱1
Кстати, а вы видели, что нейросеть Grok от Илона Маска добавили в Телеграм бота?:) Официально и напрямую, а не через каких-то посредников, как это делают разные частные боты. Для премиум пользователей он вроде пока доступен без ограничений. Очень классная фишка!

Он и кодить умеет, и знает много технической информации. Буду теперь его тестировать, а то раньше для этого надо было заходить в соцсеть на букву Х, что бы это ни значило😁

Официальный бот тут: @GrokAI и он даже отвечает, если на его сообщения поставить эмодзи:)
👍5🔥1🎉1
На озоне начали продавать отладочную плату «MIK32 Амур» на российском микроконтроллере К1948ВК018 за 5500 рублей. Да, за эту цену можно купить много китайских отладочных плат, но они же будут китайскими:)

Сам микроконтроллер К1948ВК018 содержит 32 битное ядро RISC-V RV32IMC с максимальной частотой 32МГц. Объём EEPROM 8КиБ, ОЗУ 16КиБ. Есть разные модули АЦП, ЦАП, RTC и прочего, хотя в документации всё сложно описано, причём указаны разные наименования с разным набором периферии:

К1948ВК01А8, К1948ВК01А5 – без использования блока АЦП;
К1948ВК01Б8, К1948ВК01Б5 – без использования блока ЦАП;
К1948ВК01В8, К1948ВК01В5 – без использования блока OTP.


То есть, надо прям точно смотреть все циферки и буковки в названии модели и уточнять её содержимое по периферии. Как обычно с российскими микросхемами — сложно, разнообразно и специфично:) Хотя даташит сделали весьма подробный — аж на 320 страниц.

К слову, по производительности это примерно как китайская CH32V003, которая стоит меньше 30 рублей:)

Но я надеюсь, что это лишь начало грандиозных разработок и в будущем у нас появятся более дешёвые и производительные микроконтроллеры:) Пока у меня даже желания нет покупать их за такую сумму. Впрочем, это делается не для любителей электроники, а для институтов и промышленности. А мы пока будем наблюдать за новинками:)
👍9🔥5
И немного фоточек к шортсу выше. Что внутри той коробочки:)

По-сути, я просто подключил нужные сегменты индикатора к питанию через резисторы. Только один светодиод рандомно мигает. А схема рандомной мигалки спрятана под синей изолентой:)
👍7🔥4