Створення власної прошивки для ЛІЛКА відкриває перед розробниками нові можливості роботи з мікроконтролером ESP32-S3. Завдяки середовищу PlatformIO у VS Code та бібліотеці lilka, користувачі можуть швидко налаштувати проєкт, зібрати код і завантажити його безпосередньо на консоль. У статті детально описано, як підготувати робоче середовище, підключити потрібні залежності, а також розібратися з основними функціями для роботи з кнопками, дисплеєм і бузером. Наведено приклади коду, що допоможуть не тільки протестувати базові можливості, а й стати основою для майбутніх ігор та програм. Цей гайд стане у пригоді як початківцям, так і досвідченим ентузіастам DIY-електроніки, які хочуть глибше зрозуміти архітектуру ЛІЛКА, оптимізувати власні проєкти та створювати кастомні прошивки з нуля.
Спочатку відкрийте Visual Studio Code, перейдіть на вкладку PlatformIO та виберіть Create New Project.
У вікні, що відкриється, натисніть на кнопку New Project.
first_project.У переліку boards оберіть Lilka v2 (Anderson & friends).
У переліку frameworks оберіть Arduino.
Після цього натисніть на кнопку Finish.
Примітка:
Якщо ви не бачите в переліку
Lilka v2 (Anderson & friends)або у вас виникає помилка при створенні проєкту, вам потрібно оновити пакети PlatformIO.Для цього виконайте команду
pio pkg update -g -p espressif32в терміналі Visual Studio Code.Щоб відкрити термінал, в панелі
Quick AccessвиберітьMiscellaneousі тоді натисніть наPlatformIO Core CLI. Консоль відкриється внизу вікна Visual Studio Code.Після цього вам слід перезапустити Visual Studio Code.
platformio.ini.Це – конфігураційний файл проєкту, в якому вказані всі налаштування проєкту: платформа, фреймворк, бібліотеки тощо. Ми можете редагувати його вручну, а можете використовувати графічний інтерфейс PlatformIO.
PlatformIO та в панелі Quick Access виберіть Libraries.Після цього введіть у поле пошуку lilka:
Тепер натисніть на кнопку Add to Project.
Після завершення завантаження бібліотеки ви побачите, що вона з’явилась у полі lib_deps файлу platformio.ini.
Це поле вказує на те, які бібліотеки використовуються у проєкті. PlatformIO автоматично завантажує та встановлює всі бібліотеки, вказані у цьому полі, а також їх залежності. Встановлення бібліотеки lilka автоматично встановлює різні бібліотеки для роботи з Лілкою, наприклад Arduino-GFX, яка використовується для роботи з дисплеєм Лілки.
src/main.cpp та напишіть наступний код:#include <lilka.h>
void setup() {
// Ця функція виконається один раз при увімкненні
// Ініціалізуємо дисплей, карту пам'яті, звук, кнопки і все на світі
lilka::begin();
// Заповнюємо екран білим кольором
lilka::display.fillScreen(lilka::colors::White);
}
void loop() {
// Ця функція буде виконуватись по колу
// Читаємо стан кнопок
lilka::State state = lilka::controller.getState();
if (state.a.justPressed) {
// Кнопка A щойно була натиснена
lilka::display.fillScreen(lilka::colors::Red);
lilka::buzzer.play(lilka::NOTE_C4);
} else if (state.a.justReleased) {
// Кнопка A щойно буда відпущена
lilka::display.fillScreen(lilka::colors::Green);
lilka::buzzer.stop();
}
}
Це – проста програма, яка при натисканні на кнопку A змінює колір екрану на червоний та відтворює звук, а при відпусканні – заповнює екран зеленим кольором та зупиняє звук.
Для цього під’єднайте Лілку до комп’ютера за допомогою USB-кабеля, відкрийте вкладку PlatformIO та натисніть на дію Upload.
Після завершення компіляції та завантаження прошивки ви побачите, як Лілка виконує вашу програму. Спробуйте натиснути та відпустити кнопку A та переконайтеся, що все працює!