Прошу помощи в проверке короткого кода

Тема в разделе "Arduino & Shields", создана пользователем Aлеksaндр_Quest, 5 ноя 2017.

  1. Так вышло, что мне необходимо сделать так, чтобы сигнал через датчик освещения, попадал на аналоговый вход Arduino UNO, и считывался сигнал и вследствие этого устанавливалось условие, что при высоком уровне напряжения на аналоговом входе, будет низкий потенциал скажем на каком-либо цифровом пине, и наоборот. Я накидал код, но программа симуляции electronics lab, пишет что невозможно выполнить симуляцию и я чтобы нечаянно не спалить плату прошу помощи у вас. При проверке кода через Arduino IDE ошибок невыявлено.
    Это только часть кода, выделил только тот фрагмент, который отказывается работать:

    #define LEDress 8
    int vox;
    void setup()
    {
    pinMode(LEDress,OUTPUT);
    pinMode(A0,INPUT);
    }
    void loop()
    {
    vox = analogRead(A0);
    if(vox == HIGH)
    {
    digitalWrite(LEDress,LOW);
    }
    else
    {
    digitalWrite(LEDress,HIGH);
    }
    }
     
  2. rkit

    rkit Гуру

    Кодом вы плату не спалите. Вот неправильным подключением - можно.

    Вот это неправильно.
    Читайте, что возвращает процедура analogRead
     
  3. Можно разжевать? А то не совсем уверен что понимаю :confused:
     
  4. DetSimen

    DetSimen Guest

    А почитать?
     
  5. NikitOS

    NikitOS Король шутов Администратор

    Функция analogRead возвращает значение от 0 до 1023, а вы хотите получить HIGH и LOW, для этого есть digitalRead
     
    Tomasina нравится это.
  6. Airbus

    Airbus Радиохулиган Модератор

    Тут два путя или А0 использовать как цифру и тогда если на ем LOW или HIGH что то делать или не делать либо использовать как аналог значение записывать в value и потом if (value>data)больше (или меньше) какого то числа что то делать или не делать.