управление brokk(электрогидравлический робот разрушитель) при помощи ардуино
- Войдите на сайт для отправки комментариев
Ср, 09/11/2016 - 17:54
приветствую форумчан, нужна помощь со скетчем ,как организовать плавное управление 18 катушек гидро клапанов двумя ардуинами по трем четырем проводам . управляться все это дело должно двумя 3d джойстиками и четырмя кнопками . проблема в том что не можем даже соеденить по проводам две ардуинки . скетч на приемник(ардуинку) просто не записываеться выскакивает ошибка (не компелируеться)
сочувствую. перекрестите компилятор, ну или напишите, код и ругань на вас компилятора
а зачем 2 ардуины? пинов не хватает?
скетч для ардуины которая принимает данные вот такая ошибка
пытаемся сабрать пульт поэтому и две
пульт далеко от исполнительного устройства?
можно же применить джойстик беспроводной от ps2. правда дальность небольшая. но там и кнопок достаточно и джойстики есть
метров 5-10
я точно не помню. нодо 10 метров вроде все работало
условия работы не те (подземные ) пульт будет собираться в влагозащитном корпусе
не малых размеров
ну вообще никто не запрещает разобрать пульт. но это конечно глупо, проводная связь почему? требования к помехозащищенности?
хотя чего я тут спрашиваю. по ошибка получается связь по uart. что зачем и как не описаною. может с этого начать
без раздницы какая связь а если этот пульт допустим разберем и вкарячим его в корпус какой приемник нужен
к стати на счет ошибки на плату скетч для Arduino, который передает данные заливаеться а на вторую фиг и кстати вроде вычитал что это из за еденицы в if (Serial1.available и везде в serial
к стати удалил еденички теперь другая
C:\Users\73B5~1\AppData\Local\Temp\untitled1382704038.tmp\sketch_oct03a\sketch_oct03a.ino: In function 'void loop()':
там приемник в комплекте. но смысла в этом нет, весь смысл использовать собранный. если свой корпус сделать лучше не использовать. ну как вариант могу предложить беспроводную связь на nrf24l01. инструкция есть и примеры для связи. полчаса назад еще один проверил работоспособность либы и примеров
меня скоро тыкать будут. ты везде свою инструкцию пихаешь)))
там где-то в коде ищи двойное объявление переменной. Где-то тип не тот... блин без кода тяжеловато
удалил из скетча 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) { } }// скетч для 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) {//что это? } }еслиб я знал скажи какие нам скетчи залить в платы приемника и передатчика
мы пытаемся пока их просто соеденить между собой
да нам связь получаеться нада одностороняя передатчик отправляет приемник выполняет как это зделать\
делай тогда на проводах. а то еще модули покупать и разбираться. хотя там пример есть для передатчика и приемника. ничего сложного
со связью разобрались чуть лампочка мигает вот этими скетчами
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 джойстик какой должен быть код что бы серву подключить к одной плате а джойстик к другой и упровлять им сервой
во второй кусок добавить чтение джойстика и switch на кнопки, при нажатии- отправка команды