Подскажите пожалуйста, как правильно написать код, чтобы двухколесным роботом, через Bluetooth модуль HC-05, можно было управлять с телефона (не используя библиотеки Servo, как это показано в уроках по Java Skript на AmperkaRu). Заранее спасибо!!!
Вот такой есть код для приложения https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller Используем bluetooth hc05, и Motor Shield Код (Javascript): var Motor = require('@amperka/motor'); var M1 = Motor.connect(Motor.MotorShield.M1); var M2 = Motor.connect(Motor.MotorShield.M2); var velocity = 0; //Здесь будет храниться значение скорости var defaultSpeed = 0.5; // это число мы будем использовать в логике поворотов var drive = function(m1, m2) { M1.write(m1); M2.write(m2); }; PrimarySerial.setup(9600); PrimarySerial.on('data', function (dataIn) { if (dataIn === 'F') { //Если пришла команда "F" drive(velocity, velocity); //едем вперёд } else if (dataIn === 'B') { //или если пришла команда "B" drive(-velocity, -velocity); //едем назад } else if (dataIn === 'L') { //или если пришла команда "L" drive(-velocity, velocity); //поворачиваем налево на месте } else if (dataIn === 'R') { //или если пришла команда "R" drive(velocity, -velocity); //поворачиваем направо на месте } else if (dataIn === 'I') { //или если пришла команда "I", едем вперёд и направо drive(defaultSpeed + velocity, defaultSpeed - velocity); } else if (dataIn === 'J') { //или если пришла команда "J", едем назад и направо drive(-defaultSpeed - velocity, -defaultSpeed + velocity); } else if (dataIn === 'G') { //или если пришла команда "I", едем вперёд и налево drive(defaultSpeed - velocity, defaultSpeed + velocity); } else if (dataIn === 'H') { //или если пришла команда "H", едем назад и налево drive(-defaultSpeed + velocity, -defaultSpeed - velocity); } else if (dataIn === 'S') { //или если пришла команда "S", стоим drive(0, 0); // если к нам пришло значение от 0 до 9 } else if (((dataIn - '0') >= 0) && ((dataIn - '0') <= 9)) { velocity = (dataIn - '0') * 0.1; //сохраняем новое значение скорости } else if (dataIn === 'q') { //если "q" - полный газ! velocity = 1; } });
Ссылка на код для arduino есть прям на странице с приложением https://sites.google.com/site/bluetoothrccar/home/3BluetoothModulesAndArduinoCode Под Strela есть код прямо на странице с описанием стрелы http://wiki.amperka.ru/продукты:strela#управление_роботом_с_мобильного_телефона_через_bluetooth-модуль Какая у вас arduino и какой драйвер двигателей?