Помогите допилить код
- Войдите на сайт для отправки комментариев
Пт, 13/05/2016 - 07:56
Всем привет, помогите пожалуйста допилить код не пойму что нужно сдлеать.
Проблема такая есть два реле которые включатся через комп и есть геркон (размычка на дверь) на геркон есть задержка 5 секунд ну эта задержка распостраняется и на включение реле, как сделать что бы реле были сами по себе а герок одельно.
Зарание спасибо!)
int led = 9; int led2 = 10; int Door_Led_Pin = 13; // выбрать контакт для светодиода int Door_Sensor_Pin = 6; // контакт для датчика int val = 0; // переменная для хранения состояния датчика char str[128]; int inSize=0; void setup() { pinMode(led, OUTPUT); pinMode(led2, OUTPUT); Serial.begin(9600); pinMode(Door_Led_Pin, OUTPUT); // установить Door_Led_Pin как выход pinMode(Door_Sensor_Pin, INPUT); // установить Door_Sensor_Pin как вход } void loop() { inSize=0; // Сбрасываем переменную memset(str, '\0', 128); // Очищаем массив if(Serial.available() > 0) {delay(200); inSize = Serial.available(); for (int i = 0; i < inSize; i++) { str[i] = Serial.read(); // Читаем каждый символ, и пишем его в массив } if (strcmp(str, "L11") == 0) // Если было передано строку "on" - включаем СИД { digitalWrite(led, HIGH); Serial.println("ARD_L11_on"); } else if (strcmp(str, "L10") == 0) // Если было передано строку "off" - выключаем СИД { digitalWrite(led, LOW); Serial.println("ARD_L10_off"); } if (strcmp(str, "L21") == 0) { digitalWrite(led2, HIGH); Serial.println("ARD_lamp2_on"); } else if (strcmp(str, "L20") == 0) { digitalWrite(led2, LOW); Serial.println("ARD_lamp2_off"); } } val = digitalRead(Door_Sensor_Pin); // читать Door_Sensor_Pin if (val == HIGH) { delay(5000); digitalWrite(Door_Led_Pin, LOW); //выключить светодиод Door_Led } else { delay(5000); digitalWrite(Door_Led_Pin, HIGH); //включить светодиод Door_Led } }