Обзор проекта Здесь мы делаем приложение для домашнего массажного кресла, при включении экрана появляется стартовый интерфейс. После короткого пребывания, он перейдет к определенному интерфейсу. Этот интерфейс используется для установки текущего времени. При установке появится клавиатура. После настройки нажмите OK, чтобы войти в интерфейс выбора режима массажа. Здесь я установил три режима: массаж головы, массаж спины и комплексный режим. В режиме можно установить интенсивность массажа, можно установить высокую, среднюю и низкую передачу, а для индикации интенсивности будет использоваться соответствующий светодиодный индикатор; также можно установить время массажа, после достижения заданного числа он автоматически прекратится; в комплексной модели голова и спина будут массироваться одновременно, и его можно отключить, когда он не нужен. Эти действия осуществляются через экран последовательного порта сенсорного дисплея STONE для передачи команд. Модули, необходимые для проекта ① Сенсорный экран STONE; ② ESP32; ③ Привод шагового двигателя и модуль; ④ Модуль светодиодной матрицы; подключение часть кода Код (C++): //HEAD uint8_t HeadGearHigh[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0E, 0x01, 0x00, 0x03}; uint8_t HeadGearMiddle[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0E, 0x01, 0x00, 0x02}; uint8_t HeadGearLow[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0E, 0x01, 0x00, 0x01}; uint8_t HeadTiming[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x11, 0x01, 0x00, 0x09}; uint8_t HeadModeStart[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x19, 0x01, 0x41, 0x61}; uint8_t HeadModeStop[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x24, 0x01, 0x46, 0x66}; //BACK uint8_t BackGearHigh[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x1A, 0x01, 0x00, 0x01}; uint8_t BackGearMiddle[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x1A, 0x01, 0x00, 0x02}; uint8_t BackGearLow[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x1A, 0x01, 0x00, 0x03}; uint8_t BackModeStart[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0C, 0x01, 0x42, 0x62}; uint8_t BackModeStop[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0D, 0x01, 0x43, 0x63}; //Integrated uint8_t IntegratedModeStart[9]= {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0F, 0x01, 0x44, 0x64}; uint8_t IntegratedModeStop[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x1F, 0x01, 0x45, 0x65}; Разработка графического интерфейса пользователя Представление результатов видеодемонстрация