Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Сообщество arduino

995 постов сначала свежее
ElfinSimon
ElfinSimon
3 месяца назад

12 полезных новинок от Xiaomi⁠⁠

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

1. Корректор осанки Mijia Xiaomi

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

Работает от аккумулятора и синхронизируется со смартфоном через приложение. Идеально подходит для офисных работников, студентов и всех, кто заботится о здоровье своего тела.

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

2. Дозатор для мыла Xiaomi

Автоматический сенсорный дозатор, подающий мыло без контакта. Работает на основе инфракрасного датчика, что обеспечивает гигиеничность и экономный расход моющего средства.

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

3. Массажер для глаз Xiaomi

Эргономичное устройство для снятия усталости и напряжения глаз. Использует компрессионный и температурный массаж для улучшения кровообращения и расслабления мышц. Оснащен мягкими регулируемыми ремешками для удобной посадки.

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

4. Умный тестер HHCC для цветов Xiaomi

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

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

5. Power Bank Xiaomi

Мощный внешний аккумулятор с большой емкостью для зарядки гаджетов. Поддерживает зарядку QC 3.0 и Power Delivery, позволяя заряжать смартфоны, планшеты и ноутбуки.

Имеет два USB-порта, позволяет одновременно заряжать два устройства. Корпус выполнен из прочного и легкого пластика, устойчивого к царапинам. Идеальный аксессуар для поездок, командировок и активного образа жизни.

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

6. Мужские трусы Xiaomi

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

7. Очки Xiaomi

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

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

8. Автомобильная подушка Xiaomi

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

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

9. Уличная камера Xiaomi

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

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

10. Маска для сна Xiaomi

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

11. Водяной насос для аквариума Xiaomi

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

Приспособление для аквариумов различного объема. Простая установка и низкое энергопотребление, делают его использование комфортным и целесообразным.

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

12. Монитор здоровья Xiaomi

Фитнес-гаджет для измерения физических показателей и состояния организма. Измеряет пульс, уровень кислорода в крови, шаги и калории. Поддерживает функцию сна и напоминания о малоподвижности.

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

12 полезных новинок от Xiaomi Товары для дома, Алиэкспресс распродажа, Сборка, Электроника, Arduino, Длиннопост, Аккумулятор, Мастерская, Самоделки

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН/Регистрационный номер: 7703380158

Показать полностью 12
Товары для дома Алиэкспресс распродажа Сборка Электроника Arduino Длиннопост Аккумулятор Мастерская Самоделки
0
4
sadolin
sadolin
3 месяца назад
Есть на Ali
Серия Электроника DIY

"Десяточка" свежих электронных модулей различного назначения с AliExpress⁠⁠

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

1. Компактный терморегулятор W1209 – интеллектуальный контроль температуры

Этот термостат – удобное решение для автоматического поддержания заданного температурного режима в различных системах. Благодаря своей универсальности, он находит применение в системах отопления, охлаждения, вентиляции, а также в теплицах, аквариумах и автомобилях.

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

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

Настройка осуществляется через три тактильные кнопки: одна отвечает за выбор режима, а две другие — за изменение параметров. На LED-дисплее отображается текущая температура, а также устанавливаемые пороги.

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

2. Сенсорные модули TTP223/TTP224/TTP226/TTP229 – удобное управление касанием

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

Они подходят для установки под стеклом, пластиком, акрилом и другими неметаллическими поверхностями, что позволяет создавать скрытые сенсорные панели.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

Рабочее напряжение составляет 2–5,5 В, что делает их совместимыми с большинством микроконтроллеров. В зависимости от модели, можно выбрать модули с 1, 4, 8 или 16 сенсорными зонами.

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

3. TFT ЖК-дисплей 1.28" с драйвером GC9A01

Этот компактный модуль TFT-дисплея с диагональю 1,28 дюйма и разрешением 240×240 пикселей отлично подходит для работы с микроконтроллерами, такими как Arduino и ESP32. Оснащён драйвером GC9A01 и использует 4-проводной SPI-интерфейс, что обеспечивает быструю передачу данных и минимальную загрузку процессора.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

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

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

4. Сенсор движения HLK-LD2402 на 24 ГГц

HLK-LD2402 — это высокочувствительный радарный датчик присутствия, использующий миллиметровые волны 24 ГГц для обнаружения движения и микродвижений человека.

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

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

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

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

5. Универсальный тестер частоты пультов 200-900 МГц

Этот портативный частотомер предназначен для точного измерения рабочих частот пультов дистанционного управления и других радиоустройств в диапазоне 200–900 МГц. Он позволяет быстро определять частоту передаваемого сигнала, что делает его полезным инструментом для настройки и диагностики автомобильных брелоков, систем безопасности, RFID-меток и беспроводных модулей.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

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

Дополнительно тестер имеет зону сравнения сигналов, предназначенную для тестирования RFID-меток. Это делает его незаменимым инструментом для специалистов по радиочастотному оборудованию и системам контроля доступа.

6. Трехфазный драйвер IGBT V5.2

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

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

Основные функциональные узлы платы включают разъем питания для подачи напряжения 12–24 В, интерфейсы связи RS485, а также контакты для программирования и мониторинга. Регуляторы позволяют точно настраивать напряжение для каждой из фаз, а также корректировать токовую нагрузку.

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

7. Коммутационная плата Freenove для ESP32 / ESP32-S3

Эта плата расширения предназначена для удобного подключения микроконтроллеров ESP32 и ESP32-S3, обеспечивая удобную разводку контактов и дополнительную защиту. Она оснащена винтовыми клеммниками для надежного подключения внешних компонентов, а также стандартными штырьковыми разъемами для быстрого прототипирования.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

Питание платы возможно от источников напряжением 7–12 В, с возможностью выбора 3.3 В или 5 В для питания подключаемых устройств. Встроенные конденсаторы и стабилизаторы обеспечивают стабильность работы и защиту от скачков напряжения.

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

8. Набор кнопочных выключателей SMD и DIP форматов

Этот комплект тактовых кнопочных выключателей включает широкий ассортимент моделей с различными размерами: 2×4, 3×6, 4×4, 6×6, 12×12 и другие. Кнопки представлены в двух исполнениях: SMD (поверхностный монтаж) и DIP (выводной монтаж), что делает их универсальным решением для различных типов электронных схем.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

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

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

9. DYMLE Smart Active Balancer 4-24S для литий-ионных аккумуляторов

Этот активный балансир предназначен для выравнивания заряда ячеек литий-ионных аккумуляторов, включая Li-Ion и LiFePO4, в батарейных сборках с конфигурацией от 4S до 24S. Устройство повышает эффективность работы аккумуляторов и продлевает их срок службы, обеспечивая равномерное распределение заряда между элементами.

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

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

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

Модуль мигающей RGB-подсветки с 11 режимами переключения

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

"Десяточка" свежих электронных модулей различного назначения с AliExpress Электроника, Модуль, AliExpress, Алиэкспресс распродажа, Китайские товары, Радиоэлектроника, Arduino, Длиннопост

Работает от напряжения 12 В, обеспечивая стабильное и плавное управление цветами. Подключение осуществляется через три отдельных канала (GL, RL, BL), что позволяет гибко изменять цветовые комбинации и настраивать интенсивность свечения.

Отлично подходит для использования в декоративной подсветке, автомобильном тюнинге, DIY-проектах и других сценариях, где требуется динамическое управление цветами.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН/Регистрационный номер: 7703380158

Показать полностью 10
Электроника Модуль AliExpress Алиэкспресс распродажа Китайские товары Радиоэлектроника Arduino Длиннопост
0
2327
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
3 месяца назад

Как я превратил старый смартфон в игровую консоль с возможностью звонить⁠⁠

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Осторожно: эта статья точно будет интересной, ведь в ней мы смоделируем, спроектируем и запрограммируем своё видение N-Gage 2! Я очень старался сделать статью интересной даже для тех читателей, кто не разбирается в теме 3D-печати и программирования микроконтроллеров :)

Я очень люблю ретро-игры и игровые консоли. Иногда я люблю позалипать в какую-нибудь классику с NES, Sega Mega Drive или, например, PSP. Однако особое место в моём сердечке занимает игровой телефон Nokia N-Gage, который, к сожалению, не получил продолжения, как и его более современный собрат — Sony Ericsson Xperia Play. Недавно я пересматривал свою коллекцию девайсов и обнаружил на полочке Galaxy S4 Mini. И тут я подумал: а что если...

❯ Предисловие

Думаю многие мои давние читатели заметили, что примерно четверть статей в моем блоге так или иначе касается вопроса игр и портативного гейминга. За почти три года существования блога, мы с вами успели не только поностальгировать и потыкать игровые гаджеты, но и отремонтировать часть из них, узнать как разрабатывались и работали «под капотом» игры и даже попытались спроектировать свою собственную игровую консоль!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Почти два года назад в моей голове уже возникала идея сделать «портативку» из полурабочего гаджета. В то время я хотел рассказать читателям о том, что многие старые девайсы можно использовать в качестве одноплатных компьютеров и HMI-панелей благодаря наличию пятачков с шиной UART на плате, с которой можно легко взаимодействовать в Android-приложениях! В качестве реального примера использования я взял планшет с нерабочим тачскрином, подключил через UART геймпад, разработанный на базе RP2040 и написал программу, которая читает UART и инжектит состояние кнопок напрямую в драйвер ввода:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Именно для того чтобы закончить этот проект я приобрел себе Ender3 V2

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

Недавно я осматривал свою коллекцию гаджетов и на полочке с смартфонами Samsung обнаружил легендарный Galaxy S4 Mini, который мне когда-то дарил один из читателей. У смартфона отсутствовала задняя крышка, средняя часть корпуса была немного ободрана, однако несмотря на почтенный возраст в 12 лет, смартфон продолжал нормально работать и даже AMOLED-матрица у него ничуть не выгорела!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

И тут в моей голове что-то щёлкнуло: я вспомнил что S4 Mini — смартфон с довольно неплохим железом для эмуляторов и очень крутым даже по современным меркам AMOLED дисплеем. На моей памяти, в мире не выходило ни одного серийного игрового телефона в монолитном корпусе с OLED-матрицей, а тут ещё рядом лежал оригинальный N-Gage, который я недавно купил в утиле и восстановил после воды. Я взвесил все за и против, прикинул схему и конструктив будущего устройства и принялся мастерить...

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Всё начинается с кубика...

Перед тем как начать работу, нам необходимо определится с тем что нам нужно будет сделать для реализации такого гаджета на практике:

  • В первую очередь, нам необходимо продумать как геймпад будет общаться с нашим устройством. За исключением моего хака с UART'ом, у нас есть два варианта: первый — микроконтроллер выполняет роль USB-HID устройства (прикидываясь клавиатурой) и подключается к OTG-хосту гаджета. Среди плюсов этого подхода можно выделить низкую задержку, однако минусов гораздо больше. Например, далеко не все старые устройства поддерживают OTG и могут быть проблемы с реализацией одновременной работы USB-хоста и зарядки (зависит от реализации OTG в каждом конкретном устройстве). А второй вариант — это Bluetooth-HID, который работает почти с любыми Android устройствами, однако потребляет чуть больше энергии и может иметь небольшой инпут-лаг.

    После расследования выяснилось, что у S4 Mini OTG нет, а значит остается лишь один вариант — Bluetooth. Среди дешевых микроконтроллеров с BT выделяется лишь ESP32, который стоит буквально три пачки доширака. Его мы с вами и выберем.

  • Далее нам необходимо придумать внешний вид устройства. Изначально мне хотелось, чтобы гаджет по форм-фактору и эргономике напоминал оригинальный N-Gage. Но поскольку мне не хотелось делать слишком длинную «колбасу» и бюджета по свободному пространству в корпусе откровенно не хватало, пришлось пойти на некоторые ухищрения — например, расположить блок кнопок вертикально.

  • Теперь самое сложное — смоделировать более-менее адекватный корпус и подогнать детали так, чтобы их хоть как-то можно было состыковать и закрепить. Я в 3D-печати новичок, а в вопросах проектирования корпусов — вообще неотесанный селюк, поэтому мне оставалось лишь смоделировать в блендере выпуклый меш, импортировать в TinkerCad и затем CSG'шками вырезать в нём дырки отверстия.

  • И самое легкое — написать прошивку для микроконтроллера и спаять всё вместе, дабы наши кнопочки не просто прикольно щелкали, но и на практике работали в системе!

Звучит как приключение на 5 минут. Но вот как на практике? Давайте посмотрим!

❯ Моделируем корпус

В первую очередь я сел моделировать корпус устройства и прикидывать его размеры. В TinkerCad'е CSG'шками сделать корпус по референсу проблематично (по крайней мере для меня), поэтому я решил смоделировать основу в блендере. Я взял рендеры N-Gage с фронтальной части, установил камеру в ортографическую проекцию и принялся повторять контур корпуса оригинального телефона. После этого я создал грани на одной половинке корпуса, продублировал все вершины и отзеркалил их с другой стороны. Таким образом, корпус получился одинаковым (кривым) с обеих сторон.

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Далее я убрал лишние рёбра посередине и вытянул корпус по оси Z с помощью инструмента Extrude. Теперь это напоминает поделку семикласника на уроке обращения с рубанком:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Внимательные читатели могли заметить косяк, который из-за затенения я не замечал вплоть до первой печати

Дальше я использовал инструмент Inset faces, дабы создать новые грани на плоскости и вытянуть из них фронтальную часть корпуса. Таким образом, мы получаем ровные и мягкие стенки, которые затем можно смягчить ещё больше с помощью модификатора Bevel:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Однако сейчас геометрия нашего корпуса полая, внутри неё ничего нет. Чтобы добавить внутренние стенки, мы воспользуемся модификатором Boolean (CSG) в блендере: дублируем геометрию нашего корпуса, немного уменьшаем её по оси X и Y (чем меньше дубль, тем толще будут стенки), и затем сдвигаем немного вниз, а затем на основном объекте корпуса добавляем модификатор Boolean, устанавливаем режим Difference, ставим дубль в качестве второго объекта и жмём Apply. Теперь у нашего корпуса внутри отнюдь не пустота!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Далее экспортируем модель в STL, импортируем её в TinkerCad и берём линейку в зубы. Пора замерять габариты нашего устройства и размер дисплея.

Поскольку S4 Mini уж очень скругленный, я аппроксимировал его размеры до прямоугольника (ни слово про мыло!). Над этим прямоугольником я расположил прямоугольник размером с дисплей, который и вырежет нам пространство для этого самого дисплея:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

На этом подготовка болванки корпуса закончена, переходим к реализации геймпада.

❯ Геймпад

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

В качестве кнопок я решил использовать обычные DIP-микрики, поскольку в моем городе не было ни плоских SMD-кнопок, ни тем более мягких мембранных. А ещё они прикольно щёлкают. Я, как пользователь механической клавиатуры, гарантирую это!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Ошметки текстолита можно счистить надфилем или просто подровнять канцелярским ножом

Для реализации обработки кнопок есть несколько подходов:

  • «В лоб»: самый простой и самый подходящий для геймпадов. На один входной GPIO микроконтроллера вешается подтягивающий резистор и кнопка, которая коммутирует массу. Главный плюс такого подхода — возможность зажимать сколько угодно кнопок одновременно, а если ножек на микроконтроллере не хватает, то всегда можно использовать сдвиговый регистр!

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

  • Матричный: используется в клавиатурах, в том числе и в телефонах. Позволяет реализовать 16-кнопочную клавиатуру всего с 8-ю сигнальными линиями, однако с таким подходом нельзя нажимать сразу несколько кнопок кнопок в одной «линии» одновременно. Этим и страдали некоторые китайские игровые консоли, на которых нельзя было одновременно зажать вверх и влево или A и B!

Поскольку у нас всего 10 кнопок, мы выберем первый подход. Для этого мы подведем общую массу к нашей макетке, от которой пустим перемычки (дорожки) к каждой кнопке, а с другой стороны подпаяем провода, которые пойдут на входы в наш микроконтроллер.

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

После этого я наконец-то напечатал первую примерочную болванку, в которой всё помещалось идеально! Время от раздумий до первой болванки — ~5-6 часов:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

❯ Стыкуем корпус

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

Сначала я решил сделать толкатели кнопок. Для «стрелок» я решил сделать классическую крестовину в духе GBA, а кнопки действий решил сделать цилиндрическими. Здесь в целом ничего сложного: подгоняем размеры толкателей к размерам кнопок, делаем у них небольшую выемку снизу, которая будет «шляпкой» для самих кнопок, а также добавляем «юбку» по бокам как ограничитель, дабы они не выпадали из корпуса:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

А она ей как раз!

С крестовиной всё чуточку сложнее: сначала я сделал монолитную в стиле GameBoy, однако из-за того что расстояние между кнопками относительно маленькое, при нажатии на стрелку иногда нажималась и вторая кнопка. Поэтому я решил её разделить на несколько частей, оставив характерный рельеф посередине для лучшей тактильности. Я печатал много разных вариантов: подгонял зазоры для уменьшения люфта и добавлял тактильные выемки, однако остановился на классическом варианте. Далее встал вопрос как закрепить плату с геймпадом с обратной части корпуса. Я долго думал и прикидывал варианты: хотел и саморезы вкручивать, и гайки вплавлять, но потом придумал что самым лучшим и надежным решением будут салазки приклеенные на дихлорэтан, которые при желании можно снять не ломая корпус, но которые будут хорошо выдерживать постоянное усилие со стороны игрока!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Мне кажется что это невероятный говнокод и костыль от мира инженеров. Напишите своё мнение на этот счёт в комментариях.

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

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Нарезаем модель в слайсере и печатаем! Как по мне, получилось очень даже стильно. Да, кто-то скажет, мол, видно, что это колхоз, не Industrial-grade, но как по мне для самоделки вполне на уровне!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

На этом разработка корпуса наконец-то закончена!

❯ Пишем прошивку

Теперь, когда корпус нашего устройства готов и элементы в нём более-менее стыкуются, можно перейти к написанию прошивки. Как я уже говорил ранее, в качестве микроконтроллера я решил выбрать ESP32 благодаря копеечной цене и наличию неплохого BT-стека:

В качестве основы я взял официальный сэмпл BT HID-устройства с гитхаба Espressif. Собрав прошивку и протестировав что всё работает нормально, я принялся адаптировать её под свои задачи. Сначала я написал код для опроса кнопок: устанавливаем GPIO в режим входа с подтяжкой к высокому уровню, затем по запросу итерируемся по массиву с GPIO и заносим состояние кнопок в отдельный массив:

uint8_t input_gpio_mapping[] = {
INPUT_GPIO_LEFT,
INPUT_GPIO_RIGHT,
INPUT_GPIO_UP,
INPUT_GPIO_DOWN,
INPUT_GPIO_A,
INPUT_GPIO_B,
INPUT_GPIO_C,
INPUT_GPIO_D,
INPUT_GPIO_E,
INPUT_GPIO_F
};

uint8_t input_key_states[INPUT_KEYS_COUNT];

void input_initialize_hw()
{
for(int i = 0; i < INPUT_KEYS_COUNT; i++)
{
gpio_reset_pin(input_gpio_mapping[i]);
gpio_set_direction(input_gpio_mapping[i], GPIO_MODE_INPUT);
gpio_set_pull_mode(input_gpio_mapping[i], GPIO_PULLUP_ONLY);
}
}

void input_update_key_state()
{
for(int i = 0; i < INPUT_KEYS_COUNT; i++)
input_key_states[i] = !gpio_get_level(input_gpio_mapping[i]); // TODO: Implement timestamp-based debouncing
}

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

Все HID-устройства описываются специальным дескриптором, однако формат пакетов с репортами о состоянии устройства у них очень сильно отличается: мышки передают ускорение по осям X и Y, а также состояние кнопок, клавиатуры передают до 8-нажатых клавиш одновременно (наследие PS/2), а у геймпадов целый ворох стандартов (DirectInput, XInput... чего только нет. Кстати именно поэтому внешние геймпады обычно имеют несколько режимов). Алгоритм отправки репортов очень прост: 60 раз в секунду проверяем состояние кнопок, если какие-то нажаты — заполняем буфер с нажатыми клавишами и затем отправляем репорт хост-устройству.

// Internal input keycode mapping to HID
int hid_key_mapping[] = {
HID_KEY_DOWN_ARROW,
HID_KEY_LEFT_ARROW,
HID_KEY_UP_ARROW,
HID_KEY_RIGHT_ARROW,
HID_KEY_Z,
HID_KEY_LEFT_GUI,
HID_KEY_V,
HID_KEY_ENTER,
HID_KEY_C,
HID_KEY_X
};
uint8_t hid_report[8];

vTaskDelay(1000 / portTICK_PERIOD_MS);

while(1) {
input_update_key_state();

vTaskDelay((1000 / 60) / portTICK_PERIOD_MS);
if (sec_conn) {
int hid_report_offs = 0;
memset(&hid_report, 0, sizeof(hid_report));

// Not more than 8 keys pressed at once
for(int i = 0; i < INPUT_KEYS_COUNT; i++)
{
if(hid_report_offs == 8)
break;

if(input_key_states[i])
{
hid_report[hid_report_offs] = hid_key_mapping[i];
hid_report_offs++;
}
}

esp_hidd_send_keyboard_value(hid_conn_id, 0, &hid_report, hid_report_offs);
}
}

Вуаля! Всё работает идеально!

❯ Доводим ПО смартфона

Мы уже почти дошли до финала, осталось лишь чуть-чуть доработать прошивку смартфона! Для этого, его сначала необходимо рутировать: ставим CWM через Odin и устанавливаем SuperSU!

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

На смартфонах Samsung за это отвечает бинарник /system/bin/lpm или же /system/bin/playlpm. Изначально я хотел сделать жёсткую ссылку на программу reboot, которая не работала пока не были запущены какие-то Samsung'овские службы. Затем я узнал что есть возможность напрямую направить ядру запрос о перезагрузке устройства с помощью sysrq.

Далее был написан простенький скрипт:

#!/system/bin/sh
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Который тоже не работал. И я понял что lpm нужно подменять другой самопальной программой. Так была написана и собрана с помощью NDK вот такая мелкая утилита, с которой уже всё заработало:

int main(int argc, char** argv)
{
system("echo 1 > /proc/sys/kernel/sysrq");
system("echo b > /proc/sysrq-trigger");
}

Далее необходимо было решить вопрос с виртуальными кнопками: поскольку в корпусе консоли виден только дисплей смартфона без кнопки Home, нам нужен был способ как-то управлять системой. Для этого было достаточно лишь пропатчить build.prop и добавить qemu.hw.mainkeys=0. В S4 Mini программные кнопки работают немного кривовато (только в портретной ориентации - т.е в нашем случае в режиме смартфона), но в целом пойдет. Я ещё немного поигрался в build.prop ради фана и добавил упоминания N-Gage :)

❯ Аппаратные доработки

Далее необходимо было решить вопрос с зарядкой. Как я уже говорил выше, было решено использовать Type-C. Я заказал разъём на плате, разобрал смартфон и кинул перемычки с цепи питания и сигнальных линий на разъем.

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

У Samsung'ов в те годы были не совсем стандартные разъемы с кучей пластика и к VBus'у аккуратно подпаяться немного проблематично

Теперь нужно решить задачу запитывания микроконтроллера. ESP32 в режиме BLE кушает целые 130мА (что очень много, телефоны нулевых кушали меньше с учетом параллельно работающего GSM-тракта!) в режиме активной передачи данных. Поскольку на самой плате с ESP32 используется LDO AMS1117 с высоким dropout-напряжением в 1.2В, для использования с обычным литий-ионным аккумулятором необходимо было использовать ULDO с дропаутом в ~0.3В...

...но зачем, если контроллер питания смартфона — буквально и есть многоканальный DC-DC преобразователь, который выдаёт сразу несколько различных напряжений:

  • 0.8В-1.2В - VCore, это шина питания ядер процессора. Именно на ней работает вся или почти вся внутренняя логика системы на кристалле.

  • 1.2V-1.8V VRef - обычно это референсное напряжение для работы процессора с внешней логикой. Впрочем, с таким напряжением может быть и одна из шин питания для каких-то модулей (например камеры), это зависит от платформы.

  • 3.3V - Ну, здесь всё очевидно. 3.3В — одно из самых распространенных напряжений в микроэлектронике и может использоваться в широком спектре модулей. Например оно может использоваться для запитки модуля камеры, различных датчиков, контроллера тачскрина, усилителя и т.п. Именно эта шина питания в идеале нам и нужна.

Однако 3v3 уровни могут быть и логическими. Крайне не рекомендую вешать нагрузку аж в целых 130мАч на какую-нибудь цифровую линию, есть неиллюзорный риск спалить процессор или контролер питания. Лучше всего брать эту шину питания с здоровых decoupling-конденсаторов, однако имейте ввиду что шина может быть нагружена другими устройствами и вы со своей нагрузкой в сотню миллиампер можете увести КП в защиту!

В случае с S4 Mini у меня был сервис-мануал с схемой, где я принялся искать нужное напряжение. Изначально у меня была возможность взять 3.3В с питания eMMC, однако по ходу изучения схемы я заметил ещё одну подходящую шину питания — 3P0 (т.е 3В ровно), которая питает Wi-Fi, ИК-порт и тачскрин.

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Я решил заглянуть в даташит на микроконтроллер и убедился, что он умеет работать в том числе и при 3В на входе, однако это пороговое напряжение при котором может работать чип. Если питание нестабильное и проседает, то МК либо зависнет, либо упадет в ресет. Однако я был уверен что на выходе DC-DC с КП смартфона точно должно быть всё нормальным. Я быстренько вывел перемычку и запитал МК буквально «в воздухе», проверил что всё работает стабильно, а затем припаял несколько жилок с LVDS-кабеля и закрепил УФ-маской.

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

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

На МК ничего не слиплось — просто на момент фотографии мне всё ещё не пришёл флюкс-офф)

И вот, наконец-то моё детище собрано! Давайте же посмотрим что я там насобирал!

❯ Тестируем

Одним из основных критериев будущего игрового смартфона была конечно-же возможность сохранить функционал телефона. Иными словами, мне очень хотелось чтобы девайс повторял концепцию N-Gage и действительно в себе совмещал возможность звонить и удобно играть в игры!

В целом, я считаю что у меня это вполне получилось. Помимо функций самой звонилки, Android 4.4 всё ещё вполне может порадовать владельца базовым серфингом сети (большинство сайтов не откроется... ну нам и опеннета хватит!) и мессенджерами - здесь пока ещё работают и Telegram, и ВК в лице в Kate Mobile. Однако есть определенный нюанс... я взял GT-I9190 - т.е односимочную 3G-версию S4 Mini. А как известно, 3G в России уже практически не используется, поэтому вне Wi-Fi придется ограничится EDGE :)

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Вчера я сделал анонс статьи на Пикабу и несколько читателей задали резонный вопрос: это же буквально смартфон 2013 года, он же, на первый взгляд, ничего не умеет в современных реалиях. Однако спешу вас заверить что под капотом всё не так уж и плохо! 400'ого Snapdragon'а хватает для большинства мобильных игр тех лет, не говоря уже об эмуляторах. При этом в отличии от старших 600'ых снапов (тогда 800'ый ещё не вышел), он не слишком сильно греется и более лоялен к и без того не самому объёмному аккумулятору!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

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

Когда запускаешь любимый Super Mario Bros на офигенной AMOLED-матрице, то сразу понимаешь что весь проект был затеян точно не зря. После отключения линейного фильтра и растягивания картинки на весь экран, то диву даешься какие тут сочные цвета - не как на ЭЛТ-телевизоре, но тоже очень годно! Эмулятор работает очень шустро!

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Ещё раз ноапомню что справа не рамка, а забагованные софт-кнопки. А вот сверху - рукопопие :)

Давайте же перейдем к чему-то ещё более пестрому и "графонистому" - а именно к Sega Mega Drive с оригинальным Соником! Здесь игра точно также летает, звук не хрипит, а картинка выглядят максимально приятной. Когда-то AMOLED-матрицы Samsung ругали за PenTile и немного не естественную цветовую схему... но в эмуляторах она как-будто какой-то шарм придает.

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Далее предлагаю опробовать DOS'овскую классику - Wolfenstein 3D. Помимо "вольфа", я хотел добавить в тесты также и Quake... но порты попались кривые и не запускались. Очевидно что игра, которая шла даже на 286'ом, будет отлично летать на S4 Mini:

Как я превратил старый смартфон в игровую консоль с возможностью звонить Опрос, Рукоделие с процессом, Поделки, Смартфон, Гаджеты, Телефон, Игры, Консоли, Своими руками, Программирование, Esp32, Микроконтроллеры, Samsung, Android, Arduino, Длиннопост

Ну и нативные игрушки здесь тоже работают неплохо. В какие-нибудь аркады типа Angry Brids, Fruit Ninja или Asphalt можно поиграть с большим удовольствием!

❯ Заключение

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

Сама разработка заняла всего 7 дней, большая часть времени ушла на подгонку деталей. Да, эту неделю я определенно точно почти не спал и даже один раз попсиховал. Однако все время разработки мне было дико весело и интересно. Ну, а что ещё пареньку в 23 года то нужно, кроме как писать код, копаться в девайсах и ТАЗах!?

Жду ваше мнение о моей самоделке в комментариях! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет, подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я публикую бэкстейджи статей, иногда полезные посты ну и немножечко щитпоста! Если вам интересны мои видео той же тематики — предлагаю подписаться на мой YouTube-канал.

Как вам статья?
Всего голосов:
Как вам девайс?
Всего голосов:

Важно

Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т.п, о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud чтобы не пропускать новые статьи каждую неделю!

Показать полностью 24 2
[моё] Опрос Рукоделие с процессом Поделки Смартфон Гаджеты Телефон Игры Консоли Своими руками Программирование Esp32 Микроконтроллеры Samsung Android Arduino Длиннопост
232
128
RoughDay
RoughDay
3 месяца назад
Arduino & Pi

Тёплые, ламповые часы⁠⁠

Этому проекту уже, наверное, лет 7-8. Однажды ко мне с вопросом - "А можешь мне часы сделать, на лампах?" - обратился мой братишка. Я подумал, а почему бы и нет и погрузился в работу.

Был ряд требований:

- часы;

- календарь;

- простенькие игры, уже и не помню какие;

- RGB подсветка;

- аккумулятор;

- управление через Bluetooth и кнопки.

На тот момент подходящих конструкций в интернете не нашлось, поэтому решил делать разработку "с нуля".

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост
Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Первым делом рисуем схему и трассируем печатную плату. В моем конструктиве их будет 2 - плата управления и плата индикации.

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Трассировал в Altium, он позволяет заодно выгрузить 3D модель.

На плате управления размещается ардуина - мозг часов, микросхема RTC, генератор напряжения для ламп, аккумулятор со схемой зарядки, разъёмы для Bluetooth модуля и кнопок управления.

На плате индикации размещались сами лампы и светодиоды подсветки ламп.

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Платы заказал в Новосибирске и пока их делали, приехали лампы.

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

А через время были готовы и сами платы.

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Проверка генератора напряжения

И началась длительная череда написания софта, отладки и дымтестов:)

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Бутерброд в сборе

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

А это уже первый осознанный запуск:)

К сожалению, фото с выносным пультом, аккумулятором и Bluetooth модулем не сохранились.

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

Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост
Тёплые, ламповые часы Пайка, Своими руками, Ламповые лампы, Электроника, Часы, Arduino, Мастерская, Сборка, Длиннопост

Вот такие классные часики получились в итоге. Декоративные колечки из бронзы на лампы выточил папа на токарном.

Пишу на Дзене, буду признателен за лайк, подписку:)

Показать полностью 10
[моё] Пайка Своими руками Ламповые лампы Электроника Часы Arduino Мастерская Сборка Длиннопост
28
6
Fox.Goldstar
3 месяца назад

Приборка на RC-грузовике или полурукописный скетч⁠⁠

История всему этому такова: 30-летний мальчик понял, что может играть с модельками и радоваться жизни. И вот в его жизни появляется радиоуправляемый грузовик!

Я не буду рассказывать, что и у кого я покупал, я думаю, на меня и так выльют ушат помоев с моим подходом и заодно научат, как надо. Я просто хочу поделиться тем, что с большим трудом за полгода наконец-то родил скетч для Arduino с экраном, чтобы превратить его в приборку для грузовика. Да, никто не увидит, но я буду знать, что оно там есть. На этом все. Спасибо за внимание. Если нужен скетч, то он лежит тут.

P. S. Я хотел использовать ESP8266, но там совсем не получилось. Я не уверен, что оно будет корректно работать. Если решите меня ткнуть носом в мои ошибки, буду благодарен. Есть решение от Тамии, но 14 тысяч прям жаба душит на модель, которая была сама собрана за 10 тысяч. В скрипте реализовано то, что скорость и коробку он считывает из начального состояния при включении.

*значение нейтрали скачет из-за того что я использую крутилку без фиксации


#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>// можно добавить 2 слеша чтобы выключить
// Определяем размеры экрана
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32 //я использую 0.91 oled
// Создаём объект для OLED дисплея
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// Определяем пины для DHT и создаем объект DHT
#define DHTPIN 2 // можно добавить 2 слеша чтобы выключить
#define DHTTYPE DHT11 // можно добавить 2 слеша чтобы выключить
DHT dht(DHTPIN, DHTTYPE); // можно добавить 2 слеша чтобы выключить
// Пин для считывания ШИМ-сигнала
const int speedPin = A3; //пин на arduino
// Переменные для начального значения и текущей скорости
float initialPwmValue = 0;
float currentSpeed = 0;
bool isInitialValueSet = false;
void setup() {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C, -1);
dht.begin();// можно добавить 2 слеша чтобы выключить
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
// Выводим стартовое сообщение
display.setCursor(30, 0);
display.println("ZiL Dash Load"); // можно писать все чтот угодно
display.setCursor(0, 15);
display.println("Status CHECK! EBU_ok. err_14. START"); // можно писать все чтот угодно
display.display();
delay(5000); // можно менять в соответствии сколько вы хотите видеть этот экран
display.clearDisplay();
}
void loop() {
// Считывание ШИМ-сигнала
int pwmValue = pulseIn(speedPin, HIGH); // Считываем время импульса
float dutyCycle = map(pwmValue, 0, 10000, 0, 800); // Преобразуем в значения от 0 до 255
float speed = dutyCycle * (180.0 / 800.0); // максимальная скорость 88кмч подбирайте значения для себя
// Преобразование значения ШИМ в скорость (примерно 0-100 км/ч)
currentSpeed = dutyCycle * (180.0 / 100.0);
// Установим начальное значение ШИМ при первой итерации
if (!isInitialValueSet) {
initialPwmValue = dutyCycle;
isInitialValueSet = true;
}
// Вычисляем относительную скорость относительно начального значения

float relativeSpeed = dutyCycle - initialPwmValue;
if (relativeSpeed < 0) {
relativeSpeed = 0;
}
if (relativeSpeed < 0) { relativeSpeed = 0; //
}
// Очистка дисплея и вывод текущего состояния
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
// Сравниваем текущее значение с начальным и выводим соответствующие букву для симуляции акпп
if (dutyCycle < initialPwmValue) {
display.setTextColor(SSD1306_WHITE);
display.println("R");
display.setTextColor(SSD1306_BLACK);
display.setCursor(5, 0);
display.print("N");
display.setCursor(10, 0);
display.print("D");
} else if (dutyCycle == initialPwmValue) {
display.setTextColor(SSD1306_BLACK);
display.setCursor(5, 0);
display.print("R");
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 0);
display.print("N");
display.setTextColor(SSD1306_BLACK);
display.setCursor(15, 0);
display.print("D");
} else {
display.setTextColor(SSD1306_BLACK);
display.setCursor(5, 0);
display.print("R");
display.setCursor(10, 0);
display.print("N");
display.setTextColor(SSD1306_WHITE);
display.setCursor(15, 0);
display.print("D");
}
// Считывание температуры
float t = dht.readTemperature(); // Считываем температуру в Цельсиях// можно добавить 2 слеша чтобы выключить
float h = dht.readHumidity(); // Чтение влажности, // можно добавить 2 слеша чтобы выключить
if (isnan(h) || isnan(t)) {// можно добавить 2 слеша чтобы выключить
Serial.println("chek!");// можно добавить 2 слеша чтобы выключить
return;
}
// Отображаем температуру на дисплее
display.setTextColor(SSD1306_WHITE);
display.setCursor(30, 0); //положения по горизонтали и вертикали
display.println("URAL/Zil Dash");
display.setCursor(0, 10);// можно добавить 2 слеша чтобы выключить
display.print("T:");// можно добавить 2 слеша чтобы выключить
display.print(t);// можно добавить 2 слеша чтобы выключить
display.println("C");// можно добавить 2 слеша чтобы выключить
display.setCursor(60, 10);// можно добавить 2 слеша чтобы выключить
display.print("H: ");// можно добавить 2 слеша чтобы выключить
display.print(h);// можно добавить 2 слеша чтобы выключить
display.println(" %");// можно добавить 2 слеша чтобы выключить
display.setCursor(15, 20);
display.print("Speed: ");
display.print(currentSpeed - (initialPwmValue * (180.0 / 100.0)));
display.println(" km/h"); //если поменять на мили ничего не поменяется
display.display(); // Обновление дисплея
delay(10); // частота обновление данных
display.clearDisplay(); // Очищаем экран для перерисовки
}

Не судите строго, всем хорошего дня!
В оптимизации скетча помогала мне нейронка от "нереклама"

Показать полностью
[моё] Радиоуправляемые модели Arduino Скетч Моделизм Электроника Авто Радиоуправление Видео Без звука Короткие видео Длиннопост
0
16
Batvovan
3 месяца назад
Arduino & Pi

Arduino. как купить качественную плату?⁠⁠

Взял на Али 5 ардуинок нано и всякое к ним.
Одна не завелась вообще, вторая отъехала пока отстраивал код. Мониторчик не все пиксели показывает. Брал по принципу- купили 10000, рейтинг 4,7, недорого-быстро. Думал пофигу с какого завода- все одинаковые- ан нет.
Ткните пальцем, которые из них +- получше

[моё] Своими руками AliExpress Arduino Arduino Nano V3 Текст
27
58
feeld
feeld
3 месяца назад
Arduino & Pi
Серия Свои умные светильники

Свои умные светильники часть 2⁠⁠

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

Для затравки


Этап второй - я назову его: Развитием.


Начну с конструкции и изменений, а так же что послужило причиной этих изменений:

Причины:

  • DC-DC преобразователь на 2 Ампера(3 Ампера в пике и с радиатором) не подходил. Он жутко грелся, а лента в пике по расчетам могла потреблять до 5 ампер, поэтому предыдущая конструкция была жутко доколхожена вторым DC-DC модулем в параллель для хоть какого то запаса по амперажу, но это тоже особо не помогло. Поэтому два дешевых модуля были заменены на XL4016E 9A. Так как они полностью удовлетворяют моим требованиям по размеру, мощности и цене.

  • Добавления акселерометра для одной очень замысловатой анимации.

  • Перенос порта питания на другое место и соответственно изменения модели под это дело.

И вот какую внутрянку я получил, после некоторых мытарств.

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

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

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Вот так. На этом цилиндре намотана уже сама лента. (не промоделивал, так как не видел в этом смысла для себя, а занятие гнуть компоненты во фьюжене, это мега мучительно)

Поверх собственно ленты, на следующий выступ, одевается рассеиватель, а сверху скрепляется все крышкой.

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

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

В реальности цилиндр с LED лентой выглядит вот так:

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

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

Это что касается конструкции и железа. Что касается софтверной части, ох и много же там было проблем. Ниже опишу и проблемы и все

  • Проект был сделан в скетче, что со временем усложнило его модификацию, отладку и работу с ним в целом. Работа в Arduino IDE мягко скажем, не была столь удобной. Поэтому проект был перенесен на VS Code в связке с PIO, где произошел рефакторинг и разделение всех функций на отдельные файлы прям как по ООП. (эх, если б я был профи и знал заранее, я бы не потратил столько времени на этот этап)

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

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

  • Отстутствие сервера для поддержки "интернета-вещей", тоесть лампой можно управлять только находясь в одной локальной сети, то это категорически не устраивало меня, все таки в современных реалиях, хочется видеть статус той же лампы онлайн и 24\7. А так же, это стесняло меня в некоторых анимациях, о которых я расскажу позже.

  • Как оказалось, фаза луны отображалась не в реальном времени, а расчитывалась по расчетам. Что в целом не плохо, но зная реальное время, эти расчеты не нужны. Тоже надо было пофиксить.

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

    Вообщем, описывать все проблемы дословно, я не вижу смысла и так понятно, что багов лагов и проблем, там было ООЧЕНь много. Прям сверхдошиша. Не долго думая, приступил к исправлению.

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

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Интерфейс версии 2.0, адаптивный и под мобильные устройства и под ВЕБ версию.

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Блок системных настроек.

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

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Если доступно обновление.

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

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

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Постучись в мою дверь.

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

И вот видео работы:

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

Устроено все весьма просто и стандартными методами. Протокол MQTT, свой сервер и базовая аутентификация, которая зашифрована и хранится уже в памяти ESP. + уникальный ID формируется из MAC адреса для каждого устройства, который не изменяется при перепрошивках или перезагрузках, возможно в будущем я упрощу этот механизм, но пока сам прототип работает и это радует. Это потребовало от меня множества усилий, но это одна из самых главных фич которые мне нравятся самому. Естественно для этого режима(как и для всех) работают настройки и установки такие как: якрость, высота подсветки, чувствительность и цвет) реализовано это всё с помощью акселерометра и вполне стандартных алгоритмов фильтрации шумов(спасибо универу, за специальность в области сигналов и фильтрации шумов и тд, наконец то пригодилось). Грубо говоря, ничего сложного.

Погодная анимация


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

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Погодная анимация

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

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

Как обычно, на камере плоховато видно, но в живую результат гораздо лучше. Но либо тут уж я криворученька и снимать не умею. Автор не оператор)

Конечно же, смена погоды происходит автоматически и без участия пользователя. Лампа сама обновляет статус погоды раз в N времени, и если погода изменилась, то и отображение на лампе поменяется.

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

Так же, есть Температурный режим этой анимации. Он просто показывает цветом свечения, текущую температуру на улице. Диапазон можно задать самому, от -20 до + 30 градусов по умолчанию, где -20 это максимально синий цвет, а +30, максимально красный. Эти цвета так же можно изменить в настройках. И так же естественно все в Live режиме меняется.

Новая анимация луны

У меня остался бракованный плафон, так как принтер почему то решил что он допечатал. (да, я бракодел) и на нём я тестирую всякое.

Вот как выглядит секторность и фазы луны.
У анимации луны есть ряд настроек:
Режим работы:

  • Реалистичное время. (не думаю что стоит пояснять, что на небе - то на лампе)

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

  • Ручной режим. ( на видео выше, мы можем изменить фазу вручную, от 0 до 12)

Интерпретация:

  • Реалистичная (Всегда горит строго 180 градусов луны) как и в реальной жизни, у луны всегда есть темная сторона)

  • Артистичная (В процессе того как луна меняет фазы, она как бы заполняется от 0 до 360 градусов и в итоге будет гореть вся сфера)

  • Минималистичная (всегда горит 1 из 12 столбцов, он перемещается как месяц) (на видео)

Ну и конечно остальные настройки, такие как цвет, яркость и тд. Кому что по душе.

Админка.

Ну и админку грех не показать. Очень быстро написал её, буквально за один два дня.

Свои умные светильники часть 2 Инженер, Электроника, Своими руками, Гаджеты, Esp32, Декор, Светильник, Луна, Планета, Космос, Ночник, Лампа, Освещение, Оригинально, Arduino, Фонарь, Пайка, Свет, Интерьер, Дизайн, Видео, Без звука, Вертикальное видео, Короткие видео, Длиннопост

Собственно моя удаленная админка. Тут я вижу некоторые статистические данные, которые могут мне помочь в решении каких то вопросов удаленно. А так же то, что я описывал в начале поста.

Что в планах дальше?

В планах дальше, это:

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

  • Доработать некоторые баги, например сейчас смена цветов не всегда происходит в Live режиме, это связано с JS и миллиардами запросов, к устройству.

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

  • Интеграция в Apple Home и Алису. В Apple Home, тестово уже прокидывал, но крайне упрощенную версию лампы. С полноценной лампой пока не вышло, но работаю в этом направлении. В Алису, слышал что можно через MQTT, но на стадии изучения этого вопроса.

  • Интеграция с Home Assistance - можно считать сделана, так как будет через MQTT, а MQTT в устройстве уже есть, осталось написать пару функций и готово, возможно для самого HA надо будет написать своё дополнение, что бы пользователь не парился с добавлением кода в Configuration.yaml и тд. Вообщем как то надо это придумать попроще чем уже протоптанная неоднократно мною дорожка.

  • Многое многое другое.

Если вам интересна реализация этих планов, подписывайтесь тут или на мой тг. Там я буду чаще постить какие то отрывки которые не требуют оформления и выделения времени на написание поста)
https://t.me/magic_lamps

Всем мир)

Показать полностью 10 4
[моё] Инженер Электроника Своими руками Гаджеты Esp32 Декор Светильник Луна Планета Космос Ночник Лампа Освещение Оригинально Arduino Фонарь Пайка Свет Интерьер Дизайн Видео Без звука Вертикальное видео Короткие видео Длиннопост
13
13
feeld
feeld
3 месяца назад
Серия Свои умные светильники

Свои умные светильники часть 1⁠⁠

Попался мне как то раз, на просторах сайта для 3д печатников прикольная пачка светильников, ну я не долго думая и сделал в подарок своему другу программисту подобный светильник, да только не простой, а умный.

В чём умность спросите вы? По сути, ни в чем. Это такая же маркетинговая уловка, как и все умные светильники сейчас на рынке. По сути, это очень сильно настраиваемый и кастомизируемый светильник под конкретного человека. Так же впоследствии сделал и простую версию под E27. С лампой от Xiaomi, что дало почти во всех аспектах тот же вау-эффект, но с гораздо меньшими трудозатратами. Вот фото.

Для ЛЛ - Там вообщем то внизу, описание процесса создания своего велосипеда, с фоточками, результатами и так далее)

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Светильник луна, в его базовой версии с умной лампой от Xiaomi.

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Как это выглядит без надетого плафона.

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


Этап Первый - я назову его вовлечением.

После увиденного на сайте, у меня сразу в голове появилась идея, а почему бы мне, не взять вот этот светильник Луны, модифицировать корпус под то как мне надо и сделать свою начинку, не брать E27, а на адресной LED ленте и микроконтроллере, да что бы ещё и в умный дом интегрировалось и в алису и без костылей и с нормальным user-friendly интерфейсом и туда уже прикрутить своих анимаций, каких только вздумается. Сказано - сделано. Засел во Fusion 360 и сделал первую итерацию корпуса.

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Внутрянка, а сверху надевался цилиндр, на котором и была сама лента намотана собственно.

Конструкция была не замысловата и состояла всего из нескольких компонентов:

  • Сама ESP32-Dev

  • DC-DC модуль, который питал ленту, а так же саму ESP32 5 вольтами.

  • Горстка бонок М3

  • Стандартный порт питания 2.5 мм.

  • Лента на чипах WS2812B.

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

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Фото процесса.

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

  • Необходимо, что бы моя умная лампа, без проблем подходила на замену к обычной базе с цоколем Е27.

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

  • Веб интерфейс + приложение под Android/IOS в перспективе.

  • Интеграция в Home Assistance и\или интеграция в Apple Home/Алису.

  • Автообновление для ESP32 по воздуху. То-есть что бы с сервера подтягивался бинарник, сравнивалась версия и при необходимости она(ESP) сама перепрошивалась на актуальную версию.

  • Регулируемые анимации, каждая со своими параметрами и так далее. Вообщем опять же, настройки.

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

    Ну и собственно, вот такой веб интерфейс получился за пару дней кодинга:

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Грубо говоря совсем ранняя альфа версия.


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

А вот с плафоном, вышло не очень. Из наличия филамента, был серый, и я подумал, что серая луна - будет выглядеть отлично и замечательно(ага ага). И как обычно это бывает, 31 декабря, у меня почти на финале, растягивается, а затем рвется ремень на 3д принтере из за чего получили вот такой дефект печати:

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Эту боль, не передать словами... 2 дня печати, 300 грамм филамента ушли по итогу в помойку.

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

По итогу, секторная анимация заработала хорошо и отображала текущую фазу луны, а так же и остальные анимации.

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

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


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

Свои умные светильники часть 1 Своими руками, Электроника, Инженер, Гаджеты, Светильник, Декор, Для дома, Идея для дома, Ночник, Освещение, Лампа, Arduino, Оригинально, Esp32, Длиннопост

Финал очка)

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

А пока он не вышел, вы можете подписаться на мой тг, в скором времени (в данный момент у меня случился небольшой переезд) я начну поститить туда ещё и фотографии и видео процесса создания умного светильника.
https://t.me/magic_lamps

Показать полностью 8
[моё] Своими руками Электроника Инженер Гаджеты Светильник Декор Для дома Идея для дома Ночник Освещение Лампа Arduino Оригинально Esp32 Длиннопост
0
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии