Заголовок темы должен отражать содержимое. Отредактируй или ветка будет удалена
Проблема такая: пытаюсь соединить джойстик и два двигателя через нрф24. Никак не могу понять как написать код для MX1805 чтобы двигатели вращались вперед назад при управлении джойстиком. Подскажите где про это можно прочитать и в чём тут проблема?
C++:
//ПЕРЕДАТЧИК
#include<SPI.h>
#include "RF24.h"
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int massiv[2];
void setup(void){
radio.begin();
radio.openWritingPipe(pipe);
}
void loop() {
massiv[0] = map (analogRead(A1),0,1023,0,255);
massiv[1] = map (analogRead(A2),0,1023,0,255);
radio.write(&massiv, sizeof(massiv));
}
//ПРИЕМНИК
#include <Servo.h>
#include<SPI.h>
#include "RF24.h"
Servo servo1;
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int massiv[2];
int in1 = A1;
int in2 = A2;
int in3 = A3;
int in4 = A4;
byte spd = 250;
void setup(){
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
servo1.attach(3);
delay(50);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
}
void loop(){
if (radio.available()){
radio.read(&massiv,sizeof (massiv));}
servo1.write(map(massiv[0], 90, 180, 0,255));
if (massiv[1]<110)
digitalWrite(in1,0);
digitalWrite(in2,spd);
digitalWrite(in3,0);
digitalWrite(in4,spd);
if (massiv[1]>140)
digitalWrite(in1,spd);
digitalWrite(in2,0);
digitalWrite(in3,spd);
digitalWrite(in4,0);
if (massiv[1]>110&& massiv[0]<140)
digitalWrite(in1,0);
digitalWrite(in2,0);
digitalWrite(in3,0);
digitalWrite(in4,0);
}