Тормозит ардуина или дисплей?

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#21

Сообщение pan » 06.01.2018{, 13:48}

RaiF-03 писал(а):
06.01.2018{, 12:55}
Во втором случает запись происходит по высокому уровню на входе EN?
да... записывает только по входу EN , но и записывает она в "себя" его же (en), грубо говоря она всегда записывает только 1.
ну да ладно. я просто обратил внимание. вам виднее

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#22

Сообщение RaiF-03 » 06.01.2018{, 14:05}

pan, и все равно мне кажется что я вас не до конца понял)
pan писал(а):
06.01.2018{, 13:48}
грубо говоря она всегда записывает только 1.
Не всегда, если инвертировать вход, то и 0 можно записать)
По другому я не смог придумать, иначе не работает так как хотелось.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#23

Сообщение pan » 06.01.2018{, 14:08}

а просто поставить нужную константу не? ))
Изображение

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#24

Сообщение RaiF-03 » 06.01.2018{, 14:47}

pan, ну да) все я понял теперь что вы мне хотели объяснить)) Ну что сказать, легких путей не ищем)

ecoins
Полковник
Сообщения: 2932
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Тормозит ардуина или дисплей?

#25

Сообщение ecoins » 06.01.2018{, 16:14}

Проблема в драйвере LCD.
Другого драйвера в природе пока нет - точнее не удалось обнаружить.
На выдачу одной строки уходит в 20 символов тратиться 27 ms.
Давно решаю проблему с распределением вывода на LCD используя псевдо RTOS на FLProg.
Драйвер этот давно хочется переделать, но все как-то откладывается...

Такие же проблемы были c драйверами HC-SR04 (это решил по прерыванию), c DS18B20 (это решил через упомянутую RTOS), DHT - одно измерение (например 1 раз в секунду) тормозит примерно на 5 ms (в планах переделать).

В основном проблемы возникают из-за использования в драйверах двух очень вредных команд - delay() и pulseIn(). На время выполнения этих команд контроллер "зависает" - возможно работают только прерывания, которые традиционно в Arduino используют слабо и неохотно. В частности использования прерываний от таймеров ограничивают использование некоторых пинов в режиме ШИМ.

В своих пользовательских блоках FLProg пока тоже не используя таймера, чтобы не идти поперек реализуемых авторов некоторых правил, но думаю что вопрос этот перезрел...

Полезный материал на тему таймеров и аппаратных прерываний:
http://arduino.ru/Tutorial/Arduino_Interrupts

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#26

Сообщение RaiF-03 » 06.01.2018{, 16:32}

ecoins, Чем больше текста на дисплее, тем больше тормозов... Таки сделал для второго дисплея отдельную ардуино.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#27

Сообщение pan » 06.01.2018{, 16:38}

а вы не пробовали отправлять данные на дисплей не постоянно, а только по надобности?

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#28

Сообщение RaiF-03 » 06.01.2018{, 16:53}

pan, Не пробовал, так как не знаю как это сделать...

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#29

Сообщение pan » 06.01.2018{, 17:02}

много вариантов.
  1. выводить данные например раз в секунду.
  2. вынести "блоки дисплеев" на отдельную плату и выполнять всю плату по необходимости обновить данные на дисплее (или через некий промежуток времени).
  3. отправлять данные на дисплей только если они изменились.

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#30

Сообщение RaiF-03 » 06.01.2018{, 17:22}

pan, таких функции в блоке дисплея нету... или я недопонял вас снова. Можете пример показать?

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#31

Сообщение pan » 06.01.2018{, 17:39}

RaiF-03, конечно нету. это нужно организовать в программе.

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#32

Сообщение RaiF-03 » 06.01.2018{, 21:20}

pan, Вроде так должно получиться?
В первом варианте отправка данных идет если они изменились
333.jpg
333.jpg (11.34 КБ) 1245 просмотров
Во втором варианте данные отправляются каждые 300мс
3333.png
3333.png (2.17 КБ) 1245 просмотров
Если оно правильно то все равно ничего не изменилось.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#33

Сообщение pan » 06.01.2018{, 21:38}

зачем вы всё запихиваете в блоки...
нет. не так всё должно получиться.
примерно вот так
Изображение

Аватара пользователя
RaiF-03
Рядовой
Сообщения: 34
Зарегистрирован: 09.08.2016{, 18:21}
Репутация: 3
Откуда: Оренбург

Тормозит ардуина или дисплей?

#34

Сообщение RaiF-03 » 08.01.2018{, 13:38}

pan, совсем не то что хотелось... Взять к примеру модуль часов реального времени: при изменении строки часы появляются на доли секунды и пропадают. Вообщем, спасибо за помощь.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Тормозит ардуина или дисплей?

#35

Сообщение pan » 08.01.2018{, 15:29}

RaiF-03, блин, точно. я с другим блоком спутал. в штатном пропадает отображение.
значит надо не сигнал EN активировать , а плату на которой блоки дисплея.

ecoins
Полковник
Сообщения: 2932
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Тормозит ардуина или дисплей?

#36

Сообщение ecoins » 18.01.2018{, 22:29}

Проблема в библиотеке для дисплея.В ней очень много вставок delay().
Уже есть другая библиотека, испытанная под FLProg но с нестандартным блоком пользователя.
Но это требует и несколько иного подхода к разработке программы - работа с реальным временем.

Tork23
Рядовой
Сообщения: 2
Зарегистрирован: 23.01.2018{, 22:13}
Репутация: 1
Имя: Михаил

Тормозит ардуина или дисплей?

#37

Сообщение Tork23 » 23.01.2018{, 22:34}

ecoins, а можно ссылочку на библиотеку?

ecoins
Полковник
Сообщения: 2932
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Тормозит ардуина или дисплей?

#38

Сообщение ecoins » 23.01.2018{, 22:41}

Проблема в стандартной библиотеке, там много раз используется delay()

Отправлено спустя 1 минуту 2 секунды:
По библиотеке - пришлите email - вышлю с примером

Ответить

Вернуться в «Помогите, а то я "нимагу"»