1903serial joy: различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
 (Новая страница: «<code>  //////////////////////////////////////////////  //     2018.08.08 woronin,  umkiedu@gmail.com  //     Bluetooth Robot UMKI controller K6_mini  //     тр…»)  | 
				Evgen (обсуждение | вклад)  Нет описания правки  | 
				||
| Строка 1: | Строка 1: | ||
<  | <syntaxhighlight lang="C++">  | ||
  //////////////////////////////////////////////  |   //////////////////////////////////////////////  | ||
  //     2018.08.08 woronin,  umkiedu@gmail.com  |   //     2018.08.08 woronin,  umkiedu@gmail.com  | ||
| Строка 15: | Строка 15: | ||
  int byte_start[]   = {0, 0,   0,   0, 4, 0, 2};  |   int byte_start[]   = {0, 0,   0,   0, 4, 0, 2};  | ||
  int press_but = 0;  |   int press_but = 0;  | ||
void setup() {  | |||
   BTSerial.begin(9600); // инициализируем  порт блютус  |    BTSerial.begin(9600); // инициализируем  порт блютус  | ||
   Serial.begin(9600);   // инициализируем  порт сериал - шнур USB  |    Serial.begin(9600);   // инициализируем  порт сериал - шнур USB  | ||
}  | |||
void loop() // выполняем циклически опрос порта и отправляем все байты с блютуса в шнур  | |||
{  | |||
   int inByte[25], i, count; //i - это элемент массива команды из 7 байт  |    int inByte[25], i, count; //i - это элемент массива команды из 7 байт  | ||
   count = BTSerial.available();  |    count = BTSerial.available();  | ||
| Строка 55: | Строка 57: | ||
   }  |    }  | ||
   // конец разбор принятых байт  |    // конец разбор принятых байт  | ||
}  | |||
</  | </syntaxhighlight>  | ||
[[Категория:Видео эпизоды УМКИ]]  | [[Категория:Видео эпизоды УМКИ]]  | ||
[[Категория:Примеры программирования Arduino]]  | |||
Текущая версия от 14:22, 15 ноября 2019
 //////////////////////////////////////////////
 //     2018.08.08 woronin,  umkiedu@gmail.com
 //     Bluetooth Robot UMKI controller K6_mini
 //     третий пример- определяем нажатые команды
 //
 //////////////////////////////////////////////
 #include <SoftwareSerial.h>
 SoftwareSerial BTSerial(6, 7); // RX, TX
 int byte_forward[] = {0, 0,   129, 0, 4, 0, 0};
 int byte_bakward[] = {0, 0,   127, 0, 4, 0, 0};
 int byte_left[]    = {0, 129, 0,   0, 4, 0, 0};
 int byte_right[]   = {0, 127, 0,   0, 4, 0, 0};
 int byte_stop[]    = {0, 0,   0,   0, 4, 0, 0};
 int byte_start[]   = {0, 0,   0,   0, 4, 0, 2};
 int press_but = 0;
void setup() {
  BTSerial.begin(9600); // инициализируем  порт блютус
  Serial.begin(9600);   // инициализируем  порт сериал - шнур USB
}
void loop() // выполняем циклически опрос порта и отправляем все байты с блютуса в шнур
{
  int inByte[25], i, count; //i - это элемент массива команды из 7 байт
  count = BTSerial.available();
  if (count < 7) count = 0;
  else {
    for (i = 0; i < 7; i++) {
      inByte[i] = BTSerial.read();
      delay(10);
      Serial.print(inByte[i], HEX); // вывод в COM порт побайтоно в шестнадцатиричной системе
      Serial.print(" "); // ставим пробел между байтами, чтобы удобно было смотреть монитор порта
    }
    Serial.println();
  }
  // начало разбор принятых байт
  if ( (inByte[2] == byte_forward[2]) ) {
    press_but = 48; // нажата кнопка вперед
    Serial.println(" press_but= 48");
  }
  else if ((inByte[1] == byte_left[1])) {
    press_but = 52; // нажата кнопка влево
    Serial.println(" press_but= 52");
  }
  else if ((inByte[1] == byte_right[1])) {
    press_but = 56; // нажата кнопка вправо
    Serial.println(" press_but= 56");
  }
  else if ((inByte[2] == byte_bakward[2])) {
    press_but = 60; // нажата кнопка назад
    Serial.println(" press_but= 60");
  }
  else if ((inByte[6] == byte_start[6]) ) {
    press_but = 66; // нажата кнопка старт
    Serial.println(" press_but= 66");
  }
  // конец разбор принятых байт
}