Ви не увійшли.
Сторінки 1
А вице премьер Украины "Азиров" случайно не Ваш родственник ? ??? (хотя по словарному запасу вы его на много преводсходите)
Вы сначала свои сообщения почитайте пожалуйста. Установите проверку грамматики хотя бы.
Данные обновляются только при смене показаний? Обновляй чаще, иногда может передача с помехой проскочить.
Делай переинициализацию экрана. Я делаю раз в минуту. При этом он мигнет на доли секунды, если раз в минуту то никто не замечает. Но это нужно если весь экран ерунду показывает. Примерно раз в год бывает. Или при задержках граничных с минимальными.
Ну и конечно, как уже говорили, пропаять очень желательно, на макетках собранных подобным образом - это вообще обычное дело.
Дешевый смартфон решит проблему.
demonstrius, в вашем скетче время обновляется только один раз при переключении из одного состояния в другое, т.е. оно устаревшее почти всегда.
Т.е. обновляем время чаще:
void pirmonitoring() {
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, HIGH);
PirOn = millis();
if (pirState == LOW) { // пир-датчик включен
pirState = HIGH;
DigitpirState = 1;
Serial.print("Motion ON!: ");
Serial.print(h); Serial.print(":"); Serial.println(m);
Serial.print("DigitpirState: ");
Serial.println(DigitpirState);
Serial.println();
}
}
else {
digitalWrite(ledPin, LOW);
PirOff = millis();
if (pirState == HIGH) { // пир-датчик отключен
pirState = LOW;
Pir10Sec = 0;
DigitpirState = 0;
Serial.print("Motion OFF: ");
Serial.print(h); Serial.print(":"); Serial.println(m);
Serial.print("DigitpirState: ");
Serial.println(DigitpirState);
Serial.print("Pir10Sec: ");
Serial.println(Pir10Sec);
Serial.println();
}
}
if (PirOff - PirOn > 10000) { // длительная сработка пир-датчика
Pir10Sec = 1;
Serial.print("Motion LONG ON!: ");
Serial.print(h); Serial.print(":"); Serial.println(m);
Serial.print("Pir10Sec: ");
Serial.println(Pir10Sec);
Serial.println();
}
}
Ну смотрите, в этой строке
if (PirOff - PirOn > 10000) { // длительная сработка пир-датчика
происходит что-то странное, а именно по условию "длительная сработка пир-датчика" происходит когда PirOff (время выключения датчика / последнее время НЕ сработки датчика) БОЛЬШЕ PirOn (времени включения / последнего времени сработки датчика).
В данном условии просходит сравнение "отключен ли датчик 10 секунд и более". Так что для начала поменяйте на
if (PirOn - PirOff > 10000) { // длительная сработка пир-датчика
Здравствуйте,прошу помочь со скетчем.
1.если на пин А4 приходит сигнал то лампочка плавно зажигаеться а если сигнал пропадает то лампочка плавно тухнет с задержкой 15 секунд .
2.если на пин А5 приходит сигнал то лампочка затухает в пол накала.
http://s1.radikale.ru/uploads/2018/4/1/d253c994cb58641c8010c4f6fc90b747-full.jpg
Заранее благодарю!
Например так:
int SIGNAL=HIGH; // сигнал это высокий уровень или низкий?
int in1=A4;
int in2=A5;
int out=3;
int brightness=0;
void setup() {
}
void loop() {
if(digitalRead(in1)==SIGNAL)
do
{
brightness++;
analogWrite(out,brightness);
delay(15*1000/255); // 15 сек на 255 шагов
}
while(brightness<255);
if(digitalRead(in2)==SIGNAL)
do
{
brightness--;
analogWrite(out,brightness);
delay(15*1000/255); // 15 сек на 255 шагов
}
while(brightness>0);
}
Обработка кнопок прям как сказано. Яркость меняется ШИМ плавно, но это не значит что будет так же плавно визуально.
Сторінки 1