Digispark ATtiny85

Skany9
Offline
Зарегистрирован: 08.08.2019

Я промониторил порт и выбрал значения при которых программа не должна входить в ветвление.
А увелечения и уменьшения проверяемых значений совершенно не измеяли работу программы.
Перепроверил схему пару раз, проверил датчики на UNO и там все работало.

b707
Offline
Зарегистрирован: 26.05.2017

asam пишет:

А почему вы решили что if не срабатывает?

глядя на код - думаю для ТС невдомек, что у него сигнал с сенсора читается только раз в полминуты, а все остальное время система "висит".

вот ему и кажется, что у него условие не срабатывает :)

 

Добавка: полминуты - это еще при условии, что тактирование на Тиньке правильно настроено. А то может и еще в несколько раз реже...

Skany9
Offline
Зарегистрирован: 08.08.2019

Тоесть при проверке у меня там вместо показаний датчика просто 0(ноль)!?

b707
Offline
Зарегистрирован: 26.05.2017

Skany9 пишет:

Тоесть при проверке у меня там вместо показаний датчика просто 0(ноль)!?

не обязательно. Но если показания датчика менее 200, то далее программа попадает в цикл FOR. который исполняется 25 сек (как минимум), в течении которых вы сенсор больше не считываете

b707
Offline
Зарегистрирован: 26.05.2017

кстати, интересный вопрос - у вас правда яркость светодиода плавно меняется? - вообще-то с вашим кодом не должна...

Попробуйте выкинуть цикл плавного изменения яркости и вставьте просто зажигание светодиода по условию - будет ясно, срабатывает оно или нет.

Skany9
Offline
Зарегистрирован: 08.08.2019

После попадания в for мне уже и не нужно считывать сенсор.

Реальные показания просто были около 700 и цикл даже не должен был запускаться

Skany9
Offline
Зарегистрирован: 08.08.2019

Да, светодиод зажигался плавно. А почему не должно?
я правда не уверен что он был именно на втором порту.

b707
Offline
Зарегистрирован: 26.05.2017

Skany9 пишет:

Реальные показания просто были около 700 и цикл даже не должен был запускаться

забавная логика - если он все-таки запускается, значит контроллер работает неверно? :)

Вам не приходит в голову, что в этой ситуации вероятность того, что у вас реальные показания вовсе не 700 - куда как больше, чем вероятность ошибки в кристалле

b707
Offline
Зарегистрирован: 26.05.2017

Skany9 пишет:

Да, светодиод зажигался плавно. А почему не должно?
я правда не уверен что он был именно на втором порту.

вот именно поэтому. Зажигаться плавно на Аттини85 он мог только на портах 0 и 1

Skany9
Offline
Зарегистрирован: 08.08.2019

Я собственно и не говорю что проблема именно в кристале.
Однако рядом стоял датчик подключенный к УНО и мониторинг порта был запущен то примерно такие значения были. Перепробовал пару штук поменять, менял местами и  результат тот же.
Вот и решил написать в форум, может хоть тут подскажете что делаю не так

Skany9
Offline
Зарегистрирован: 08.08.2019

Согласен, это я тут не тот порт прописал, на деле все правильно.

b707
Offline
Зарегистрирован: 26.05.2017

Skany9 пишет:

Вот и решил написать в форум, может хоть тут подскажете что делаю не так

еще раз - упростите код до предела, выкиньте из него цикл плавной регулировки яркости. Сделайте просто - если сигнал с датчика менее 200 единиц - диод горит, более - потушен. И тестируйте.

Skany9
Offline
Зарегистрирован: 08.08.2019

Обязательно попробую =)