Помогите разобраться.
- Войдите на сайт для отправки комментариев
Втр, 14/09/2021 - 18:11
Привет. Дело такое: у меня две нрф24, соответственно одна стоит на пульте другая на приемнике. На пульте джойстик, на приёмнике L298N. Не могу сделать так, чтобы двигатель крутился в одну и в другую сторону. Помогите ,пожалуйста, направьте в нужную сторону
//ПРИЁМНИК #include <SPI.h> #include "nRF24L01.h" #include "RF24.h" #include <Servo.h> int in1 = 3; int in2 = 4; int motor; RF24 radio(9, 10); byte recieved_data[3]; Servo myservo; byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; void setup() { Serial.begin(9600); / myservo.attach(2); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); motor = recieved_data[1] ; radio.begin(); radio.setAutoAck(1); radio.setRetries(0, 15); radio.enableAckPayload(); radio.setPayloadSize(32); radio.openReadingPipe(1, address[0]); radio.setChannel(0x60); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.powerUp(); radio.startListening(); } void loop() { Serial.println(recieved_data[1]); byte pipeNo; while ( radio.available(&pipeNo)) { radio.read( &recieved_data, sizeof(recieved_data) ); myservo.write(recieved_data[0]); if(motor < 126){ digitalWrite(in1 , 1); digitalWrite(in2 , 0);} if(motor > 130){ digitalWrite(in1 , 0); digitalWrite(in2 , 1);} if (motor > 126 && motor < 130){ digitalWrite(in1 , 0); digitalWrite(in2 , 0);} }} //ПЕРЕДАТЧИК #include <SPI.h> #include "nRF24L01.h" #include "RF24.h" RF24 radio(9, 10); byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб byte potent = 0; byte motor = 1; byte transmit_data[3]; byte latest_data[3]; boolean flag; void setup() { Serial.begin(9600); radio.begin(); radio.setAutoAck(1); radio.setRetries(0, 15); radio.enableAckPayload(); radio.setPayloadSize(32); radio.openWritingPipe(address[0]); radio.setChannel(0x60); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.powerUp(); radio.stopListening(); } void loop() { transmit_data[0] = map(analogRead(potent), 0, 1023, 0, 180); transmit_data[1]= map(analogRead(motor),0,1023,0,255); for (int i = 0; i < 3; i++) { if (transmit_data[i] != latest_data[i]) { flag = 1; latest_data[i] = transmit_data[i]; } } if (flag == 1) { radio.powerUp(); radio.write(&transmit_data, sizeof(transmit_data)); flag = 0; radio.powerDown(); } }
JesterKING - что непонятно из того, что я вам уже ответил у Гайвера?
В приемнике строка 25 - вы правда думаете, что достаточно приравнять motor элементу массива один раз и переменная будет обновляться сама?
Подумайте над ответами сначала, прежде чем новые вопросы задавать.
ой мама... посмотрел в поиске - да ТС уже который раз приходит с этим кодом. Поменяет пару операторов, подождет два-три месяца - и снова с тем же вопросом, авось прокатит.
JesterKING - вы за это время весь учебник Си наизусть могли бы выучить... не то что скетч написать
опять я злой?
"это не мы злые, это жисть такая!" (с)
опять я злой?
"это не мы злые, это жисть такая!" (с)
Велосипеда-то поди нету?