Help

petralfrolov
Offline
Зарегистрирован: 24.04.2018

Ардуинка с любимого алиэкспресс.

Вот такая ошибка: 

exit status 1 Ошибка компиляции для платы Arduino Nano

Драйвера есть.

Текст программы: #include <mirfhardwarespidriver.h>

#include "nRF24L01.h" 
RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL; 
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, 127),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);
 
  
}
 
 
Прошу помощи с решением проблемы ;)
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

1. Вставьте код как положено!

2. Скопируйте сообщение об ошибке полностью. Там написано и что за ошибки и в какой строке - зачем Вы это от нас скрываете?

Тогда поговорим.

petralfrolov
Offline
Зарегистрирован: 24.04.2018
Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Плата:"Arduino Nano, ATmega328P"
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino:1:35: fatal error: mirfhardwarespidriver.h: No such file or directory
 
 #include <mirfhardwarespidriver.h>
 
                                   ^
 
compilation terminated.
 
exit status 1
Ошибка компиляции для платы Arduino Nano.
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

По поводу сообщения, там есть фраза: "mirfhardwarespidriver.h: No such file or directory" Какое из слов Вам в ней непонятно?

По поводу всего остального, повторяю: Вставьте код как положено!

petralfrolov
Offline
Зарегистрирован: 24.04.2018
#include <mirfhardwarespidriver.h>
#include "nRF24L01.h" 
RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL; 
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, 127),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);

  
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, вот так-то лучше.

Но по сообщению Вы поняли, что файла mirfhardwarespidriver.h, указанного в строке №1 у Вас нет (или лежит не в том месте и система не может его найти).

petralfrolov
Offline
Зарегистрирован: 24.04.2018

С библиотекой разобрался, теперь следующая ошибка: 'RF24' does not name a type

Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Плата:"Arduino Nano, ATmega328P"
 
sketch_peredatchik-korablik-02:8: error: 'RF24' does not name a type
 
 RF24 radio(9,10);
 
 ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino: In function 'void setup()':
 
sketch_peredatchik-korablik-02:17: error: 'radio' was not declared in this scope
 
 radio.begin();
 
 ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino: In function 'void loop()':
 
sketch_peredatchik-korablik-02:22: error: 'radio' was not declared in this scope
 
 val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 127),msg[0] = val_1,radio.write(msg, 1);
 
                                                                                 ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_priemnik-korablik-02.ino: At global scope:
 
sketch_priemnik-korablik-02:8: error: redefinition of 'const uint64_t pipe'
 
 const uint64_t pipe = 0xF0F0F0F000LL; 
 
                ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino:9:16: note: 'const uint64_t pipe' previously defined here
 
 const uint64_t pipe = 0xF0F0F0F000LL; 
 
                ^
 
sketch_priemnik-korablik-02:9: error: redefinition of 'int msg [1]'
 
 int msg[1]; 
 
          ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino:10:5: note: 'int msg [1]' previously declared here
 
 int msg[1]; 
 
     ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_priemnik-korablik-02.ino: In function 'void setup()':
 
sketch_priemnik-korablik-02:18: error: redefinition of 'void setup()'
 
 void setup()
 
      ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino:16:6: note: 'void setup()' previously defined here
 
 void setup(void){
 
      ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_priemnik-korablik-02.ino: In function 'void loop()':
 
sketch_priemnik-korablik-02:31: error: redefinition of 'void loop()'
 
 void loop()
 
      ^
 
C:\Users\petra\Downloads\sketch_peredatchik-korablik-02\sketch_peredatchik-korablik-02.ino:21:6: note: 'void loop()' previously defined here
 
 void loop() {
 
      ^
 
exit status 1
'RF24' does not name a type
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

petralfrolov пишет:

С библиотекой разобрался, теперь следующая ошибка: 'RF24' does not name a type

И что Вас смущает? Ну, не описан нигде тип RF24.
 
А где он, по-Вашему описан?
petralfrolov
Offline
Зарегистрирован: 24.04.2018
#include <Servo.h>
#include <SPI.h>
#include "RF24.h"
Servo servo1;

RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL; 
int msg[1]; 
int data; 
int pos;
int fspeed;           // forward speed 
int bspeed;           // backward speed
const int in1 = 2;    // direction pin 1
const int in2 = 4;    // direction pin 2
const int ena = 5;    // PWM pin to change speed

void setup()
{
  
  pinMode(in1, OUTPUT);      // connection to L298n
  pinMode(in2, OUTPUT);      // connection to L298n
  pinMode(ena, OUTPUT);      // connection to L298n
servo1.attach(3); 
delay(50);
radio.begin();
radio.openReadingPipe(1,pipe); 
radio.startListening();
}

void loop()
{
  if (radio.available())radio.read(msg, 1);
  if (msg[0] <127 && msg[0] >-1)data = msg[0], pos = map(data, 0, 126, 7, 67),servo1.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);
}

ЕвгенийП пишет:

petralfrolov пишет:

С библиотекой разобрался, теперь следующая ошибка: 'RF24' does not name a type

И что Вас смущает? Ну, не описан нигде тип RF24.
 
А где он, по-Вашему описан?

Меня, если честно, смущает все, ведь с ардуиной работаю первый раз)

+ к скетчу приемника компилируется, но выдает следующее: Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Плата:"Arduino Nano, ATmega328P"

 
Изменены опции сборки, пересобираем все
Скетч использует 3668 байт (11%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 79 байт (3%) динамической памяти, оставляя 1969 байт для локальных переменных. Максимум: 2048 байт.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x50
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x50
Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Давайте не будем прыгать с одного на другое. Вы заметили, что один скетч у Вас компилируется с RF24, а другой - говорит не такого типа? Ну, и смотрите в чём разница. В том, что нормально компилируется Вы написали 

#include "RF24.h"

а в том, что отказывается, почему-то нет. Ну, и исправляйте!

А последний Ваш пост - это она в плату загрузить не может. Причин может быть 100500. Ну, например, у Вас стоят драйверы? Правильные? Под Вашу плату? Если не понимаете о чём я спрашиваю, говорите, что за плата (ссылку давайте) и какие драйверы Вы ставили.

petralfrolov
Offline
Зарегистрирован: 24.04.2018

Уже обнаружил проблему - был выставлен не тот COM порт. Спасибо за помощь, всех благ вам)