diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 6f2b89c..936c0a0 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -10,7 +10,6 @@ "includePath": [ "/Users/lklich/Programowanie/robotic_hand/include", "/Users/lklich/Programowanie/robotic_hand/src", - "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/ESP32Servo/src", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit PWM Servo Driver Library", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit BusIO", @@ -235,6 +234,7 @@ "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", @@ -248,7 +248,6 @@ "path": [ "/Users/lklich/Programowanie/robotic_hand/include", "/Users/lklich/Programowanie/robotic_hand/src", - "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/ESP32Servo/src", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit PWM Servo Driver Library", "/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit BusIO", @@ -473,6 +472,7 @@ "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", "/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", diff --git a/src/main.cpp b/src/main.cpp index 10d7575..b021154 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,10 +9,11 @@ #include #define WDT_TIMEOUT 60 // Czas watchdoga do restartu -// Konfiguracja serw (to trzeba skalibrować) -#define SERVOMIN 150 // Minimalna długość impulsu (0 stopni) -#define SERVOMAX 550 // Maksymalna długość impulsu (180 stopni) -#define NUM_FINGERS 5 +#define SERVOMIN 150 // Minimalna długość impulsu (0 stopni) +#define SERVOMAX 550 // Maksymalna długość impulsu (180 stopni) +#define NUM_FINGERS 5 // Ilosc palcow +#define SPEED 3 // opoźnienie szybkości +#define PAUSE 200 // przerwa pomiędzy gestami // Aktualne pozycje serw (do płynnych przejść) int currentPositions[NUM_FINGERS] = {0, 0, 0, 0, 0}; @@ -28,29 +29,24 @@ struct Gesture { // --- DEFINICJA GESTÓW --- // Kolejność: Kciuk, Wskazujący, Środkowy, Serdeczny, Mały Gesture gestureList[] = { - {"OTWARTA", {0, 0, 0, 0, 0}}, // Wszystkie wyprostowane - {"PIESC", {170, 170, 170, 170, 170}},// Wszystkie zgięte - {"V-SIGN", {170, 0, 0, 170, 170}}, // Pokój / Zwycięstwo - {"OK", {150, 150, 0, 0, 0}}, // Kciuk i wskazujący złączone - {"PALEC", {170, 0, 170, 170, 170}}, // Wskazywanie palcem - - // --- NOWE GESTY --- - {"KCIUK_GORA", {0, 170, 170, 170, 170}}, // Lajk (Kciuk wyprostowany, reszta pięść) - {"ROCK_ON", {0, 0, 170, 170, 0}}, // "Rogi" (Kciuk, wskazujący i mały wyprostowane) - {"SPIDERMAN", {0, 0, 170, 170, 0}}, // Podobnie jak rock, ale kciuk szeroko - {"SHAKA", {0, 170, 170, 170, 0}}, // Gest surferów (Kciuk i mały wyprostowane) - {"PUNKT", {170, 0, 0, 170, 170}}, // Wskazujący i środkowy (jak pistolet) - - // --- LICZBY --- - {"LICZBA_1", {170, 0, 170, 170, 170}}, // Tylko wskazujący - {"LICZBA_2", {170, 0, 0, 170, 170}}, // Wskazujący i środkowy - {"LICZBA_3", {170, 0, 0, 0, 170}}, // Trzy środkowe palce - {"LICZBA_4", {170, 0, 0, 0, 0}}, // Bez kciuka - - // --- INNE --- - {"CZEŚĆ", {40, 40, 40, 40, 40}}, // Lekko ugięte (naturalna dłoń) - {"CHWYT_PRECYZ", {120, 120, 170, 170, 170}} // Pęseta (Kciuk i wskazujący do połowy) + {"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte + {"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane + {"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte + {"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane + {"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte + {"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane + {"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte + {"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane + {"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte + + // // --- LICZBY --- + {"JEDEN", {0, 80, 0, 0, 0}}, + {"DWA", {0, 80, 120, 0, 0}}, // Wszystkie wyprostowane + {"TRZY", {0, 80, 120, 110, 0}}, // Wszystkie wyprostowane + {"CZTERY", {0, 80, 120, 110, 140}}, // Wszystkie wyprostowane + {"PIEC", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane }; + int totalGestures = sizeof(gestureList) / sizeof(Gesture); //////// PROTOTYPY ///////////////// @@ -94,12 +90,15 @@ void setup() { ESP_LOGI(TAG_MAIN, "Added main task to Watchdog"); } - // Ustawienie pozycji startowej (otwarta dłoń) for(int i=0; i