Робимо чарівну кулю на основі Arduino Pro Mini

Я дивився якийсь фільм, у одного з героїв якого була чарівна куля, яка відповідає на запитання. Мені тоді подумалося, що непогано було б зробити такий самий, але цифровий. Я порився у своїх запасах електронних компонентів і подивився, чи є в мене те, що потрібно для збирання такої кулі. У дні пандемії мені не хотілося замовляти щось без потреби. В результаті я виявив триосьовий акселерометр, дисплей для Nokia 5110, плату Arduino Pro Mini і ще деякі дрібниці. Цього мені мало вистачити і я взявся за роботу.

Робимо чарівну кулю на основі Arduino Pro Mini

Апаратна частина проекту

Ось список компонентів, з яких складається мій проект:

  • Плата Arduino Pro Mini.
  • Роз'єм GX-12 (вилка).
  • Триосьовий акселерометр MMA7660.
  • Дисплей PCD8544 для Nokia 5110/3310.
  • Зарядний пристрій для літієво-полімерних акумуляторів TP4056.
  • Конвертер DD0505MD.
  • Літій-полімерний акумулятор типорозміру 14500.

Екран

Екран, який я вирішив використати у цьому проекті, зберігається у мене вже давно. Коли я його виявив, я відразу запитав, чому я досі його ніде не використовував. Я знайшов бібліотеку до роботи з ним, підключив до нього харчування. Після цього я відразу знайшов відповідь на своє запитання. Справа була в його контрастності і в тому, що для роботи потрібні додаткові компоненти. Я знайшов цю бібліотеку для роботи з дисплеєм і дізнався, що до аналогового контакту можна підключити потенціометр. Я вирішив використати акселерометр для налаштування контрасту дисплея. А саме, якщо перейти в меню налаштувань, то нахил пристрою вліво призводить до зменшення відповідного значення, а нахил праворуч – збільшення. На пристрій я додав кнопку, натиснувши яку поточні налаштування контрастності зберігаються в EEPROM.

Меню, кероване акселерометром

Мені здалося, що переміщення по меню з використанням кнопок це надто нудно. Тому я вирішив спробувати використати для роботи з меню гіроскоп. Така схема взаємодії з меню виявилася дуже вдалою. Так, нахил пристрою вліво відкриває меню налаштування контрасту. У цьому меню можна перейти навіть у тому випадку, якщо контрастність дисплея сильно відхилиться від норми. Для вибору різних створених мною програм я теж використовував акселерометр. Ось бібліотека, яку я використовував у цьому проекті.

Додатки

Спочатку я хотів зробити щось, здатне грати роль чарівної кулі. Але потім вирішив, що можу оснастити те, що в мене вийде, додатковими можливостями, представленими різними програмами. Наприклад, я написав програму, що імітує кидок гральної кістки, випадковим чином видає число від 1 до 6. Ще одна моя програма вміла відповідати на запитання «Так» і «Ні». Вона допомагає приймати рішення у складних ситуаціях. До мого пристрою можна додати інші програми.

Акумулятор

Проблема моїх проектів полягає в тому, що завжди використовую в них незнімні літій-полімерні акумулятори. А потім, коли ці проекти виявляються на деякий час забутими, з акумуляторами може статися щось погане. Цього разу я вирішив зробити інакше і зробити так, щоб акумулятор із пристрою, при необхідності, можна було б вийняти. Він, наприклад, може стати в нагоді в якомусь новому проекті. На той час я вже спроектував корпус для акумулятора, але мені треба було його доробити, оснастивши дверцятами. Перші екземпляри корпусу вийшли невиправдано складними та громіздкими. Тож я його перепроектував. Він може стати в нагоді і в інших моїх проектах.

Робимо чарівну кулю на основі Arduino Pro Mini
Корпус для акумулятора

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

Робимо чарівну кулю на основі Arduino Pro Mini
Кришка корпусу для акумулятора

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

Робимо чарівну кулю на основі Arduino Pro Mini
Друк корпусу для акумулятора

Робимо чарівну кулю на основі Arduino Pro Mini
Кришка акумулятора знаходиться на верхній частині пристрою.

Вирішення питань харчування

Мені не хотілося підключати до основної плати елементи для організації живлення пристрою, оскільки це збільшило її розміри і підвищило б вартість проекту. Я подумав, що ідеально було б, якби мені вдалося вбудувати в проект вже наявні у мене зарядник TP4056 та конвертер DD0505MD. Так мені б не довелося витрачатися на додаткові компоненти.

Робимо чарівну кулю на основі Arduino Pro Mini
Вирішення питань живлення пристрою

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

Робимо чарівну кулю на основі Arduino Pro Mini
Внутрішня частина корпусу з місцем під елементи, що забезпечують живлення

Доопрацювання проекту та наслідки невдалого розміщення компонентів у корпусі

У ході роботи над проектом із ним сталася одна неприємність. Я після того, як усе зібрав, упустив пристрій на підлогу. Після цього перестав працювати дисплей. Спочатку я подумав, що справа у дисплеї. Тому я його перепідключив, але це нічого не виправило. Проблема цього проекту полягала у невдалому розміщенні компонентів. А саме, я, щоби заощадити місце, змонтував дисплей над Arduino. Для того щоб дістатися Arduino, мені треба було відпаяти дисплей. Але перепаювання дисплея проблему не вирішило. У цьому проекті я використав нову плату Arduino. У мене є ще одна така плата, яку я використовую для експериментів із макетною платою. Коли я підключив екран до неї, все запрацювало. Мені, оскільки я використав поверхневий монтаж, довелося відпаяти від цієї плати піни. Витягуючи піни з плати, я влаштував коротке замикання, з'єднавши піни VCC та GND. Єдине, що мені залишалося, — замовити нову плату. Але на це я не мав часу. Тоді я вирішив взяти чіп із плати, на якій сталося замикання, і переставити його на мертву плату. Це завдання я вирішив за допомогою паяльної термоповітряної станції. На мій подив, все запрацювало. Мені лише знадобилося скористатися піном, який виконує перезавантаження плати.

Робимо чарівну кулю на основі Arduino Pro Mini
Плата зі знятим чіпом

У звичайних умовах я не пішов би в такі крайнощі. Але моя плата Arduino була всього тиждень. Тому я й пішов на цей експеримент. Мабуть, пандемія зробила мене схильнішим до експериментів і винахідливішим.

Кріплення для шнурка

Я оснащу свої проекти кріпленнями для шнурків. Адже ніколи заздалегідь не знаєш про те, коли і де ними користуватимешся.

Підсумки


Ось як виглядає робота з чарівною кулею, що вийшла у мене.

Тут можна знайти файли для 3D-друку корпусу. сюди можете заглянути, щоб побачити код.

Чи застосовуєте ви Arduino Pro Mini у своїх проектах?

Робимо чарівну кулю на основі Arduino Pro Mini

Робимо чарівну кулю на основі Arduino Pro Mini

Джерело: habr.com

Додати коментар або відгук