Импульс мозг кушает.
- Войдите на сайт для отправки комментариев
Чт, 09/01/2014 - 22:06
Нужно сделать импульс, регулируемый переменным резистором .
Читаю аналоговый вход где подключен резистор переменный.
Масштабирую его в миллисекунды и вывожу на дисплей.
Все работает как надо.
Светодиод загорается на заданный промежуток в миллисекундах и затем гаснет.
И после этого еле заметно продолжает вспыхивать, вспыхивает с частотой обновления экрана. Она у меня 600 миллисекунд. Меняю частоту обновления и меняется частота вспыхивания.
Как мне убрать это вспыхивание?
#include <LiquidCrystal.h> LiquidCrystal lcd (12, 11, 5, 4, 3,2); unsigned long previousMillis = 0; unsigned long pMillis =0; int v =0; int led = 9; int a = 0; int e = 0; void setup () { lcd.begin (16, 12); pinMode (A0, INPUT); pinMode(led,1); } void loop () { if (millis() - previousMillis >600) { previousMillis = millis(); lcd.clear (); a = analogRead (A0); lcd.setCursor (0,0); lcd.print ( a); lcd.setCursor (0, 1); lcd.print (v); v = analogRead(A0); v = map(v,0,1023,0,3000); digitalWrite(led,1); if(millis() - pMillis > v) { digitalWrite(led,0); } } }
У вас все обновляется каждые 600 миллисекунд, а не только дисплей, а вспыхивает светодиод от того что вы его включаете в 29 строке, а затем выключаете в 31.
А решить можно так:
maksim , еще раз спасибо! Да, действительно, все заработало как надо!
Еще один вопросик в догонку. Как можно записать так что бы обновлялся только LCD? А то ведь это вроде как бы не правильно когда все обновляется.
Вынесите то что не касается дисплея за фигурные скобки условия