Сравнение двух аналоговых сигналов

Тема в разделе "Arduino & Shields", создана пользователем PSTE, 25 июн 2018.

  1. PSTE

    PSTE Нуб

    Всем привет, помогите я немогу сравнить два аналоговых сигнала в if на Arduino NANO, у меня почемуто всегда условие принимает за верность хатя это не так, к примеру подключаю к аналоговым портам два переменных резистора и пишу :

    void setup() {
    pinMode(6, OUTPUT);
    }
    void loop() {
    int Pot1 = analogRead(A0);
    int Pot2 = analogRead(A1);

    if (analogRead(Pot1) > analogRead(Pot2));
    {
    digitalWrite(6, HIGH);
    delay(100);
    digitalWrite(6, LOW);
    delay(200);
    }}
    и получаеться что какбы я не крутил резисторы, светодиод всегда мигает хоть должен только если Pot1 больше Pot2, значения выводил на экран оба резистора меняют значение от 0 до 1022, подскажите что я не так далаю, прост с ардуинкой только знакомлюсь, спасибо!
     
  2. DIYMan

    DIYMan Guest

    Точку с запятой уберите в конце строки с if.
     
  3. Mitrandir

    Mitrandir Гуру

    Ну смотрите в первых двух строках вы считывавете значения потенциометров
    затем в условии вы считываете данные с тех пинов на которые указали потенциометры
     
  4. Mitrandir

    Mitrandir Гуру

    Код (C++):
    void setup() {
    pinMode(6, OUTPUT);
    }
    void loop() {
    int Pot1 = analogRead(A0);
    int Pot2 = analogRead(A1);

    if (Pot1 > Pot2)
    {
    digitalWrite(6, HIGH);
    delay(100);
    digitalWrite(6, LOW);
    delay(200);
    }

    }
     
  5. DIYMan

    DIYMan Guest

    @Mitrandir - там проблема в лишней точке с запятой ;)
     
  6. PSTE

    PSTE Нуб

    Спасибо, долго не мог понять в чём проблема :D:D:D
     
  7. Mitrandir

    Mitrandir Гуру

    не только) он еще номер пина с которого читать считывал с потенциометра
     
  8. DIYMan

    DIYMan Guest

    Ну и это тоже :)
     
    Mitrandir нравится это.
  9. PSTE

    PSTE Нуб

    То что я ниписал то так для примера, реальная програма большая и много кода не в тему да и прост изза того что часть програмы писал в одно время, а сейчас решил дописать то некоторые условия я подзабыл, поэтому и поставил точку с запитой на if до этого делал опрос цыфровых сигналов тип HIGH или LOW а щас забыл и не мог дупля поймать в чём дело, так как програмирую не часто, спасибо что откликнулись :D:)