Параллельное управление bluetooth и кнопки
- Войдите на сайт для отправки комментариев
Пнд, 02/03/2015 - 11:47
Здравствуйте, вопрос в следующем светики управляются с андроид устройства по блютусу как можно подключить кнопки? Пробовал по всякому, на кнопки реагирует вкл\выкл, а вот при нажатии вкл или выкл на андроиде светики только моргают(1 раз при нажатии на кнопку на андроиде).
Вот код:
#include <CapacitiveSensor.h> CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); // 10M resistor between pins 4 & 2, pin 2 is sensor pin, add a wire and or foil if desired CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); // 10M resistor between pins 4 & 6, pin 6 is sensor pin, add a wire and or foil CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8); int LightPin = 12; //подключение реле свет к пину 12 int AmpPin = 11; //подключение реле усилок к пину 11 int SublightPin = 10; //подключение реле ночник к пину 11 int flag1=0; int flag2=0; int flag3=0; String readString; void setup() { pinMode(LightPin,OUTPUT); pinMode(AmpPin,OUTPUT); pinMode(SublightPin,OUTPUT); Serial.begin(115200); // При вызове parseInt() задержка ожидания последующего символа по умолчанию 1 секунда. // Функцией setTimeout() можно уменьшить эту задержку. Например на 4 миллисекунды, setTimeout(4);. // Чем выше скорость Serial.begin, тем меньше потребуется значение setTimeout. Serial.setTimeout(4); digitalWrite(LightPin, HIGH); digitalWrite(AmpPin, HIGH); digitalWrite(SublightPin, HIGH); } void loop() { while(Serial.available()) { delay(3); char c = Serial.read(); readString +=c; } if(readString.length() > 0){ Serial.print(readString); if ( readString=="500") //свет { digitalWrite(LightPin, LOW); } if ( readString=="501") //свет { digitalWrite(LightPin, HIGH); } if ( readString=="510") //усилок { digitalWrite(AmpPin, LOW); } if ( readString=="511") //усилок { digitalWrite(AmpPin, HIGH); } if ( readString=="520") //ночник { digitalWrite(SublightPin, LOW); } if ( readString=="521") //ночник { digitalWrite(SublightPin, HIGH); } readString=""; } long total1 = cs_4_2.capacitiveSensor(30); long total2 = cs_4_6.capacitiveSensor(30); long total3 = cs_4_8.capacitiveSensor(30); if(total1 > 80 && flag1==0) { flag1=1; } if(digitalRead(12)==LOW&&flag1==1) { digitalWrite(12,!digitalRead(12)); flag1=0; } if(total2 > 80 && flag2==0) { flag2=1; } if(digitalRead(11)==LOW&&flag2==1) { digitalWrite(11,!digitalRead(11)); flag2=0; } if(total3 > 65 && flag3==0){ flag3=1;; } if(digitalRead(10)==LOW&&flag3==1) { digitalWrite(10,!digitalRead(10)); flag3=0; } }
Помогите пожалуйста. Там надо наверно надо сделать или или, но не могу разобраться как.
Проблема решена!
Решение: