Пытаюсь прикрутить регулировку яркости LCD дисплея с помощью фоторезистором. но не могу добиться чтобы при снижении освещенности яркость дисплея увеличивалась. Я понимаю что в коде надо инвертировать значения поступающие от датчика, но не понимаю как. Код (C++): #define PIN_LED 7 #define PIN_PHOTO_SENSOR A0 void setup() { Serial.begin(9600); pinMode(PIN_LED, OUTPUT); } void loop() { int val = analogRead(PIN_PHOTO_SENSOR); int val = 1023 – analogRead(PIN_PHOTO_RESISTOR); Serial.println(val); int ledPower = map(val, 0, 1023, 0, 255); analogWrite(PIN_LED, ledPower); }
Мне кажется, что надо взять лист бумаги и на нем нарисовать алгоритм работы. Без четкого алгоритма работы что-то кодить бессмысленно.
Эсли Вам нужно только это, то поменяйте строчку: Код (C++): int val = 1023 – analogRead(PIN_PHOTO_RESISTOR); на Код (C++): int val = analogRead(PIN_PHOTO_RESISTOR); PIN_PHOTO_SENSOR и PIN_PHOTO_RESISTOR - это одно и то же?