arduino joystik
Moderátor: Moderátoři
arduino joystik
Jsem koupil od Číňanu joystik KY-023 pro ovadaní Motor Driver BTS7960
Nějak se s ním nemohu domluvit.
Každý den má úplně jíné klidové hodnoty.
Včera X: 531 Y : 528
Dnes X: 564 Y: 547
Doporučte nějaký, co by normálně fungoval.
Půjde toto nějak pořešít?
Středova hodnota joystiku vlevo - vpravo je 510.
Tedy 2 podmínky
Kód: Vybrat vše
if (joystick[1] > 520)
{
int vpravo = ????
}
Kód: Vybrat vše
if (joystick[1] < 500)
{
int vlevo = ????
}
Půjde v těchto podmínkách souřadnice joystiku nějak přepočítat, tak abych v každé proměnné mněl hodnotu 0 - 100?
PS: řeším otáčení vozítka přes Motor Driver BTS7960 43A.
Dopředu 0 - 255
Dozadu 0 - 255
Bych chtěl, aby při naklonění joystiku třeba do leva na 50%, odečítat s driveru co řídí levé kolo těch 50%
Kód: Vybrat vše
////////////////////////////////////////////////////////////
// leve kolo
if (joystick[1] <= 500)
{
vlevo = map(joystick[1], 0, 500, 100, 0);
}
else
{
vlevo = 0;
}
///////////////////////////////////////////////////////////////
// Dopředu
if (joystick[0] >= 535)
{
dopreduPWM_pravekolo = map(joystick[0], 535, 1023, 0, 255);
dopreduPWM_levekolo = map(joystick[0], 535, 1023, 0, 255);
int le = (dopreduPWM_levekolo/100)* vlevo;
Serial.print(dopreduPWM_levekolo);
Serial.print(" --- ");
Serial.print(vlevo);
Serial.print(" --- ");
Serial.println(le);Když mam joy úplně vpředu a vlevo, přes ser to vypisuje 255 --- 100 --- 200
int le = (dopreduPWM_levekolo/100)* vlevo;
dopreduPWM_levekolo/100 je 255/100, a mame jedno procento což je 2,55.
2,55 * 100 je zase 255 a ne 200