Ви не увійшли.
Всем день добрый. Мучался около недели, потом психанул и все удалил. Но детали куплены и все равно муляет меня. Пожалуйста помогите. Использую Ардуину Нано, 2 сервы и джойстик. По поводу передачи сигнала по радиосигналу я разобрался. Но вот написать скетч чтоб при оттягивании влево-вправо джойстика у меня сервы двигались в разные стороны, а при вверх-вниз в одну сторону, ну никак не получается... Прилагаю фоты как это должно быть. Помогите....
Неактивний
Вот пример, того как можно это сделать. Частично на псевдокоде.
int middleX = 0;
int middleY = 0;
int getXAdc() {
// получить значение АЦП оси X
return adc;
}
int getYAdc() {
// получить значение АЦП оси Y
return adc;
}
void rotateServo1(int angle) {
//вращение сервопривода
}
void rotateServo2(int angle) {
//вращение сервопривода
}
int convertAdc2SAngle(int adc) {
return adc*coef;
}
void init() {
middleY = getYAdc();
middleX = getXAdc();
}
void rotateAxises(int adcX, int adcY) {
int angleS1 = convertAdc2SAngle(adcX);
int angleS2 = convertAdc2SAngle(adcY);
// находим наибольшее значимое отклонение X или Y
if (abs(adcX) > abs(adcY)) {
rotateServo1(angleS1);
rotateServo2(-angleS2);
} else {
rotateServo1(angleS1);
rotateServo2(angleS2);
}
}
void main() {
init();
while(1) {
int currentX = getXAdc() - middleX;
int currentY = getYAdc() - middleY;
}
}
Приложи свой вариант, чтоб чтоб оценить где может быть ошибка
Неактивний