21.04.2017, 11:25 | #1 |
Junior Member
Регистрация: 23.03.2017
Сообщений: 11
Вес репутации: 0 |
wifi 3020 и (тележка) arduino uno
Доброго дня уважаемые формучане, начну по порядку.
Мною был куплен базовый комплект робота на гусеницах Развернуть для просмотра[свернуть] все работает по bt и проблем нет( сейчас он конструктивно иначе выглядит но суть не меняется) примерный скетч (двигатели шевелятся). Развернуть для просмотраint pinLB = 12; // define pin 12
int pinLF = 3; // define pin 3 int pinRB = 13; // define pin 13 int pinRF = 11; // define pin 11 int val; void setup() { Serial.begin(9600); // define pin for motor output pinMode(pinLB,OUTPUT); // pin 12 pinMode(pinLF,OUTPUT); // pin 3 (PWM) pinMode(pinRB,OUTPUT); // pin 13 pinMode(pinRF,OUTPUT); // pin 11 (PWM) } void advance() // move forward { digitalWrite(pinLB,LOW); // right wheel moves forward digitalWrite(pinRB, LOW); // left wheel moves forward analogWrite(pinLF,255); analogWrite(pinRF,255); } void stopp() // stop { digitalWrite(pinLB,HIGH); digitalWrite(pinRB,HIGH); analogWrite(pinLF,0); analogWrite(pinRF,0); } void right() // turn right (single wheel) { digitalWrite(pinLB,HIGH); // left wheel moves forward digitalWrite(pinRB,LOW); // right wheel moves backward analogWrite(pinLF, 255); analogWrite(pinRF,255); } void left() // turn left (single wheel) { digitalWrite(pinLB,LOW); // left wheel moves forward digitalWrite(pinRB,HIGH); // right wheel moves backward analogWrite(pinLF, 255); analogWrite(pinRF,255); } void back() // move backward {digitalWrite(pinLB,HIGH); // motor moves to left rear digitalWrite(pinRB,HIGH); // motor moves to right rear analogWrite(pinLF,255); analogWrite(pinRF,255); } void loop() { val=Serial.read(); if(val=='U')advance(); if(val=='D')back(); if(val=='L')left() ; if(val=='R')right(); if(val=='S')stopp(); } [свернуть] Решил сделать из него wifi тележку и столкнулся с такой проблемой. собрал, подключил wifi tp-link 3020, залил в него CyberBot, как положено, но тележка не шевелится и индикация rx tx на самом uno молчит. Провел много времени на форумах, нашел тестовые скетчи, в итоге убедился в связке роутера и uno, но вот запустить эту систему так и не смог, как только все делаю по инструкции, заливаю вот этот скетч, тишина.. и мертвые скосами стоят вот что заливал в урдуйну: Развернуть для просмотраPHP код:
[свернуть] прошу помощи у тех кто запускал что нибудь подобное, помочь разобраться, самому, хотя бы подобными скетчами поделиться. Что делал: скорость обмена менял, тестировал всю цепочку обмена роутер-ардуина при тесте лампочки моргают но как только дело доходит до скетча, жмакаю на кнопки веб мордочки, но ничего не происходит |
21.04.2017, 14:28 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
А с сериал монитора пробовали команды посылать?
|
21.04.2017, 15:09 | #3 |
Junior Member
Регистрация: 23.03.2017
Сообщений: 11
Вес репутации: 0 |
|
21.04.2017, 16:02 | #4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Например послать команду "W"
Сериал монитор находится в ArduinoIDE |
27.04.2017, 00:02 | #5 |
Junior Member
Регистрация: 23.03.2017
Сообщений: 11
Вес репутации: 0 |
|
27.04.2017, 00:06 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
А драйвера движков к каким пинам подключены?
|
27.04.2017, 12:16 | #7 |
Junior Member
Регистрация: 23.03.2017
Сообщений: 11
Вес репутации: 0 |
Да, если запустить "тестовый" скетч работающий от BT, то все ок.
Ради интереса, подскажите пожалуйста использую первый скетч (тот что работает от bt) можно ли подать через сериал монитор команду на движение, если можно то какую? |
27.04.2017, 12:35 | #8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
В скетчах Пины совершенно разные
|
11.06.2017, 02:04 | #9 |
Junior Member
Регистрация: 23.03.2017
Сообщений: 11
Вес репутации: 0 |
Развернуть для просмотраint pinLB = 12; // define pin 12
int pinLF = 3; // define pin 3 int pinRB = 13; // define pin 13 int pinRF = 11; // define pin 11 int val; void setup() { Serial.begin(115200); // define pin for motor output 115200 pinMode(pinLB,OUTPUT); // pin 12 pinMode(pinLF,OUTPUT); // pin 3 (PWM) pinMode(pinRB,OUTPUT); // pin 13 pinMode(pinRF,OUTPUT); // pin 11 (PWM) } void advance() // move forward { digitalWrite(pinLB,LOW); // right wheel moves forward digitalWrite(pinRB, LOW); // left wheel moves forward analogWrite(pinLF,255); analogWrite(pinRF,255); } void stopp() // stop { digitalWrite(pinLB,HIGH); digitalWrite(pinRB,HIGH); analogWrite(pinLF,0); analogWrite(pinRF,0); } void right() // turn right (single wheel) { digitalWrite(pinLB,HIGH); // left wheel moves forward digitalWrite(pinRB,LOW); // right wheel moves backward analogWrite(pinLF, 255); analogWrite(pinRF,255); } void left() // turn left (single wheel) { digitalWrite(pinLB,LOW); // left wheel moves forward digitalWrite(pinRB,HIGH); // right wheel moves backward analogWrite(pinLF, 255); analogWrite(pinRF,255); } void back() // move backward {digitalWrite(pinLB,HIGH); // motor moves to left rear digitalWrite(pinRB,HIGH); // motor moves to right rear analogWrite(pinLF,255); analogWrite(pinRF,255); } void loop() { val=Serial.read(); if(val=='W')advance(); if(val=='S')back(); if(val=='A')left() ; if(val=='D')right(); if(val=='X')stopp(); } [свернуть] все заработало,теперь бы как нибудь внести команду "стоп" дабы тележка при обрыве связи а также после отпускания кнопки, останавливалась. |
18.06.2017, 18:49 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
В CyberBot3 все реализовано
|
Здесь присутствуют: 8 (пользователей: 0 , гостей: 8) | |
|
|