Помогите сделать самое простое управление для робота на 2х сервах через usb

olegshapoval
Offline
Зарегистрирован: 25.06.2014

Выиграл в конкурсе робота паука. Надо было собрать его и запрограммировать для ходьбы по квадрату, но теперь хочу сделать управление просто через шнур для начала. Плата ардуино леонардо. Помогите пожалуйста скеч составить!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

отправляем по Сериалу буковки A - аверс, R - реверс, S - стоп

на ардуине принимаем буковку и через CASE управляем сервами - вперёд, назад, стоп ( они у Вас уже реализованы )

дайте код, где паук ходит по квадрату.... 

 

дальше можно будет перейти на радиоуправление по модулю nRF24

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

с дополнительной клавиатуры компа - как во всех играх

8 - вперёд

2 - назад

4 - влево

6 - вправо

5 - стоп

olegshapoval
Offline
Зарегистрирован: 25.06.2014

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

скетч на квадрат:

#include <Servo.h>
 
Servo myservol;
Servo myservor;
void setup()
{
  myservol.attach(10);
  myservor.attach(9);
}
void loop (){
   myservol.write(180);
   myservor.write(0);
  delay(7000);
   myservol.write(180);
   myservor.write(180);
  delay(3700);
  myservol.write(180);
   myservor.write(0);
  delay(7000);
    myservol.write(180);
   myservor.write(180);
  delay(3700);
    myservol.write(180);
   myservor.write(0);
  delay(7000);
  myservol.write(180);
  myservor.write(180);
  delay(3700);
  myservol.write(180);
   myservor.write(0);
  delay(7000);
  myservol.write(90);
   myservor.write(90);
  delay(7000);
}

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

byte incomingByte;

void setup()
{
  Serial.begin(9600);
}

void loop( )
{
  if ( Serial.available( ) > 0)      //если есть доступные данные
  {                               
    incomingByte = Serial.read( );   // считываем байт
  }

  switch ( incomingByte )
    {
      case '8':
        {
          // ваш код реализации движения вперёд
        }
      break;
      case '2':
        {
          // ваш код реализации движения назад
        }
      break;
      case '4':
        {
          // ваш код реализации движения влево
        }
      break;
      case '6':
        {
          // ваш код реализации движения вправо
        }
      break;
      case '5':
        {
          // ваш код реализации останова
        }
      break;
//    default:     // default необязателен, выполняется, если не выбрана ни одна альтернатива
    }
    
// другие действия
    
}

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

да - команды передаются через Serial Monitor

olegshapoval
Offline
Зарегистрирован: 25.06.2014

Спасибо большое друг обязательно сейчас испытаю)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а как же чемпионат мира ? :(

испытать - не главное.... поймите-изучите как это работает :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

и изучите - как вставлять в комментарий текст кода ( сравните форматирование кода в сообщениях #3 и #4 )

Форум > Общий > Тема 3 и 2 приклеенные

olegshapoval
Offline
Зарегистрирован: 25.06.2014

Спасбо еще раз все отлично работает правда пришлось кое что добавить. Ну я апринципе понял как эти команды работаю просто я их не знал. А как вставлять обязательно почитаю. А еще вопрос возможно ли управлять без постоянной отправки через enter?

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

управление по nRF24 для Вас будет пока сложнова-то, моя предложил бы Вам установить на паука инфракрасный приёмник и гонять его пультом от телевизора, например ( конешшшна же этот вопрос надо сначала изучить ! Вам Лешак очень правильно всё объяснил..... )

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

низя ( если использовать Сериал Монитор ) - мона и от мышки компа управлять ( но это - не ко мне :)  )

Ваш следующий шаг - сообщение #10, мне так кажется

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

http://arduino.ru/Reference

а здесь всё прочитали-изучили ? 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ИК-управление проще, ибо для радиоуправления придётся приобрести ещё одну Ардуину

olegshapoval
Offline
Зарегистрирован: 25.06.2014

Нет еще я всего 3 день этим занимаюсь, да и нет особо возможности я сейчас на молоежном форуме Iволга и в интернете сидеть не всегда могу, как вернусь домой замусь вопросом беспроводного управления)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

удачи !

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

три дня - этого мало, но время мона уплотнять - например - три дня и две ночи.... :) После Иволги, конечно же....