Друзья такая ситуация, я совсем недавно занялся ардуиной, накупил много чего для машинки. Вот возникла проблема со скетчем до меня не может дойти как сделать чтоб один мотор управлялся от одного джойстика, а второй от другого. Схемы подключений и скетчи для пульта и машинки предоставлю очень прошу помочь в написании скетча. Заранее спасибо. Если можно то на почту lekha777@bk.ru
#include <SPI.h> #include "RF24.h" RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int msg[1]; int potpin_1 = A0; // сервопривод поворотов int val_1; int potpin_2 = A1; // двигатель int val_2; void setup(void){ radio.begin(); radio.openWritingPipe(pipe); } void loop() { val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 63),msg[0] = val_1,radio.write(msg, 1); val_2 = analogRead(potpin_2),val_2 = map(val_2, 0, 1023, 128, 255),msg[0] = val_2,radio.write(msg, 1); } это пульт, сервоприводов у меня нету только два мотора.
#include <Servo.h> #include <SPI.h> #include "RF24.h" Servo servo1; Servo servo2; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int msg[1]; int data; int pos; int fspeed; // движение в перед int bspeed; // движение назад const int in1 = 2; // управление двигателем 1 const int in2 = 4; // управление двигателем 1 const int ena = 3; // ШИМ для пропорциональной скорости машинки const int in3 = 7; // управление двигателем 1 const int in4 = 6; // управление двигателем 1 const int enb = 5; void setup() { pinMode(in1, OUTPUT); // подключаем к L298n pinMode(in2, OUTPUT); // подключаем к L298n pinMode(ena, OUTPUT); // подключаем к L298n pinMode(in3, OUTPUT); // подключаем к L298n pinMode(in4, OUTPUT); // подключаем к L298n pinMode(enb, OUTPUT); delay(50); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening(); } void loop() { if (radio.available())radio.read(msg, 1); if (msg[0] <63 && msg[0] >-1)data = msg[0], pos = map(data, 0, 62, 10, 50),servo1.write(pos); if (msg[0] <=127 && msg[0] >=64)data = msg[0], pos = map(data, 64, 127, 0, 80),servo2.write(pos); if (msg[0] >=128 && msg[0] <=189)data = msg[0], bspeed = map(data, 255, 201, 0, 255), backward(bspeed); if (msg[0] >=201 && msg[0] <=255)data = msg[0], fspeed = map(data, 189, 128, 0, 255), forward(fspeed); if (msg[0] >190 && msg[0] <200)data = msg[0], stop(); } void stop() { analogWrite(ena, 0); digitalWrite(in1, LOW); digitalWrite(in2, LOW); } void forward(int fspeed) { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, fspeed); } void backward(int bspeed) { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, bspeed); } нужно чтоб каждый мотор был привязан к своему джойстику