Помогите с кодом
- Войдите на сайт для отправки комментариев
Пнд, 30/10/2017 - 16:03
Помогите с решением данной проблемы
Суть такая есть два проигрывателя
пока первый проигрыватель работает его анализирует плата что все в порядке вск ок,
но когда первый проигрыватель вдруг сломался или еще что то с ним случилось, срабатывает резервный проигрыватель через релюху
вот часть кода
long vl,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; long hz=0; long hzprev=0; long tout=0; void setup() { pinMode(2, OUTPUT);//Светодиод pinMode(3, INPUT);//Если есть напряжение или светодиод горит pinMode(A0, INPUT);//Аудиовход зшт } void loop() { tout=millis()+600; while (tout>millis() && digitalRead(A0) > 10 ); v1 = micros(); while (tout>millis() && analogRead(A0) < 1); v2 = micros(); while (tout>millis() && analogRead(A0) > 0 ); v3 = micros(); while (tout>millis() && analogRead(A0) < 1 ); v4 = micros(); while (tout>millis() && analogRead(A0) > 0 ); v5 = micros(); while (tout>millis() && analogRead(A0) < 1 ); v6 = micros(); while (tout>millis() && analogRead(A0) > 0 ); v7 = micros(); while (tout>millis() && analogRead(A0) < 1 ); v8 = micros(); while (tout>millis() && analogRead(A0) > 0 ); v9 = micros(); while (tout>millis() && analogRead(A0) < 1 ); v10 = micros(); hzprev=1000000/(((v2-v1)+(v3-v2)+(v4-v3)+(v5-v4)+(v6-v5)+(v7-v6)+(v8-v7)+(v9-v8)+(v10-v9))/9); if (tout>millis()&&sq((hz+hzprev)/2-hzprev)>1000){ hz=(hz+hzprev)/2; } hz=0; } //Перед тем, как зажечь нужный светодиод - тушим все digitalWrite(2, LOW); if (hz>20 && hz<100){ digitalWrite(2, HIGH);// если укладываемся в частоту hz>20 && hz<100, то светодиод начинает моргать digitalWrite(3, HIGH);//если есть напряжение на светодиоде то включить реле } }
а проблема где?
не работает релюха, вернее работает но постоянно включается выключается, а должна быть задержка, если вдруг пропало питание только тогда включаться должна
У вас 3й пин задан как инпут а в коде ему диджиталврайт делаете и более того если верить вашей же схеме у вас на 3м пине ничего нет, реле на 4м.
Еще вы там в 36 строке что-то считаете а потом в 38 просто присваиваете 0 и это после условия уже. И вообще если смотреть по {} то ерунда получается либо "код" кусками скопипастен
давайте вы мне его поправите, естественно договоримся
У вас 3й пин задан как инпут а в коде ему диджиталврайт делаете и более того если верить вашей же схеме у вас на 3м пине ничего нет, реле на 4м.
схема это схема в коде беспорядок