Технології

Як перетворити старий смартфон на контролер для електронних проектів: досвід з 12-річним Samsung Galaxy S2

16 січ•ProstoMob

Ентузіаст з YouTube-каналу Doctor Volt продемонстрував, як надати друге життя застарілим смартфонам, перетворивши їх на повноцінні контролери для електронних проєктів. У якості експериментального зразка було обрано 12-річний Samsung Galaxy S2, який зберіг усі свої компоненти: сенсорний дисплей, камери, динаміки, мікрофони, безпровідні модулі та акумулятор.

Автор довів, що старі телефони можуть стати бюджетною альтернативою дорогим електронним компонентам, якщо правильно інтегрувати їх у власні проєкти через USB-адаптери та спеціальне програмне забезпечення.

Розбирання і перші спробиГоловна перевага старих пристроїв — їх легко розібрати. Після викручування гвинтів та відкриття корпусу виникла перша ідея: використати бічні кнопки як входи, припаявши до них дроти. Однак кнопки виявилися виготовленими з пружної металевої фольги, яка замикає контакт при натисканні, і будь-яке втручання могло їх зруйнувати.

Спроба використати світлодіод спалаху як вихід також провалилася — не було жодного способу припаяти дроти до його контактів. Довелося шукати інше рішення.

USB-адаптер як ключ до рішення

Вихід знайшовся у вигляді USB Serial адаптерів на базі чіпа FT232R. Ці плати мають не лише лінії Rx та Tx для протоколу UART, але й шість контактів керування модемом. Загалом це дає 8 контактів, які можна налаштувати як цифрові входи або виходи.

За допомогою OTG-кабелю такий адаптер легко підключається до будь-якого Android-пристрою версії 3.0 або новішої. Це відкриває широкі можливості для створення власних пристроїв на базі старих телефонів.

Підключення світлодіодів та кнопокДля демонстрації автор підключив чотири світлодіоди з послідовними резисторами до макетної плати. Аноди світлодіодів з’єднали з вісьмома контактами модуля, які можуть працювати як виходи або входи залежно від конфігурації.

При налаштуванні як вихід контакт працює як відкритий колектор — якщо транзистор заблокований, струм тече через світлодіод і резистор. Якщо транзистор відкритий, він замикає світлодіод на землю, і той гасне.

Для створення входів інші контакти підтягнули до землі резисторами номіналом від 10 до 47 кілоом. Це дозволило використовувати їх для зчитування сигналів від зовнішніх кнопок.

Програмування Android-додаткаНайцікавішою частиною проєкту стало створення власного Android-додатка за допомогою безкоштовної Android Studio. Автор поділився готовим шаблоном через репозиторій Git, який можна клонувати та модифікувати під власні потреби.

Структура проєкту складається з трьох основних файлів. Sketch.java нагадує скетч Arduino — тут можна використовувати знайомі команди digitalRead, digitalWrite та інші функції Arduino-фреймворку. Саме тут реалізується основна логіка роботи пристрою.

UsbIOService.java забезпечує фонову службу для комунікації з FTDI-платою. Цей файл імплементує функції Arduino та виконує їх. Один потік циклічно викликає функцію loop зі скетча, а другий підтримує синхронізацію змінних з реальними рівнями на контактах FTDI.

Користувацький інтерфейс програмується в MainActivity. Android Studio включає графічний редактор, який дозволяє створювати інтерфейс без ручного редагування XML-файлів. Віджети можна позиціонувати, вирівнюючи їх відносно рамки та сусідніх елементів, що гарантує коректне відображення на всіх роздільних здатностях екранів.

Запуск і тестуванняДля завантаження додатка на телефон потрібно увімкнути режим розробника в налаштуваннях Android та активувати USB-налагодження. Після підключення через USB ім’я пристрою з’являється в Android Studio, і натискання зеленого трикутника запускає завантаження.

Після підключення схеми зі світлодіодами та надання дозволу на доступ до USB-пристрою додаток дозволяє керувати світлодіодами через віртуальні кнопки. Чекбокси вмикають та вимикають окремі світлодіоди, а коли всі активні — створюється ефект бігучого вогника. Повзунок регулює швидкість анімації.

Цифрові входи також працюють — при підключенні вхідних контактів до позитивної лінії живлення відповідні радіокнопки в інтерфейсі відображають зміну стану.

Зовнішнє живленняВажливий момент — USB-порт телефона живить підключену електроніку, що швидше розряджає батарею. Підключення зовнішнього джерела живлення до плюсової та мінусової шин живить лише схему, але не сам телефон.

Для постійного живлення без окремих контактів для зарядки або бездротової зарядки потрібно підключитися безпосередньо до контактів батареї.

У Galaxy S2 батарея знімна, що спрощує завдання. На відбитку на корпусі позначені контакти та їх полярність.

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

Напруга літій-іонної батареї зазвичай становить від 2,5 до 4,1 вольта, тому живлення на 4 вольти цілком безпечне. Для гарантії використано DC/DC перетворювач, налаштований на точні 4 вольти. Ризикувати підключенням 5 вольт автор не став, щоб не спалити регулятор напруги телефона.

Arduino-подібний кодНайбільша перевага такого підходу — можливість писати код у стилі Arduino. Готовий шаблон включає всі необхідні функції для керування входами-виходами, що робить розробку інтуїтивно зрозумілою навіть для новачків.

Запис Як перетворити старий смартфон на контролер для електронних проектів: досвід з 12-річним Samsung Galaxy S2 спершу з'явиться на ProstoMob.

Широкий, Джерело, Сигнал

Читайте ще