Я подключил arduino с приложением С# с помощью bluetooth connecton. На цифровых контактах 2 и 4 подключены два светодиода. Когда я нажимаю кнопку на приложении С# через bluetooth, команда приходит в arudino, и выполняется "цифровая запись" (LED HIGH), и она светится без остановка. Мой вопрос заключается в том, как улучшить код arduino, чтобы светодиодный индикатор светился только при нажатии кнопки или когда мы перестали нажимать кнопку с мышью, она перестает светиться.
#include <SoftwareSerial.h>
int LED=2;
int LED=4;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
int command = Serial.read();
{
if(command == 'LED1_ON')
{
digitalWrite(LED1, HIGH);
}
else if(command == 'LED2_ON')
{
digitalWrite(LED2, HIGH);
}
}
}
}
извините, мой плохой английский. Я пытаюсь помочь вам;) Сначала я предлагаю избегать объявления переменных в функции loop().
int command = Serial.read();
Хорошая привычка объявлять это в начале вашего исходного кода (где объявлены ваши светодиоды). Но вопрос. Я думаю, ваша серийная ссылка доступна, когда вы нажимаете кнопку, не так ли? Таким образом, вы можете отключить свои светодиоды, когда они недоступны:
if (Serial.available() > 0)
{ ....}
else { /* turn off youre leds */ }