Помогите найти ошибку.
- Войдите на сайт для отправки комментариев
Пнд, 26/09/2016 - 09:56
Всем привет!
Скачал скетч приёмника радиоуправляемого танка. При компиляции выдает ошибку.

Помогите пожалуйста или ткните куда копать.
#define led 8
#include <SPI.h>
#include "RF24.h"
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
//int msg[1];
int msg[1];
int msh[1];
boolean ledOn = false;
boolean lastBut = HIGH;
long time = 0;
long debounce = 300;
int data;
int data1;
int pos;
int fspeed; // движение вперед
int bspeed; // движение назад
int steer;
int MotoL, MotoR;
int ValStickX, ValStickY;
const int in1 = 7; // direction pin 1
const int in2 = 6; // direction pin 2
const int in3 = 4; // direction pin 1
const int in4 = 2; // direction pin 2
const int ena = 5; // PWM pin to change speed
const int enb = 3;
byte IsConnect;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
pinMode(in1, OUTPUT); // connection to L298n
pinMode(in2, OUTPUT); // connection to L298n
pinMode(ena, OUTPUT); // connection to L298n
pinMode(in3, OUTPUT); // connection to L298n
pinMode(in4, OUTPUT); // connection to L298n
pinMode(enb, OUTPUT); // connection to L298n
//servo1.attach(3);
// delay(10);
radio.begin();
radio.openReadingPipe(1,pipe);
// radio.openReadingPipe(pipe);
radio.startListening();
}
void loop() {
if (radio.available()){
radio.read(msg, 1);
IsConnect = HIGH;
}
else{
IsConnect = LOW;
}
if (msh[1] == 255 && lastBut == HIGH && millis() - time > debounce)
{
ledOn = !ledOn;
lastBut = HIGH;
time = millis();
}
else // Иначе,
{
lastBut = digitalRead(lastBut);
}
digitalWrite(led, ledOn);
Serial.println(msh[1]);
if (msg[0] <128 && msg[0] >-1){
data = msg[0];
ValStickX = map(data, 0, 127, -255, 254);
}
if (msg[0] < 254 && msg[0] > 127){
data = msg[0];
ValStickY = map(data, 128, 255, -255, 254);
}
if(abs(ValStickX) < 20){
ValStickX = 0;
}
if(abs(ValStickY) < 20){
ValStickY = 0;
}
MotoL = ValStickX - (ValStickY /1.2);
MotoR = ValStickX + (ValStickY /1.2);
if(IsConnect==LOW){
MotoL=0;
}
if(IsConnect==LOW){
MotoR=0;
}
// Serial.println("ML: "+String(MotoL)+", MR: "+String(MotoR));
if(MotoL > 255){
MotoL = 255;
}
if(MotoR > 255){
MotoR = 255;
}
if(MotoL < -255){
MotoL = -255;
}
if(MotoR < -255){
MotoR = -255;
}
loop() {Control4WD(MotoL, MotoR); }
}
void Control4WD(int mLeft, int mRight){
// Serial.println("ML: "+String(mLeft)+", MR: "+String(mRight));
bool directionL, directionR; // направление вращение для L298N
byte valueL, valueR; // значение ШИМ M1, M2 (0-255)
if(mLeft > 0){
valueL = mLeft;
directionL = 0;
}
else if(mLeft < 0){
valueL = abs(mLeft);
directionL = 1;
}
else{
directionL = 0;
valueL = 0;
}
if(mRight > 0){
valueR = mRight;
directionR = 0;
}
else if(mRight < 0){
valueR = abs(mRight);
directionR = 1;
}
else {
directionR = 0;
valueR = 0;
}
digitalWrite(in1, directionL);
digitalWrite(in2, !directionL);
digitalWrite(in3, directionR);
digitalWrite(in4, !directionR);
analogWrite(ena, valueL);
analogWrite(enb, valueR);
}
блин, ну возьмите аглицкий переводчик и прочитайте что вам написал компилятор
щас прийдёт Клапауций и пошлёт вас в жопу
щас прийдёт Клапауций и пошлёт вас в жопу
поздно - я уже пришёл.
ТС, иди... ну, ты понял. :D
блин, ну возьмите аглицкий переводчик и прочитайте что вам написал компилятор
щас прийдёт Клапауций и пошлёт вас в жопу
Это первое ,что я сделал.
ну прекрасно что перевели
теперь разберитесь со скобками
а если какие то серьёзные проблемы тогда и на форуме можно вопрос задать
Это первое ,что я сделал.
Вроде разобрался.
Всем спасибо.
UPD: Блин, сам в скобочках запутался... Строку 114 заменить на Control4WD(MotoL, MotoR);