Помогите сделать самое простое управление для робота на 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
01byte incomingByte;
02 
03void setup()
04{
05  Serial.begin(9600);
06}
07 
08void loop( )
09{
10  if ( Serial.available( ) > 0)      //если есть доступные данные
11  {                              
12    incomingByte = Serial.read( );   // считываем байт
13  }
14 
15  switch ( incomingByte )
16    {
17      case '8':
18        {
19          // ваш код реализации движения вперёд
20        }
21      break;
22      case '2':
23        {
24          // ваш код реализации движения назад
25        }
26      break;
27      case '4':
28        {
29          // ваш код реализации движения влево
30        }
31      break;
32      case '6':
33        {
34          // ваш код реализации движения вправо
35        }
36      break;
37      case '5':
38        {
39          // ваш код реализации останова
40        }
41      break;
42//    default:     // default необязателен, выполняется, если не выбрана ни одна альтернатива
43    }
44     
45// другие действия
46     
47}

 

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

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