Канал схемотехника-программиста
112 subscribers
269 photos
12 videos
5 files
24 links
Download Telegram
Дорогие подписчики!

От всей души поздравляю вас с наступающим 2026 годом!

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

* схемы собирались легко и работали стабильно;
* компиляции проходили без ошибок, а отладка занимала минимум времени;
* алгоритмы были оптимальны, а ресурсы — достаточны;
* идеи приходили вовремя, а вдохновение не иссякало.


Пусть в 2026 году вас ждут:
* новые знания и навыки в сфере схемотехники и программирования;
* интересные проекты и достойные вызовы;
* надёжные компоненты и стабильные библиотеки;
* коллеги, с которыми приятно работать, и клиенты, ценящие ваш труд.

Желаю вам крепкого здоровья, душевного равновесия и радости от каждого дня. Пусть дома будет тепло и уютно, а в сердце — уверенность в завтрашнем дне.

С Новым 2026 годом!🎄 Пусть он принесёт вам успех, гармонию и множество маленьких технических чудес.
🎄71👍1
Скрестил ужа с ежом
Подключил контроллер питания к дисплею

Правда, сам модуль уже содержал IP5306, и его пришлось отключать, прежде чем можно было бы подключить этот, на MP2722. Пока параллельно борюсь с зависаниями дисплея и изучаю EEZ Studio. Но по большей части, флоу работы можно показать.

Не получилось пока вывести экран, который выводится при подключении зарядки, когда устройство выключено. Замеров потребления пока не проводил.
👍4
Сделал замеры потребления тока установки на базе контроллера питания MP2722 и платы Guition JC4827W543C (дисплейный модуль)

Использовал аккумулятор с заявленной емкостью 1800 мАч.

Дисплейный модуль пришлось доработать:
- отключил контроллер питания от пауэрбанка IP5306 (у него кривая схема управления питания и с контроллера никак нельзя с ним взаимодействовать, версия не-I2C)
- вывел отвод для подачи питания с моего контроллера питания
- пробросил кнопку на IO16

Активное потребление вышло более 100 мА, притом, без подключения WiFi
Потребление в спящем режиме (без дополнительного вмешательства) - ~60 мА: так получилось из-за неактивированного спящего режима на дисплее NV3041 и тач-контроллере GT911, а также из-за цифрового усилителя мощности NS4168

После отключения NS4168 потребление в спящем режиме упало до ~30 мА.
Когда отключил еще и дисплей с тачем, то потребление упало до 9 мА.

Потребление в выключенном режиме составило ~60 мкА.

Вывод:
- вся установка без дополнительной оптимизации по питанию в выключенном состоянии пролежит ~3 года и сможет в течение этого времени включиться без подзарядки
- если нужна доп-оптимизация по питанию в спящем режиме, то надо делать свою плату. И найти, куда идут 9 мА потребления.
👍4
Офис делал мне мозги

Пытался написать инструкцию, а Microsoft Office зависал через какое-то время после запуска, и даже документ не сохранялся, даже после переустановки.
При этом, переустановка или обновление офиса не помогало.
До этого был KMS-активатор, и думал, что он мешал.

Оказалось, что накопилось слишком много "мёртвых" ключей (KMS получает ключ на 180 дней и периодически их обновляет).
И не смог активировать офис купленным ключом. Ну не сносить же из-за этого винду.

Решил проблему так:
Оперируем в окне Powershell с правами администратора:
irm https://get.activated.win | iex

Там выбираем 5 (Check activation status). В новом окне выведутся все ключи: и Windows, и Office, причем, на все продукты. Интересует значение строки Partial Product Key. Таких ключей может быть несколько. Окно не закрываем, понадобится позже.
Затем, в другом окне PowerShell, переходим в папку установки Office. У меня это C:\Program Files\Microsoft Office\Office16
По каждому ключу запускаем в этом окне:
cscript ospp.vbs /unpkey:xxxxx

xxxxx заменяем на ключ из окна с предыдущего шага.

После, в окне с ключами нажимаем любую кнопку, снова в окне активатора нажимаем 5. Если проработаны все ключи, то ключи Office не должны появляться. Если появились другие ключи (например, из-за переполнения буфера терминала), повторить. Но этих ключей быть не должно.

Затем, выйти из окна активатора, открыть Office. Дождаться окна с просьбой активировать, либо плашка "Нет лицензии". И спокойно ввести купленный ключ. И должно заработать
Опубликовал статью на Хабр по поводу библиотеки управления питанием

Ссылка: https://habr.com/ru/articles/986116/

Там же будут даны ссылки на репозитории и на библиотеку, и на демо-проект
🔥5👍2
Опубликовал компонент на IDF Components registry

И заметил любопытную вещь: если открывать страницу из России, и в репозитории есть README_RU.md, то он отображается по умолчанию

Компонент тут: https://components.espressif.com/components/dmitrij9992905/powermanagement-espidf/versions/1.0.2601~173/readme
2
Собрал пауэрбанк из нормальных аккумуляторов на 100 Вт

Но есть нюанс, вернее, 2:
- 100 Вт выдается, если подключено по Type-C одно устройство, ноутбук, например
- выдает недолго, отключается по перегреву, причем перегревается сама плата. Надо продумать охлаждение.

Первую часть корпуса печатал на старом принтере, Voxelab Aquila, и не удавалось сделать качественнее, даже более того: начал сопливить, забиваться экструдер. Чтобы не терять времени, купил новый 3D-принтер, Creality K1C 2025, но это для другого проекта нужно было
👍21
Поздравляю всех причастных!
👍6🔥2
Тоже внесу свою лепту

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

Прилагаю ссылку, где можно подписать петицию, хоть что-то...
https://стопчебурнет.рф/
А ведь Telegram-боты - это очень удобный инструмент для сисадминов и самодельщиков, дают возможность оперативно получать инциденты и оперативно на них реагировать.
На канале даже упоминается один из демо-проектов: ESP32 с модемом SIM800C/L, который через мобильную сеть общается с Telegram-ботом, и даже замерял суточный трафик на ежедневный опрос бота.
Также на работе бота использовал для получения информации о текущей OTA-кампании на устройства на работе.
Макс тоже предлагает ботов, но только юрлицам, и то не более 5 штук.
На работе их, кста, быстро расхватали, а альтернативный канал пока не сделал.
Думаю, либо на работе реализую альтернативный канал оповещения о кампаниях, либо таки к нам прислушаются и снимут эти бредовые ограничения, которые не ведут к безопасности, а ведут к монополии.
А, к безопасности таки ведут, но государства от инакомыслия граждан😃
Ну, и ещё момент: документация к некоторым микросхемам недоступна без VPN, так как стоит геоблок со стороны самого сайта, а тут еще и в России запрещают...
И в завершение прилагаю скрипт forbidden_letters.py:
#!/usr/bin/env python3

letters = [
['А', 'а'],
['Б', 'б'],
['В', 'в'],
['Г', 'г'],
['Д', 'д'],
['Е', 'е'],
['Ё', 'ё'],
['Ж', 'ж'],
['З', 'з'],
['И', 'и'],
['Й', 'й'],
['К', 'к'],
['Л', 'л'],
['М', 'м'],
['Н', 'н'],
['О', 'о'],
['П', 'п'],
['Р', 'р'],
['С', 'с'],
['Т', 'т'],
['У', 'у'],
['Ф', 'ф'],
['Х', 'х'],
['Ц', 'ц'],
['Ч', 'ч'],
['Ш', 'ш'],
['Щ', 'щ'],
['Ъ', 'ъ'],
['Ы', 'ы'],
['Ь', 'ь'],
['Э', 'э'],
['Ю', 'ю'],
['Я', 'я']
]

rkn_string = "Роскомнадзор запретил букву"

for l in letters:
if l[0] in rkn_string or l[1] in rkn_string:
print(f"{rkn_string} {l[0]}")

rkn_string = rkn_string.replace(l[0], "*")
rkn_string = rkn_string.replace(l[1], "*")

rkn_check_string = rkn_string.replace(" ", "")

total_cnt = len(rkn_check_string)
forbidden_cnt = rkn_check_string.count('*')

if forbidden_cnt >= total_cnt:
break
😭1
С праздником!
Мирного неба над головой!

Победили тогда, победим и сейчас
9🤡5
Обновочки

Мне подарили клавиатуру Keychron K10 HE, клавиатура на магнитных свичах.
Хотел такую, ибо тут 100% раскладка, три режима работы (USB, Bluetooth, отдельный радиоканал), плюс, можно настраивать через веб-приложение launcher.keychron.com

Linux надо донастроить, чтобы приложение подхватывало клавиатуру

Из минусов только то, что не светятся русские буквы (особенность PBT-кейкапов с одной раскладкой), но маркировка подсвечивается мониторами и я включаю лампу приглушённо, так что не заметил
Как сделать так, чтобы конфигуратор работал с клавиатурой корректно в Linux

Для этого нужно узнать VID/PID клавиатуры командой lsusb, когда клавиатура подключена. У меня вывод примерно такой:
dmitrij999@dmitrij999-ASUS-TUF-Gaming-A15-FA507NUR-FA507NUR:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 2b7e:b888 Sonix Technology Co., Ltd. USB2.0 HD UVC WebCam
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 016: ID 3434:d030 Keychron Keychron Link
Bus 006 Device 018: ID 3434:0ea0 Keychron Keychron K10 HE <- вот это
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
dmitrij999@dmitrij999-ASUS-TUF-Gaming-A15-FA507NUR-FA507NUR:~$


Далее создаем правило udev:
sudo nano /etc/udev/rules.d/99-via-usb.rules


И прописываем:
# Keychron K10 HE (для Вашей модели возьмите свои VID/PID)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="0ea0", MODE="0666", GROUP="users", TAG+="uaccess", TAG+="udev-acl"

# Keychron bootloader
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666", GROUP="users", TAG+="uaccess", TAG+="udev-acl"

# Keychron Link
SUBSYSTEM=="usb", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="d030", MODE="0666", GROUP="users", TAG+="uaccess", TAG+="udev-acl"


Перезагрузите правила udev:
sudo udevadm control --reload && sudo udevadm trigger


Теперь веб-приложение должно подхватывать клавиатуру и настраивать
👍1