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");
}
// конец разбор принятых байт
}