управление brokk(электрогидравлический робот разрушитель) при помощи ардуино

isus88
Offline
Зарегистрирован: 03.07.2015

приветствую форумчан, нужна помощь со скетчем ,как организовать плавное управление 18 катушек гидро клапанов двумя ардуинами по трем четырем проводам . управляться все это дело должно двумя 3d джойстиками и четырмя кнопками . проблема в том что не можем даже соеденить по проводам две ардуинки . скетч на приемник(ардуинку) просто не записываеться выскакивает ошибка (не компелируеться)

James
Offline
Зарегистрирован: 26.02.2016

сочувствую. перекрестите компилятор, ну или напишите, код и ругань на вас компилятора

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а зачем 2 ардуины? пинов не хватает?

isus88
Offline
Зарегистрирован: 03.07.2015

скетч для ардуины которая принимает данные вот такая ошибка

C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino: In function 'void setup()':
 
sketch_oct03a:9: error: 'Serial1' was not declared in this scope
 
 Serial1.begin(9600);
 
 ^
 
C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino: In function 'void loop()':
 
sketch_oct03a:17: error: 'Serial1' was not declared in this scope
 
 if (Serial1.available()) {
 
     ^
 
sketch_oct03a:33: error: call of overloaded 'println(char [4], int)' is ambiguous
 
 Serial.println(str,4);
 
                     ^
 
C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino:33:21: note: candidates are:
 
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,
 
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,
 
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:232,
 
                 from sketch\sketch_oct03a.ino.cpp:1:
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:74:12: note: size_t Print::println(unsigned char, int) <near match>
 
     size_t println(unsigned char, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:74:12: note:   no known conversion for argument 1 from 'char [4]' to 'unsigned char'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:75:12: note: size_t Print::println(int, int) <near match>
 
     size_t println(int, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:75:12: note:   no known conversion for argument 1 from 'char [4]' to 'int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:76:12: note: size_t Print::println(unsigned int, int) <near match>
 
     size_t println(unsigned int, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:76:12: note:   no known conversion for argument 1 from 'char [4]' to 'unsigned int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:77:12: note: size_t Print::println(long int, int) <near match>
 
     size_t println(long, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:77:12: note:   no known conversion for argument 1 from 'char [4]' to 'long int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:78:12: note: size_t Print::println(long unsigned int, int) <near match>
 
     size_t println(unsigned long, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:78:12: note:   no known conversion for argument 1 from 'char [4]' to 'long unsigned int'
 
exit status 1
'Serial1' was not declared in this scope
 
Неверная библиотека найдена в C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt: C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt
Неверная библиотека найдена в C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt: C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt
isus88
Offline
Зарегистрирован: 03.07.2015

пытаемся сабрать пульт поэтому и две

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

пульт далеко от исполнительного устройства?

можно же применить джойстик беспроводной от ps2. правда дальность небольшая. но там и кнопок достаточно и джойстики есть

isus88
Offline
Зарегистрирован: 03.07.2015

метров 5-10

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я точно не помню. нодо 10 метров вроде все работало

isus88
Offline
Зарегистрирован: 03.07.2015

условия работы не те (подземные ) пульт будет собираться в влагозащитном корпусе

 не малых размеров

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну вообще никто не запрещает разобрать пульт. но это конечно глупо, проводная связь почему? требования к помехозащищенности?

хотя чего я тут спрашиваю. по ошибка получается связь по uart. что зачем и как не описаною. может с этого начать

isus88
Offline
Зарегистрирован: 03.07.2015

без раздницы какая связь а если этот пульт допустим разберем и вкарячим его в корпус какой приемник нужен 

isus88
Offline
Зарегистрирован: 03.07.2015

к стати на счет ошибки на плату скетч для Arduino, который передает данные заливаеться а на вторую фиг и кстати вроде вычитал что это из за еденицы в if (Serial1.available и везде в serial 

 к стати удалил еденички теперь другая

C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino: In function 'void loop()':

 
sketch_oct03a:33: error: call of overloaded 'println(char [4], int)' is ambiguous
 
 Serial.println(str,4);
 
                     ^
 
C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino:33:21: note: candidates are:
 
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,
 
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,
 
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:232,
 
                 from sketch\sketch_oct03a.ino.cpp:1:
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:74:12: note: size_t Print::println(unsigned char, int) <near match>
 
     size_t println(unsigned char, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:74:12: note:   no known conversion for argument 1 from 'char [4]' to 'unsigned char'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:75:12: note: size_t Print::println(int, int) <near match>
 
     size_t println(int, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:75:12: note:   no known conversion for argument 1 from 'char [4]' to 'int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:76:12: note: size_t Print::println(unsigned int, int) <near match>
 
     size_t println(unsigned int, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:76:12: note:   no known conversion for argument 1 from 'char [4]' to 'unsigned int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:77:12: note: size_t Print::println(long int, int) <near match>
 
     size_t println(long, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:77:12: note:   no known conversion for argument 1 from 'char [4]' to 'long int'
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:78:12: note: size_t Print::println(long unsigned int, int) <near match>
 
     size_t println(unsigned long, int = DEC);
 
            ^
 
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:78:12: note:   no known conversion for argument 1 from 'char [4]' to 'long unsigned int'
 
exit status 1
call of overloaded 'println(char [4], int)' is ambiguous
 
Неверная библиотека найдена в C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt: C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt
Неверная библиотека найдена в C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt: C:\Users\Пользователь\Documents\Arduino\libraries\readme.txt
 
jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

там приемник в комплекте. но смысла в этом нет, весь смысл использовать собранный. если свой корпус сделать лучше не использовать. ну как вариант могу предложить беспроводную связь на nrf24l01. инструкция есть и примеры для связи. полчаса назад еще один проверил работоспособность либы и примеров

меня скоро тыкать будут. ты везде свою инструкцию пихаешь)))

James
Offline
Зарегистрирован: 26.02.2016

там где-то в коде ищи двойное объявление переменной. Где-то тип не тот... блин без кода тяжеловато

isus88
Offline
Зарегистрирован: 03.07.2015

удалил из скетча Serial.println(str,4);

загрузилось что только теперь получилось у нас?

// скетч для Arduino, который принимает данные

char str[4];

void setup() {

Serial.begin(9600);

Serial.begin(9600);

}

void loop() {

int i=0;

if (Serial.available()) {

delay(100);

while(Serial.available() && i<4) {

str[i++] = Serial.read();

}

str[i++]='\0';

}

if(i>0) {

}

}

 

James
Offline
Зарегистрирован: 26.02.2016
// скетч для Arduino, который принимает данные

char str[4];

void setup() {

Serial.begin(9600);

}

void loop() {

int i=0;

if (Serial.available()) {

delay(100);

while(Serial.available() && i<4) {

str[i] = Serial.read();
i++;

}

str[i]='\0';

}

if(i>0) {//что это?

}

}

 

isus88
Offline
Зарегистрирован: 03.07.2015

еслиб я знал скажи какие нам скетчи залить в платы приемника и передатчика

мы пытаемся пока их просто соеденить между собой

да нам связь получаеться нада одностороняя передатчик отправляет приемник выполняет как это зделать\

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

делай тогда на проводах. а то еще модули покупать и разбираться. хотя там пример есть для передатчика и приемника. ничего сложного

isus88
Offline
Зарегистрирован: 03.07.2015

со связью разобрались чуть лампочка мигает вот этими скетчами

const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

 

 

void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print('H');
delay(500);
Serial.print('L');
delay(500);
}

не можем теперь разобраться как например есть серва и 3d джойстик какой должен быть код что бы серву подключить к одной плате а джойстик к другой и упровлять им сервой

James
Offline
Зарегистрирован: 26.02.2016

во второй кусок добавить чтение джойстика и switch на кнопки, при нажатии- отправка команды