Aperçu du projet
Il s'agit d'une application de fauteuil de massage domestique. Lorsque l'écran série LCD est mis sous tension, une interface de démarrage apparaît. Après un court séjour, il sautera à une interface spécifique. Cette interface est utilisée pour régler l'heure actuelle. Lors du réglage, un clavier s'affiche. Après le réglage, cliquez sur OK pour accéder à l'interface de sélection du mode de massage. Ici, j'ai défini trois modes : massage de la tête, massage du dos et mode complet. Dans le mode, l'intensité du massage peut être réglée, les vitesses haute, moyenne et basse peuvent être réglées, et la lumière LED correspondante sera utilisée pour l'indication de l'intensité ; les temps de massage peuvent également être réglés, après avoir atteint le nombre défini, il s'arrêtera automatiquement ; dans le modèle complet, la tête et le dos seront massés en même temps, et il peut être éteint quand il n'est pas nécessaire. Ces actions se font par l'intermédiaire de l'écran tactile STONE à port série pour réaliser la transmission des commandes.
Modules requis pour le projet
② ESP32;
③ Module et commande de moteur pas à pas ;
④ Module de matrice de LED ;
Conception de l'interface utilisateur graphique
schéma de connexion
partie du code
//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};
démonstration vidéo