poprawki - servo palca wskazującego jest uszkodzone
This commit is contained in:
4
.vscode/c_cpp_properties.json
vendored
4
.vscode/c_cpp_properties.json
vendored
@@ -10,7 +10,6 @@
|
|||||||
"includePath": [
|
"includePath": [
|
||||||
"/Users/lklich/Programowanie/robotic_hand/include",
|
"/Users/lklich/Programowanie/robotic_hand/include",
|
||||||
"/Users/lklich/Programowanie/robotic_hand/src",
|
"/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/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 PWM Servo Driver Library",
|
||||||
"/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit BusIO",
|
"/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/SD_MMC/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/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/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/USB/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
|
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
|
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
|
||||||
@@ -248,7 +248,6 @@
|
|||||||
"path": [
|
"path": [
|
||||||
"/Users/lklich/Programowanie/robotic_hand/include",
|
"/Users/lklich/Programowanie/robotic_hand/include",
|
||||||
"/Users/lklich/Programowanie/robotic_hand/src",
|
"/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/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 PWM Servo Driver Library",
|
||||||
"/Users/lklich/Programowanie/robotic_hand/.pio/libdeps/esp32-c3-devkitm-1/Adafruit BusIO",
|
"/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/SD_MMC/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/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/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/USB/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
|
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
|
||||||
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
|
"/Users/lklich/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
|
||||||
|
|||||||
67
src/main.cpp
67
src/main.cpp
@@ -9,10 +9,11 @@
|
|||||||
#include <Adafruit_PWMServoDriver.h>
|
#include <Adafruit_PWMServoDriver.h>
|
||||||
|
|
||||||
#define WDT_TIMEOUT 60 // Czas watchdoga do restartu
|
#define WDT_TIMEOUT 60 // Czas watchdoga do restartu
|
||||||
// Konfiguracja serw (to trzeba skalibrować)
|
#define SERVOMIN 150 // Minimalna długość impulsu (0 stopni)
|
||||||
#define SERVOMIN 150 // Minimalna długość impulsu (0 stopni)
|
#define SERVOMAX 550 // Maksymalna długość impulsu (180 stopni)
|
||||||
#define SERVOMAX 550 // Maksymalna długość impulsu (180 stopni)
|
#define NUM_FINGERS 5 // Ilosc palcow
|
||||||
#define NUM_FINGERS 5
|
#define SPEED 3 // opoźnienie szybkości
|
||||||
|
#define PAUSE 200 // przerwa pomiędzy gestami
|
||||||
|
|
||||||
// Aktualne pozycje serw (do płynnych przejść)
|
// Aktualne pozycje serw (do płynnych przejść)
|
||||||
int currentPositions[NUM_FINGERS] = {0, 0, 0, 0, 0};
|
int currentPositions[NUM_FINGERS] = {0, 0, 0, 0, 0};
|
||||||
@@ -28,29 +29,24 @@ struct Gesture {
|
|||||||
// --- DEFINICJA GESTÓW ---
|
// --- DEFINICJA GESTÓW ---
|
||||||
// Kolejność: Kciuk, Wskazujący, Środkowy, Serdeczny, Mały
|
// Kolejność: Kciuk, Wskazujący, Środkowy, Serdeczny, Mały
|
||||||
Gesture gestureList[] = {
|
Gesture gestureList[] = {
|
||||||
{"OTWARTA", {0, 0, 0, 0, 0}}, // Wszystkie wyprostowane
|
{"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte
|
||||||
{"PIESC", {170, 170, 170, 170, 170}},// Wszystkie zgięte
|
{"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
{"V-SIGN", {170, 0, 0, 170, 170}}, // Pokój / Zwycięstwo
|
{"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte
|
||||||
{"OK", {150, 150, 0, 0, 0}}, // Kciuk i wskazujący złączone
|
{"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
{"PALEC", {170, 0, 170, 170, 170}}, // Wskazywanie palcem
|
{"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte
|
||||||
|
{"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
// --- NOWE GESTY ---
|
{"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte
|
||||||
{"KCIUK_GORA", {0, 170, 170, 170, 170}}, // Lajk (Kciuk wyprostowany, reszta pięść)
|
{"OTWARTA", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
{"ROCK_ON", {0, 0, 170, 170, 0}}, // "Rogi" (Kciuk, wskazujący i mały wyprostowane)
|
{"ZAMKNIETA", {0, 0, 0, 0, 0}}, // Wszystkie zgięte
|
||||||
{"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)
|
// // --- LICZBY ---
|
||||||
{"PUNKT", {170, 0, 0, 170, 170}}, // Wskazujący i środkowy (jak pistolet)
|
{"JEDEN", {0, 80, 0, 0, 0}},
|
||||||
|
{"DWA", {0, 80, 120, 0, 0}}, // Wszystkie wyprostowane
|
||||||
// --- LICZBY ---
|
{"TRZY", {0, 80, 120, 110, 0}}, // Wszystkie wyprostowane
|
||||||
{"LICZBA_1", {170, 0, 170, 170, 170}}, // Tylko wskazujący
|
{"CZTERY", {0, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
{"LICZBA_2", {170, 0, 0, 170, 170}}, // Wskazujący i środkowy
|
{"PIEC", {170, 80, 120, 110, 140}}, // Wszystkie wyprostowane
|
||||||
{"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)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int totalGestures = sizeof(gestureList) / sizeof(Gesture);
|
int totalGestures = sizeof(gestureList) / sizeof(Gesture);
|
||||||
|
|
||||||
//////// PROTOTYPY /////////////////
|
//////// PROTOTYPY /////////////////
|
||||||
@@ -94,12 +90,15 @@ void setup() {
|
|||||||
ESP_LOGI(TAG_MAIN, "Added main task to Watchdog");
|
ESP_LOGI(TAG_MAIN, "Added main task to Watchdog");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ustawienie pozycji startowej (otwarta dłoń)
|
|
||||||
for(int i=0; i<NUM_FINGERS; i++) {
|
for(int i=0; i<NUM_FINGERS; i++) {
|
||||||
currentPositions[i] = 0;
|
// Na początek 90 stopni zeby nie uderzalo przy wlaczeniu
|
||||||
pwm.setPWM(i, 0, angleToPWM(0));
|
currentPositions[i] = 110;
|
||||||
}
|
}
|
||||||
delay(1000);
|
|
||||||
|
// Teraz powolne zerowanie
|
||||||
|
moveToGesture(gestureList[0], 30);
|
||||||
|
|
||||||
|
delay(500);
|
||||||
ESP_LOGI(TAG_MAIN, "System ready");
|
ESP_LOGI(TAG_MAIN, "System ready");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +125,7 @@ void moveToGesture(Gesture g, int speed) {
|
|||||||
}
|
}
|
||||||
pwm.setPWM(i, 0, angleToPWM(currentPositions[i]));
|
pwm.setPWM(i, 0, angleToPWM(currentPositions[i]));
|
||||||
}
|
}
|
||||||
delay(speed); // Kontrola prędkości (im mniejsza wartość, tym szybciej)
|
delay(speed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,10 +133,8 @@ void loop() {
|
|||||||
Watchdog::feed();
|
Watchdog::feed();
|
||||||
|
|
||||||
for (int i = 0; i < totalGestures; i++) {
|
for (int i = 0; i < totalGestures; i++) {
|
||||||
moveToGesture(gestureList[i], 10); // Prędkość 10ms na stopień
|
moveToGesture(gestureList[i], SPEED);
|
||||||
delay(1000); // 1 sekunda przed kolejnym gestem
|
delay(PAUSE);
|
||||||
Watchdog::feed();
|
Watchdog::feed();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user