Bluetooth машина android
- Войдите на сайт для отправки комментариев
Вс, 02/12/2018 - 21:45
Добрый вечер. Нашел интересное приложение для управления машинкой Arduino Bluetooth RC Car. С нескольких скетчей собрал один. Фары и скорость работают хорошо. Помогите допилить скетч что бы аварийка моргала а лучше добавить еще один пин и при включении аварийки они поочередно включались.
[code] //Ошибки таблица кодов: код 01; радиус поворота выше, чем скорость; код 02; скорость выше, чем 255; #define in1 5 //L298n #define in2 6 #define in3 10 #define in4 11 #define LED2 2 //Фары #define LED3 3 #define LED4 4 //Динамик #define LED13 13 //Аварийка int command; //Int для сохранения состояния команды приложения. int Speed = 204; // 0 - 255. int Speedsec; int buttonState = 0; int lastButtonState = 0; int Turnradius = 0; //Установите радиус поворота, 0-255 Примечание: робот не будет работать, если это выше скорости int. int brakeTime = 45; int brkonoff = 1; //1 для электронной тормозной системы, 0 для нормальной. void setup() { pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED13, OUTPUT); Serial.begin(9600); //Установите скорость передачи данных для модуля Bluetooth } void loop() { if (Serial.available() > 0) { command = Serial.read(); Stop(); //Инициализация при остановленных двигателях. switch (command) { case 'W': //Перед ON digitalWrite(LED2, HIGH); break; case 'w': //Перед OFF digitalWrite(LED2, LOW); break; case 'U': //Зад ON digitalWrite(LED3, HIGH); break; case 'u': //Зад OFF digitalWrite(LED3, LOW); break; case 'X': //Аварийка ON digitalWrite(LED13, HIGH); break; case 'x': //Аварийка OFF digitalWrite(LED13, LOW); break; case 'V': //Звук ON digitalWrite(LED4, HIGH); break; case 'v': //Звук OFF digitalWrite(LED4, LOW); break; case 'F': forward(); break; case 'B': back(); break; case 'L': left(); break; case 'R': right(); break; case 'G': forwardleft(); break; case 'I': forwardright(); break; case 'H': backleft(); break; case 'J': backright(); break; case '0': Speed = 100; break; case '1': Speed = 140; break; case '2': Speed = 153; break; case '3': Speed = 165; break; case '4': Speed = 178; break; case '5': Speed = 191; break; case '6': Speed = 204; break; case '7': Speed = 216; break; case '8': Speed = 229; break; case '9': Speed = 242; break; case 'q': Speed = 255; break; } Speedsec = Turnradius; if (brkonoff == 1) { brakeOn(); } else { brakeOff(); } } } void forward() { analogWrite(in1, Speed); analogWrite(in3, Speed); } void back() { analogWrite(in2, Speed); analogWrite(in4, Speed); } void left() { analogWrite(in3, Speed); analogWrite(in2, Speed); } void right() { analogWrite(in4, Speed); analogWrite(in1, Speed); } void forwardleft() { analogWrite(in1, Speedsec); analogWrite(in3, Speed); } void forwardright() { analogWrite(in1, Speed); analogWrite(in3, Speedsec); } void backright() { analogWrite(in2, Speed); analogWrite(in4, Speedsec); } void backleft() { analogWrite(in2, Speedsec); analogWrite(in4, Speed); } void Stop() { analogWrite(in1, 0); analogWrite(in2, 0); analogWrite(in3, 0); analogWrite(in4, 0); } void brakeOn() { //Here's the future use: an electronic braking system! // read the pushbutton input pin: buttonState = command; // compare the buttonState to its previous state if (buttonState != lastButtonState) { // if the state has changed, increment the counter if (buttonState == 'S') { if (lastButtonState != buttonState) { digitalWrite(in1, HIGH); digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, HIGH); delay(brakeTime); Stop(); } } // save the current state as the last state, //for next time through the loop lastButtonState = buttonState; } } void brakeOff() { } [/code]
Помогите допилить скетч что бы аварийка моргала
Как можно помочь тому, кто ничего не делает? Где Ваша попытка (пусть неудачная) заставить её моргать? В каких строках? Я не нашёл.
Тут не выкладывал попытки. Да и плата перестала работать, на этой неделе придет плата и продолжу
Ну, вот когда соберётесь, тогда и поговорим.