Регулировка яркости фоторезистором.

Тема в разделе "Arduino & Shields", создана пользователем Morfey, 27 мар 2018.

  1. Morfey

    Morfey Нуб

    Пытаюсь прикрутить регулировку яркости 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);
    }
     
     
  2. Slaiterx

    Slaiterx Гик

    Подключить фоторезистор по другому
     
  3. Slaiterx

    Slaiterx Гик

    Morfey нравится это.
  4. parovoZZ

    parovoZZ Гуру

    Мне кажется, что надо взять лист бумаги и на нем нарисовать алгоритм работы. Без четкого алгоритма работы что-то кодить бессмысленно.
     
  5. ostrov

    ostrov Гуру

    В минипроектах есть задача "умный светильник".
     
    Morfey нравится это.
  6. fogary

    fogary Гик

    Эсли Вам нужно только это, то поменяйте строчку:
    Код (C++):
      int val = 1023 – analogRead(PIN_PHOTO_RESISTOR);
    на
    Код (C++):
      int val = analogRead(PIN_PHOTO_RESISTOR);
    PIN_PHOTO_SENSOR и PIN_PHOTO_RESISTOR - это одно и то же?