Notice: unserialize(): Error at offset 3920 of 5063 bytes in /var/www/vhosts/rus-robots.ru/4robots.ru/plugins/aceadminpanel/config/config.custom.php on line 23 Стартовый пульт RobotChallenge / Спортивная робототехника / LiveStreet - бесплатный движок социальной сети

Стартовый пульт RobotChallenge

 
На соревнованиях Robotchallenge(Австрия, Вена) для запуска Сумо роботов используется стартовый пульт.
 

 


И он попал ко мне в руки :) На выходных я собрал небольшой испытательный стендик и считал что нам шлет этот пульт.

На самом деле вся информация есть в документации :) но когда проверяешь сам, то точно знаешь как же оно работает.

Пульты формируют команды в формате RC-5(12 бит). 
 
— 2 стартовых бита.
— 1 управляющий бит.
— 5 бит адреса системы.
— 6 бит команды.
 
Разработчики пульта используют:
Запуск-остановка
Адрес системы для запуска и остановки: 0x07=0b00111 
Формирование команды: startCommand = stopCommand +1;
 
Програмирование
Адрес системы для програмирования: 0x0B=0b01011
Формирование команды остановки (stopCommand).
 
В отдельной документации на пульт так же есть информация что использовать для комманд можно коды 2-31. Никаких свзязок и указаний почему нет. Дело в том что у старовых модулей есть HOME mode когда
Старт происходит по RC-5 = 1 а  остановка по RC-5 = 2.
 
Настройка команды производится DIP переключателем, промаркирован он с 1 до 5, это соответствует битам в команде.
Результаты того считал:
DIP = 00000
Decoded RC5 (12 bits): 0x0b41, 101101000001, Adress: 1101, Command: 1
Decoded RC5 (12 bits): 0x0b42, 101101000010, Adress: 1101, Command: 10
10000
--
--
DIP = 01000
Decoded RC5 (12 bits): 0x09c5, 100111000101, Adress: 111, Command: 101
Decoded RC5 (12 bits): 0x09c4, 100111000100, Adress: 111, Command: 100
Decoded RC5 (12 bits): 0x0ac4, 101011000100, Adress: 1011, Command: 100
DIP = 11000
Decoded RC5 (12 bits): 0x09c7, 100111000111, Adress: 111, Command: 111
Decoded RC5 (12 bits): 0x09c6, 100111000110, Adress: 111, Command: 110
Decoded RC5 (12 bits): 0x0ac6, 101011000110, Adress: 1011, Command: 110
...
DIP = 11111
Decoded RC5 (12 bits): 0x09ff, 100111111111, Adress: 111, Command: 111111
Decoded RC5 (12 bits): 0x09fe, 100111111110, Adress: 111, Command: 111110
Decoded RC5 (12 bits): 0x0afe, 101011111110, Adress: 1011, Command: 111110

По просьбе интересующихся выкладываю код которым получены эти данные


// RemoteControl short russian description http://4robots.ru/blog/SportRobots/1680.html
// StartModule short russian description http://rus-robots.ru/dlya-sportsmenov/informacionnye-materialy/ik-moduli/

#include <IRremote.h>

int RECV_PIN = 10;

IRrecv irrecv(RECV_PIN);

decode_results results;
byte adressRC5, commandRC5;

char buffer[50]; 

void setup()
{
  Serial.begin(115200);
  irrecv.enableIRIn(); // Start the receiver
}

void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == RC5) {
      adressRC5 = (results->value & 0x3c0) >> 6;
      commandRC5 = results->value & 0x3F;
      sprintf(buffer,"Decoded RC5 (%02d bits): 0x%04x, ", results->bits, results->value); 
      Serial.print(buffer);
      Serial.print(results->value, BIN);
      Serial.print(", Adress: ");
      Serial.print(adressRC5, BIN);
      Serial.print(", Command: ");
      Serial.println(commandRC5, BIN);     
  } 
  else {
    Serial.println("Not RC5!");
  }
}

void loop() {
  if (irrecv.decode(&results)) {
    dump(&results);
    irrecv.resume(); // Receive the next value
  }
}

 

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
RoboRing.Ru
<< | list | ? | >>