Обновить
5.17

Raspberry Pi *

Одноплатный компьютер компактного размера

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

Всем привет!

В этом посту я хочу подвести итоги года.

Во первых всех с наступающим ^-^.

Во вторых в этом году я познал НАМНОГО больше чем в прошлом году.

К примеру - познал что батарея без своего разъёма - это очень плохо.

В этом году я сделал много проектов и до сих пор делаю их:

  • "ЛИСП машина" - мой первый по настоящему крутой проект.

  • Микрокомпьютер с GUI - для меня это был крутой проект из-за попытки реализовать GUI.

  • Компилятор pycc - хоть и не компилирует в машинный код, но для меня это вершина в моём "языкописательстве" (поправьте если что).

  • Ядро Pech - бета скоро станет 2.0.0. Почему так резко? PEF должен был быть с первого релиза но, я не люблю терпеть и выложил без PEF (к моменту выпуска я уже был полностью погружен в создание PEF).

  • Ядро PearKernel - первые попытки соорудить своё ядро.

Также делаю свою ОС на ядре Pech.

Ещё в этом году было много проектов но большая часть из них - не удались, не популярны или были удалены и заброшены.

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

Кстати как и просили. Пример кода на PEF:

[HEADER]
prio:2
pid:1
name:TEST
[ATTRS]
x:0
[PROG]
while True:
    print(x)
    x += 1
    await asyncio.sleep(SLEEP_TIME) #0.020 секунд (20 мс.)

А проще:

[HEADER]
prio:ваш приоритет.
pid:ваш pid (уникальный).
name:имя вашего процесса.
[ATTRS]
имя:любое значение (В ОДНУ СТРОКУ!)
[PROG]
ваш код

Данный пост хотел закинуть в "Я пиарюсь" но карма не позволяет.

Всем удачи!

Теги:
+3
Комментарии4

Всем привет!

Сегодня был выпущен релиз Pech 2.0.0 BETA!

Основные изменения:

  1. Новый формат написания: PEF (Pech Executable File):

    Этот формат был сделан с целью упростить написания

    кода и работы с переменными.

Мало да? Ну это же бета :-).

Также не основные изменения (это не грандиозно, но нужно):

  1. Выяснилось, что моё ядро с функциями НАМНОГО медленнее

    чем с exec и compile (с exec минимум на 10 тыс. задачах 10.7 мс!)

  2. Выяснилось, что нужно будет сделать кэширование для процессов.

Планы на будущее:

Сделать кэширование.

Сделать кучу серверов.

Да этого мало, но эти изменения пригодятся.

Удачи!

Теги:
-3
Комментарии2

Всем привет!

Сегодня состоялся релиз версии 1.0 моего исследовательского ядра Pech (ранее PearKernel). Проект прошел большой путь трансформации архитектуры, и я готов поделиться результатами.

Основные изменения:

  1. Архитектура системных серверов:
    Теперь Pech следует микроядерным концептам. Вместо монолитной логики я внедряю систему серверов. Это изолированные процессы, которые наделены специфическими полномочиями (Capabilities). Например, реализованный в этом релизе FS-сервер имеет прямой доступ к файловой системе и предоставляет интерфейсы для других пользовательских процессов.

  2. Асинхронный IPC:
    Механизм межпроцессного взаимодействия (IPC) полностью переработан. Теперь он базируется на системе полнодуплексных (full-duplex) асинхронных каналов. Для управления очередями сообщений была разработана собственная реализация асинхронной очереди (asyncio.Queue), так как в asyncio для MicroPython не было asyncio.Queue.

  3. Переход на кооперативную многозадачность:
    Я принял решение временно отказаться от собственной реализации вытесняющей многозадачности в пользу модели на базе asyncio. Это позволило значительно повысить стабильность работы системы и упростить логику переключения контекста между серверами. В планах на будущие версии — гибридная модель, объединяющая гибкость asyncio и строгий контроль ресурсов.

  4. Рефакторинг ядра:
    Я отошел от структуры «всё в одном классе». Логика ядра теперь декомпозирована, что упрощает масштабирование. При проектировании я ориентировался на концепции Mach 3.0, стараясь адаптировать их под современный асинхронный подход.

Планы:

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

Ссылка на репозиторий в первом комментарии. Жду конструктивной критики и идей по развитию архитектуры IPC!

Удачи!

Теги:
-5
Комментарии13

Второй робот. Показали Губернатору

На предыдущий пост про нашего робота последовала бурная реакция, поэтому мы решили сделать второй — о новой, обновлённой версии робота.
В видео вы увидите, как прошёл наш второй опыт участия в выставке, а также как мы демонстрировали робота губернатору нашей области.

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

Вк: https://vkvideo.ru/video-131964440_456239180

Ютуб: https://youtu.be/MtEDQHV7zaQ?si=MkvWQfewA07l-ebs

Заставка
Заставка
Теги:
0
Комментарии0

Небольшое дополнение к статье про Raspberry Pi

Недавно я написал статью про небольшой домашний стенд на Raspberry Pi и Orange Pi: Tailscale, Ansible, Nginx и базовую автоматизацию.
В процессе чтения комментариев решил сделать несколько улучшений. Особенно благодарен комментариям от @Tony-Sol

Первое, что сделал — убрал root из inventory.

ansible_user=root Не надо так, лучше создать отдельного пользователя


На обеих машинах завёл отдельного пользователя ansible и команды на хосте:

sudo adduser ansible

sudo usermod -aG sudo ansible

echo 'ansible ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/ansible

sudo chmod 440 /etc/sudoers.d/ansible

2. Создание роли

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


Теперь создал роль и подключил ее в основной плейбук:

  • tasks / handlers / templates разнесены по каталогам;

  • apt заменён на package;

  • state: latestpresent;

  • become используется только там, где реально нужен;

  • проверка конфига вынесена в handler через nginx -t.

Отдельно напишу вещь, на которой споткнулся:
host_vars/<имя>.yml работает только если имя совпадает с inventory_hostname.
У меня хост назывался orange, а файл был pi2.yml — из-за этого Jinja-шаблоны молча брали дефолты.

3. ansible.cfg — мелкие, но полезные настройки

Добавил минимальный ansible.cfg в проект:

  • roles_path=./roles;

  • gathering=explicit (факты включаю только там, где нужны);

  • небольшие SSH-настройки для стабильности.

vault_password_file имеет смысл добавлять только когда реально используется vault, иначе Ansible начинает ругаться.

4. Добавил на Raspberry Pi Мониторинг: VictoriaMetrics + Grafana

Мониторинг вынес на более мощную Raspberry Pi, а Orange Pi оставил агентом:

  • VictoriaMetrics + Grafana в Docker Compose;

  • node_exporter на обоих устройствах;

  • сбор метрик через static targets.

В итоге стенд стал аккуратнее.

Если интересно — базовая архитектура и исходная версия описаны в предыдущей статье.

Теги:
-1
Комментарии0

Привет всем!

Продолжаю выкладывать про свою ОС.

Что я сегодня добавил? Мало чего, но...

...Я решил выпустить небольшой тест многозадачности.

Он щас на wokwi, но не заходить.

Два счетчика: первый до 5 а другой до 3.

Потом идет окно с текстом "Bye!".

Конечно это не полное то, как должно выглядеть, но это можно сказать пре-альфа 1.0 (в программе альфа так как pre-alpha не влезло).

Да, решил сделать пока не на TFT, сделал на OLED.

Удачи!

Теги:
-1
Комментарии0

Всем привет!

Тема поста про мою ОС.

Так как я считаю что зациклился на ядре и ФС, я вспомнил о графике.

Как вообще будет выглядеть ОС?

Не как Windows 11 или другие до Windows 3.1, не как System 1.0 - Mac OS 9.2.2.

И не как Mac OS X (или macOS).

Будет выглядеть как NeXTSTEP.

Как будет отображаться изображение на экране?

Вот так (номер: что отображается):

  1. Сам экран ОС: Тут иконки, док и всякие меню.

  2. Экран диалогов: здесь маленькие диалоговые окна с вводом и какой то информацией

  3. Экран рабочего окна (или окон): здесь отображается рабочая задача.

  4. Остальные окна: они тут так, по приколу, ведь им всего по 20 мс уделяется.

Вот такая графика. Как я реализую? Две библиотеки: где просто работа с самим экраном. И там где уже работа идёт как в фреймворке (кнопки и окна: все будет там).

Удачи!

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

Теги:
-3
Комментарии3

Всем привет!

В прошлом посту я говорил что всё ещё пишу ОС и не забросил проект.

Да, так.

Так же я рассказал в том посту что я добавил много технологий чего нового.

Так вот.

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

Что это? Нет не mov. Я реализовал системные вызовы.

Пока что их 13.

Вот их список (в виде "номер: значение вызова"):

  1. Cказать сообщение от ядра.

  2. Записать в файл (или создать если нету).

  3. Прочитать содержимое папки.

  4. Поменять рабочую папку.

  5. Вернуть рабочую папку.

  6. Создать папку.

  7. Удалить папку.

  8. Удалить файл.

  9. Проверить: это папка?

  10. Проверить: это файл?

  11. Вывести содержимое файла.

  12. Сохранить содержимое файловой системы в файл.

  13. Вывести сообщение (любое).

Вот так получилось!

Удачи!

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии3

Всем привет!

Я пишу свою ОС, уже давно, на MicroPython.

Я снял свои посты потому что во первых они мне просто не понравились. Во вторых же, я перешёл на TFT LCD.

Да, если что я не забросил😅.

А какие продвижения были за это время?

  • Нормальная файловая система (mkdir, rmdir, права доступа и ещё много чего).

  • Вытесняющая многозадачность.

  • Режимы доступа (user, system).

Ну это возможно не всё, но это главное.

Ставлю день конца работы на... Ну лучше всего 24 января (не простая дата) но возможно затянется до конца февраля... Тогда прямо точно ставлю на апрель.

Также напомню что ОС будет на девайсе Raspberry Pi Pico W

Удачи!

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Всем привет👋. Давно не писал на Хабре (не бойтесь, я не писал на другом форуме).

Как вы возможно знаете (нет) что я всегда жалуюсь что привычной 4x4 клавиатуры не достаточно для нормальных проектов помимо светодиодов.

Да, я думаю так и есть. Но потом я сделал раскладки. Было прикольно, но неудобно.

Потом спустя месяцев 3-4 (наверно много) я додумал как это сделать.

Это сделать легко.

Учитывая что можно делать на дисплее SSD1306 (ой, это просто контроллер дисплеев) я решил сделать кнопки. Делал я их уже много но для клавиатуры случаев не было. И в итоге я сделал что-то по типу кнопочной клавиатуры как на телефоне. Управляется такой раскладкой:

  1, 2, 3, вверх.
  4, 5, 6, влево.
  7, 8, 9, вправо.
  Ввод (enter), 0, выбрать, вниз.

Да, и ещё как это выглядит на Wokwi:

Красиво? Наверно да...
Красиво? Наверно да...

Код выпущу когда сделаю его красивее.

Если хотите могу выпустить версию которая сейчас.

И ещё: "<" - это backspace и раскладка чуть-чуть другая.

Удачи👋.

Теги:
Всего голосов 8: ↑6 и ↓2+8
Комментарии0

🤖 Внедряю «зрение» в роботов Адам и Ева!

Детекция объектов через YOLO
Детекция объектов через YOLO
from ultralytics import YOLO
import app_adam_yagpt

# Загрузка модели YOLOv8l (официальная версия)
model = YOLO("yolo11l.pt")  # Автоматически скачает, если нет

# Детекция на изображении
results = model("image2.jpg")

# Получаем текстовый вывод в переменную
detection_summary = results[0].verbose()
resp = app_adam_yagpt.main(f"С помощью компьютерного зрения я передаю тебе данные об изображении. "
                           f"Опиши пространство в литературной форме, и классифицируй где ты находишьcя, "
                           f"что за обстановка и характер мероприятия или встречи, улица это или помещение, если перед тобой: {detection_summary}. "
                           f"Не нужно спрашивать ничего в конце твоего описания. ")
print(resp)

# Визуализация
results[0].show()  # Покажет результат
results[0].save("output.jpg")  # Сохранит
В пространстве находятся пять человек, двое из которых одеты в деловые костюмы. 
Присутствует телевизор, компьютерная техника — мышь и клавиатура, а также мобильный телефон. 
Обстановка выглядит как офисное помещение или место для работы и коммуникации.

Собрал связку YOLOv11 + GPT, чтобы робот не просто видел объекты, но и описывал обстановку почти как человек.

Как это работает:
1️⃣ YOLO детектит объекты на изображении
2️⃣ GPT анализирует их и генерирует "очеловеченное" описание
3️⃣ Profit! - получаем не слепого робота, а полноценного собеседника!

Зачем это Адаму и Еве?

Роботы смогут:

  • Опознавать людей и их действия («Вы пьёте кофе?).

  • Находить предметы по запросу («Где мои ключи?»).

  • Да просто прикольно описывать этот мир! («Обстановка выглядит как офисное помещение или место для работы и коммуникации.»)

Следующие шаги:
🔜 Внедрение в «железо» - тесты на реальных роботах.
🔜 Голосовой вывод - чтобы Адам комментировал увиденное вслух.
🔜 Обратная связь - если робот ошибся, он запомнит исправление.

Сценарии использования:

Дома: «Ева, кто оставил грязную кружку?» → «Это сделал Сергей, 5 минут назад» (по детекции лица + времени).

В офисе: Адам предупредит: «Переговоры начнутся через 10 минут - в зале пока только двое».

📢 Если было интересно — подписывайтесь на мой Telegram-канал robotltdco.

Спойлер: На самом деле второй пункт («Голосовой вывод») сделан! ✔️
Но об этом позже!

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

Всем привет!

Как вы помните: я говорил что хочу сделать свою лисп машину.

Проект не удался из-за корпуса и проводов. Но после этого я взялся делать микрокомпьютер на графической операционной системе.

Этот проект уже получился.

Сейчас решил всё усложнить и сделал ассемблер машину.

Ввод и вывод желают оставлять всего лучшего потому что ввод идёт с помощью двух кнопок (на самом деле limit switch это называют). А эти две кнопки это 0 и 1.

Результат программы не выводится но отображается в светодиодах:

  1. Зеленый - всё правильно.

  2. Желтый - правильно но с ошибками.

  3. Красный - не правильно.

Назвал я первую ассемблер машину как "pear 8800". Почему именно груша? Во первых я люблю груши :-). Во вторых мне нравится везде ставить название "pear" и дальше что-то.

Но можно вводить код по типу такого (не один не скомпилирует ведь мой это интерпретатор но на самом деле это не так):

section .data
hello: 1
section .code
mov ret hello

Вывод: 1.

3 регистра: rsi и rdi для данных и ret для данных которые возвращает программа.

Вот так.

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

Всем привет.

Хочу вам рассказать о том что я делаю LISP машину на Raspberry Pi Pico W.

Изначально я хочу сделать её похожую на эту:

Вот такой.
Вот такой.

Конечно не такой, но по виду схожую.

Я ещё называю это холодильником.

И. На данный момент я сделал аппаратную часть и перехожу к программной.

Дальше сделаю корпус и всё.

Скажу когда сделаю.

Удачи.

Теги:
Всего голосов 10: ↑9 и ↓1+10
Комментарии2

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

Небольшой апдейт по устройству ClockworkPi PicoCalc. Умельцы раскопали RockChip SDK и собрали на основе платы разработки LuckFox Lyra B минимальный рабочий образ Ubuntu 22.04 со всеми драйверами для компонентов устройства. Плата электрически совместима с платой Raspberry Pi Pico. Превращение из кибердеки на Basic в кибердеку на Linux происходит за пару минут.

А внутри Linux уже доступны и Basic и Python и другой софт. У платы всего два недостатка: малый объём памяти и отсутствие Wi-Fi (что решается подключением USB-донглов к внутреннему разъёму USB на плате).

И это реально работает. Покопаться пришлось разве что с процедурой прошивки. Особенность чипа LuckFox Lyra B в наличии встроенной SPI-флешки со стандартной прошивкой, которую нужно стереть для того, чтобы загрузка с MicroSD-карты заработала.

За подробностями отправляю на форум разработчика. Там энтузиасты решают проблемы с RTC-часами, Wi-Fi-адаптерами и прочим.

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

Всем привет!

Представляю вам мой новый проект: Terpinal.

Также я называл его "терпи нал".

Это терминальная операционная система для Raspberry Pi Pico. Который выводит на SSD1306.

Вот ссылка:

https://github.com/SystemSoftware2/Terpinal

Прочитайте README.md и узнайте что и как подключить.

Также я называю операционку как PicoOS Firmware (не знаю почему так).

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии3

Друзья инженеры, разработчики пишу в Вашу поддержку честный отзыв о наших соотечественниках.

НАБОЛЕЛО!!!!

Что бы вы не сделали, диванным критикам просто до одного места! Даже диван на котором он лежит это тоже Г-но потому, что болит левая пятка.

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

По какой то причине мы не заметили контроллер Wirenboard 6 (на процессоре NXP который покрывал все наши задачи) и начали разработку своего устройства AntexGate на базе Raspberry cm3 (теперь уже на Raspberry CM4 )


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

Мы тратим много сил и средств, чтобы развивать свой продукт и поддержку, отвечаем в Телеграм канале почти круглосуточно на вопросы.

Имея таких конкурентов как Wirenboard, ОВЕН, RealLab, Siemens .... мы нашли своих клиентов и продаем в год более 700 компьютеров.

Мы заморозили свое прибор до -65 (легко запустился на таком морозе), нагрели до +101 (на 102гр выключился).
Все равно получаем каждый день отзывы: "Вы просто засунули малину в свое коробку!"
Нет не просто! Мы угрохали более 5 лет жизни небольшой команды на то, чтобы это все работало - "Так как должно!" Перебрали рефенсные схемы самых именитых Европейских производителей под свои реалии.


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


Я желаю пройти каждому разработчику правильный путь и по возможности сделать свое решение на сколько можно.
Я надеюсь, что оттепель настанет в нашей стране и появятся действительно Росcийские процессоры и другая элементная база, а пока увы Broadcom, Raspberry, NXP да на худой конец RockChip главное что-то делать и с голоду не умереть.


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

Теги:
Всего голосов 14: ↑14 и ↓0+17
Комментарии10

Пробовал скомпилировать имидж для Raspberry Pi5 используя Buildroot.

Нужно было:

  • Kernel с архитектурой AArch64 PAGES=4k

  • Сама система с архитектурой ARM

Такие требования вытекали из того, что нужно было на RPi5 запускать бинарник, скомпилированый под ARM.

В buildroot-2024.08-rc3 есть raspberrypi5_defconfig. Но он мне не подходит, так как в нем все, и система и кернель собраны под архитектуру AArch64 PAGES=16k.

Для RPi4, например есть два devconfig:

  • raspberrypi4_defconfig - Все под 32 bit

  • raspberrypi4_64_defconfig - Все под 64 bit

А под RPi5 только такой вариант.

Я пробовал по всякому, пытался запускать make raspberrypi5_defconfig, а потом конфигурировать вручную, пробовал внешний кернель, но все равно система с raspberrypi5_defconfig не компилируется под архитектуру ARM.

Так как нужно работает 2024-07-04-raspios-bookworm-armhf. Она сама 32-ух битная, а на RPi5 запускает kernel8, который AArch64 PAGES=4k. И все работает.

Итак на чем я остановился. Саму buildroot систему скомпилировал с raspberrypi4_defconfig, а кернель и модули и другие файлы взял с 2024-07-04-raspios-bookworm-armhf.

Не скажу, что я счастлив, но все работает, а время на эту задачу кончилось.

Может кому-нибудь эта информация будет полезна.

Теги:
Всего голосов 6: ↑6 и ↓0+9
Комментарии0

Raspberry Pi планирует продавать чип искусственного интеллекта. Он будет интегрирован с программным обеспечением камеры Raspberry Pi и позволит запускать приложения на основе искусственного интеллекта, такие как чат-боты, прямо на одноплатном компьютере.

Raspberry Pi заключила соглашение с производителем микросхем Hailo для создания своего AI Kit, который представляет собой надстройку для микрокомпьютера Raspberry Pi 5 с ускорителем Hailo Hailo-8L M.2. Комплекты будут доступны по цене $70.

Генеральный директор и соучредитель Hailo Орр Данон рассказал, что «потребляемая мощность ускорителя составляет менее 2 Вт и он пассивно охлаждается». При этом устройство обеспечивает производительность 13 операций с плавающей запятой в секунду (TOPS).

Теги:
Всего голосов 2: ↑2 и ↓0+6
Комментарии0

Сообщество RISC OS Open представило выпуск ОС RISC OS 5.30, оптимизированной для создания встраиваемых решений на базе плат с процессорами ARM.

Выпуск основан на исходных текстах RISC OS, открытых в 2018 году компанией RISC OS Developments (ROD) под лицензией Apache 2.0.

Сборки RISC OS сформированы для плат Raspberry Pi, PineA64, BeagleBoard, Iyonix, PandaBoard, Wandboard, RiscPC / A7000, OMAP 5 и Titanium. Размер сборки для Raspberry Pi составляет 157 МБ.

RISC OS развивается с 1987 года и ориентирована в основном на создание специализированных встраиваемых решений на базе ARM-плат, обеспечивающих максимальную производительность. ОС не поддерживает вытесняющую многозадачность (только кооперативная) и является однопользовательской (все пользователи имеют права суперпользователя). Система состоит из ядра и модулей-надстроек, в том числе доступен модуль с простым оконным графическим интерфейсом и набор простых приложений. В графическом окружении используется кооперативная многозадачность. В качестве веб-браузера используется NetSurf.

В новом выпуске:

  • в разряд стабильных переведена поддержка платформы OMAP5, формированию первого стабильного выпуска для которой ранее мешали проблемы с видеодрайвером;

  • для всех платформ реализована полная поддержка ФС SparkFS с возможностью чтения и записи данных;

  • обновлена редакция RISC OS для плат Raspberry Pi.

  • обновлена коллекция приложений, среди прочего предложен новый выпуск браузера NetSurf 3.11;

  • максимальный размер RAM-диска увеличен до 2 ГБ.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

На GitHub опубликован проект ZX2040 — это порт эмулятора ZX Spectrum от Andre Weissflog для микроконтроллера Raspberry Pico RP2040. Решение имеет простой пользовательский интерфейс для выбора игры и назначения клавиш, позволяющий использовать проект без клавиатуры. Также есть поддержка пьезодинамика, если нужен звук.

«Этот проект специально разработан для дисплеев на базе Raspberry Pico и ST77xx. Нашим эталонным устройством является плата дисплея Pimoroni Tufty RP2040, но на самом деле код может работать на любом Raspberry Pico, оснащённом дисплеем ST77x и пятью кнопками, подключёнными к пяти различным контактам. Кнопки работают как входы для четырёх игровых движений (налево, направо, вверх, вниз) и кнопки для выстрела», — пояснили разработчики ZX2040.

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