Skip to content

Commit

Permalink
doc: add assembly instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
and3rson committed Apr 18, 2024
1 parent 14a952c commit 54ae2f2
Show file tree
Hide file tree
Showing 31 changed files with 143 additions and 16 deletions.
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ autobuild: clean doxygen

.PHONY: clean
clean:
rm -rf _build
rm -rf _build _doxygen/xml
2 changes: 1 addition & 1 deletion docs/about/what_is_lilka.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
- :ref:`Емулятор NES <sd-card-feature>`, який дозволить вам грати в нінтендівські ігри
- Можливість :ref:`запускати DOOM <sd-card-feature>` з непоганим FPS
- Вбудований WiFi- та Bluetooth-передавач
- :doc:`Роз'єм розширення </manual/extension>` для під'єднання власних модулів
- :ref:`Роз'єм розширення <extension>` для під'єднання власних модулів
- :ref:`Підтримка Lua <lua-intro>` для легкого створення власних ігор та програм
- Можливість запуску програм з SD-карти

Expand Down
2 changes: 1 addition & 1 deletion docs/assembly/every_component.rst
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@

Для цього і потрібен роз'єм розширення ``J2``: він має виводи для живлення сторонніх компонентів, а також декілька GPIO-ліній мікроконтролера, які можна використовувати для підключення додаткових пристроїв.

Детальніше про роз'єм розширення можна прочитатиj тут: :ref:`extension`.
Детальніше про роз'єм розширення можна прочитати в розділі :ref:`extension`.

Модуль SD-карти (``J3``)
------------------------
Expand Down
Binary file added docs/assembly/images/hover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assembly/images/hover.xcf
Binary file not shown.
Binary file added docs/assembly/images/sandwich.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assembly/images/sandwich.xcf
Binary file not shown.
1 change: 1 addition & 0 deletions docs/assembly/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
configurations
components
every_component
instructions
95 changes: 95 additions & 0 deletions docs/assembly/instructions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
Збір пристрою
=============

:term:`PCB` Лілки спроєктована для максимально простого збору зі збереженням її мінімального розміру.

Більшість компонентів - це :term:`THT`-компоненти, тобто компоненти, які вставляються в отвори плати і паяються з задньої сторони. Це дозволяє збирати плату без використання спеціального обладнання.

Декілька компонентів - це :term:`SMD`-компоненти, які паяються зверху. Серед них - мікроконтролер ESP32-S3-WROOM-1-N16R8, регулятор напруги TLV1117LV-33DCYR та транзистор IRLML6401.

Порядок збору
-------------

1. **Перш за все, припаяйте SMD-компоненти.**

Вони займають найменше місця та не заважатимуть вам при пайці решти компонентів.**

* ``U1`` (мікроконтролер ESP32-S3-WROOM-1-N16R8)
* ``U3`` (регулятор TLV1117LV-33DCYR)
* ``Q1`` IRLML6401 (якщо ви використовуєте комплектацію з батареєю)

2. **Припаяйте модуль USB-C** (``J1``).

Переконайтесь, що ви вставили модуль USB-C вірно. Він має бути вирівняний з краєм плати.

Є два способи паяти такі модулі на плату:

- **Спосіб 1**: Ви можете прикласти його до плати та вставити штирьові контакти крізь нього та плату, утворивши таким чином "сендвіч". Після цього вам потрібно припаяти штирьові контакти з обох сторін.
Таким чином модуль щільно прилягатиме до плати та не буде провисати.

.. image:: ./images/sandwich.png

- **Спосіб 2**: Ви можете спершу припаяти штирьові контакти на модуль USB-C, а потім припаяти модуль на плату. Цей спосіб простіший, але модуль буде провисати, оскільки між
ним та платою буде вільний простір, утворений пластиковим тримачем штирьових контактів.

.. image:: ./images/hover.png

Є й інші способи - не бійтесь проявляти креативність!

3. **Якщо ви збираєте комплектацію з батареєю, припаяйте наступні компоненти (вони всі позначені пунктирними лініями на задній стороні плати)**

* ``Q1`` IRLML6401
* ``D1`` (діод 1N4001)
* Резистори ``R3`` (100 кОм) та ``R4`` (33 кОм)
* ``J4`` (модуль заряду/розряду батареї на базі TP4056)
* LiPo батарея на ваш вибір (припаюється безпосередньо до пінів модуля заряду/розряду, позначених як B+ та B-)

**Якщо ви збираєте комплектацію без батареї, не паяйте ці компоненти!**

Натомість **замкніть** джампер ``JP1``, який знаходиться всередині посадкового місця діода ``D1``. Для цього використайте паяльник та припій, щоб замкнути контакти джампера.

4. **Припаяйте наступні компоненти:**

* Резистори ``R1`` (10 кОм) ``R2`` (100 кОм)
* Конденсатори ``C1``, ``C2`` та ``C3`` (1 мкФ)

5. **Припаяйте 6-мм тактильні кнопки**:

* ``SW9`` (Select)
* ``SW10`` (Start)
* ``SW12`` (Start)

6. **Припаяйте модуль SD-карти** ``J3``.

Як і модуль USB-C, модуль SD-карти можна припаяти двома способами.

**Переконайтесь, що ви вставили модуль SD-карти вірно!** Металеве гніздо для SD-карти повинне знаходитися **зовні** плати!

7. **Припаяйте 8 12-мм кнопок**:

* ``SW1`` (Up)
* ``SW2`` (Down)
* ``SW3`` (Left)
* ``SW4`` (Right)
* ``SW5`` (A)
* ``SW6`` (B)
* ``SW7`` (C)
* ``SW8`` (D)

8. **Якщо ви збираєте комплектацію зі звуком, припаяйте** :term:`ЦАП`-модуль ``U4`` (MAX98357A).

* Якщо ви плануєте паяти роз'єм для навушників, **обов'язково припаяйте всі 9 контактів модуля!** Після цього припаяйте роз'єм для навушників ``J6`` до плати.
* Якщо ж ви хочете використовувати власний динамік, **вам достатньо припаяти лише 7 основних контактів**, а контакти динаміка припаяти безпосередньо до пінів (+) та (-) модуля.

9. **Припаяйте п'єзоелектричний динамік** ``BZ1``.

Він дозволяє відтворювати примітивні звуки. Він працює окремо від :term:`ЦАП`-модуля, тому ви можете використовувати його навіть якщо не паяєте :term:`ЦАП`-модуль.

10. **Припаяйте роз'єм дисплея та роз'єм розширення:**

* ``U2`` (роз'єм дисплея типу "мама")
* ``J2`` (роз'єм розширення типу "тато")

11. **Припаяйте вимикач живлення** ``SW11``.

Вітаємо, ваша плата готова до використання! Тепер вам залишається лише завантажити програмне забезпечення на ESP32-S3. Для цього читайте наступний розділ - :ref:`programming`.
7 changes: 7 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,10 @@ def setup(app):

# -- Sphinx-Design ------------------------------------------------------------
extensions.append("sphinx_design")

# -- Hoverxref ---------------------------------------------------------------
extensions.append("hoverxref.extension")
hoverxref_roles = ["term"]
hoverxref_role_types = {
"term": "tooltip",
}
17 changes: 17 additions & 0 deletions docs/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,20 @@
Легка скриптова мова програмування, яка використовується для написання скриптів та програм для вбудованих систем.

Вона чудово підходить для :ref:`написання ігор <lua-intro>`!

PCB
"Printed Circuit Board", тобто "друкована плата". Плата, на якій розміщені електронні компоненти.

THT
"Through-Hole Technology", тобто "технологія з монтажем через отвори". Технологія монтажу електронних компонентів на плату через отвори.

SMD
"Surface-Mount Device", тобто "прилади з монтажем на поверхню". Технологія монтажу електронних компонентів на поверхню плати.

ЦАП
Цифро-аналоговий перетворювач (:term:`DAC`). Електронний пристрій, який перетворює цифрові сигнали в аналогові. Найчастіше використовується для відтворення звуку.

DAC
Digital-to-Analog Converter, тобто "цифро-аналоговий перетворювач".

Див. :term:`ЦАП`.
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
about/index
hardware/index
assembly/index
manual/index
programming/index
keira/index
library/index
faq/index
Expand Down
2 changes: 1 addition & 1 deletion docs/keira/lua/reference/gpio.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
``gpio`` - Керування GPIO-пінами
================================

Функції для роботи з GPIO-пінами :doc:`роз'єму розширення </manual/extension>`.
Функції для роботи з GPIO-пінами :ref:`роз'єму розширення <extension>`.

Приклад:

Expand Down
10 changes: 0 additions & 10 deletions docs/manual/index.rst

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
16 changes: 16 additions & 0 deletions docs/programming/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.. _programming:

:octicon:`book` Програмування
=============================

Отже, ви зібрали Лілку!

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

.. toctree::
:maxdepth: 1

environment
keira
development
extension
File renamed without changes.
1 change: 1 addition & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
breathe==4.35.0
sphinx-design==0.5.0
sphinx-hoverxref==1.3.0
sphinx-lua==1.1.5
sphinx-rtd-theme==1.3.0
sphinx-toolbox==3.5.0
Expand Down
2 changes: 1 addition & 1 deletion sdk/addons/lualilka/library/gpio.lua
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function gpio.read(pin) end
---Читає аналогове значення з GPIO-піна. Воно може бути в діапазоні від ``0`` до ``4095`` (включно).
---
---Майте на увазі, що ця функція працює тільки з пінами, які підтримують аналогове введення.
---Детальніше про це - на сторінці :doc:`/manual/extension`.
---Детальніше про це - на сторінці :ref:`extension`.
---@param pin integer номер піна
---@return integer
function gpio.analog_read(pin) end
Expand Down

0 comments on commit 54ae2f2

Please sign in to comment.