Электроника и алгоритмы: Как ИИ помог собрать телефон из деталей маркетплейсов
Энтузиаст Виктанд собрал функциональный мобильный телефон, используя радиомодуль SIM800C, микроконтроллер STM32 и компоненты, закупленные на различных торговых площадках. Ключевой особенник проекта стала активная роль искусственного интеллекта на этапах отбора комплектующих, генерации кода и проектирования корпуса, что позволило реализовать задачу в условиях ограниченного бюджета и времени.
# Электроника и алгоритмы: Как ИИ помог собрать телефон из деталей маркетплейсов
Создание собственного мобильного телефона из отдельных компонентов — задача, требующая не только знаний радиотехники, но и навыков программирования. В проекте, описанном пользователем Виктандом на портале Habr, ключевую роль сыграло сотрудничество человека и искусственного интеллекта. Автор использовал бесплатные версии моделей DeepSeek, Gemini и ChatGPT для решения технических проблем, написания кода и даже создания дизайна корпуса.
*«Речь не идет об очередном убийце iPhone или про ультрабюджетный доступ к сети. Простую звонилку дешевле и проще купить в ближайшем салоне мобильной связи»*, — отмечает автор, подчеркивая, что проект является примером DIY (сделай сам) и экспериментом в области разработки аппаратных решений.
Архитектура устройства и выбор компонентов
Основа устройства — готовый радиомодуль SIM800C, работающий в сетях 2G. Спайка такого модуля из дискретных элементов нецелесообразна из-за сложности и рисков, поэтому была использована заводская плата с экранирующим кожухом. Для управления модулем, который оперирует командами AT через интерфейс UART, был выбран микроконтроллер STM32L051C8T6. Выбор этого чипа был рекомендован моделью Gemini благодаря его низкому энергопотреблению и малой стоимости.
Для визуализации информации использовался дисплей OLED SSD1306 с разрешением 128×32 пикселя. Первоначальное питание реализовывалось через USB-разъем с последующим шагом напряжения до 3.3 вольта через стабилизатор L1117. Однако на этапе тестов выяснилось, что радиомодуль требует значительных пиковых токов (до 2 Ампер) при взаимодействии с базовой станцией. Стандартные конденсаторы не могли сглаживать такие скачки, что приводило к сбоям и перезагрузкам схемы. Решением стало использование литиевого аккумулятора емкостью 75 мАч, взятого от игрушки.
Технические термины * UART (Universal Asynchronous Receiver-Transmitter): Стандарт последовательной связи, используемый для обмена данными между микроконтроллером и радиомодулем. * AT-команды: Набор текстовых инструкций, отправляемых модему для управления сетевыми функциями (поиск сети, установка соединения и т.д.). * I2C (Inter-Integrated Circuit): Протокол синхронной последовательной передачи данных, использованный для подключения дисплея к микроконтроллеру. * Refactoring (Рефакторинг): Процесс реорганизации исходного кода программы для улучшения его структуры и читаемости без изменения его внешнего функционала.
Роль искусственного интеллекта в разработке
Автор проекта не использовал систематический подход к взаимодействию с нейросетями, а переключался между моделями по мере необходимости: если одна из них не давала корректного ответа, пробовал другую. Это позволило сэкономить время на изучении протоколов, которые, по мнению автора, не понадобятся в будущем.
* DeepSeek использовался для получения таблиц соединений контактов и базового кода для запуска системы. * Gemini помог выбрать подходящий микроконтроллер и напечатать корпус с помощью OpenSCAD. Автор отметил, что Gemini лучше реагирует на визуальную обратную связь (скриншоты ошибок), тогда как текстового описания могло быть недостаточно. * ChatGPT был задействован на этапе рефакторинга кода, сделав программное обеспечение более модульным и понятным, а также для реализации функций отображения уровня сигнала и времени на дисплее.
Особую сложность вызвала реализация приема и отправки СМС-сообщений. Протокол обмена данными на радиомодуле оказался слишком запутанным для автоматического генерации рабочего кода ни одной из моделей. Автору пришлось самостоятельно проработать последовательность команд UART. Однако с помощью ИИ-ассистентов был решен вопрос поддержки кириллицы, так как кодировка двухбайтных символов требовала корректной настройки шрифтов и функций отображения.
Конструкция корпуса и итоговый функционал
После завершения «железной» части работа продолжилась над корпусом. Автор нарисовал его в OpenSCAD, а затем использовал 3D-принтер для изготовления детали. Изначально кнопки корпуса были сделаны в виде простых колпачков, но они вращались вместе со штоками, что выглядело неэстетично. После обсуждения с Gemini была предложена конструкция в стиле пазлов, где элементы скрепляли друг друга, устраняя лишнее движение.
Финальная версия устройства具备了 следующие возможности: 1. Голосовая связь: Принятие входящих и совершение исходящих звонков. Звук передается достаточно четко, хотя громкость динамика оценивается как средняя. 2. Отображение информации: На OLED-экране показываются статус загрузки, уровень сигнала, время и уведомления о новых сообщениях. 3. Работа со СМС: Прием текстовых сообщений возможен (набор текста на устройстве крайне трудоемок), просмотр последней СМС инициируется нажатием кнопки 0. Поддержка русского языка реализована через специфические функции кодировки. 4. Энергопотребление: С полной зарядкой устройство работает около шести часов. Без включения радиомодуля микроконтроллер и дисплей сохраняют активность значительно дольше. Теоретически, при использовании полноценного аккумулятора на 2000 мАч и внедрении режима ожидания, время автономной работы может достигать двух месяцев.
Проект демонстрирует потенциал искусственного интеллекта как инструмента для инженеров-любителей, снижая порог входа в сложные задачи разработки электроники. Несмотря на примитивный интерфейс и отсутствие «умных» функций (например, памяти контактов), собранное устройство полностью выполняет заявленную функцию связи, что делает его ценным примером для начинающих разработчиков.
В заключение стоит отметить важность детального подхода к аппаратной части, в частности, необходимости размещения конденсатора емкостью 0.1 мкФ между контактами микрофона и радиомодуля для фильтрации шумов, иначе звук может быть полностью искажен.