Состояние пина

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

  1. ekotelnikov

    ekotelnikov Нуб

    Добрый день!

    Пожалуйста, помогите разобраться.
    При считывании состояния пина A0, его значение, по умолчанию, "336-360", подаю 5 вольт на соседний пин A1, значение меняется на обоих. Как так? Почему А0 зависит от А1?

    P.S. Как я понял, если мониторить значения других пинов, при подачи 5V, их значения тоже, меняются.

    Спасибо.

    Код:

    void setup()
    {
    Serial.begin(9600);
    pinMode(A4, INPUT);
    pinMode(A3, INPUT);
    pinMode(A2, INPUT);
    pinMode(A1, INPUT);
    pinMode(A0, INPUT);
    }

    void loop()
    {
    int engine = analogRead(A4);
    int belt_1 = analogRead(A3);
    int belt_2 = analogRead(A2);
    int high_beam = analogRead(A1);
    int low_beam = analogRead(A0);

    delay (500);

    Serial.print("Engine:");
    Serial.println(engine);
    Serial.print("");
    Serial.print("Belt1:");
    Serial.println(belt_1);
    Serial.print("");
    Serial.print("Belt2:");
    Serial.println(belt_2);
    Serial.print("");
    Serial.print("HighBeam:");
    Serial.println(high_beam);
    Serial.print("");
    Serial.print("LowBeam:");
    Serial.println(low_beam);
    Serial.print("");
    }
     

    Вложения:

    • CControl.jpg
      CControl.jpg
      Размер файла:
      252 КБ
      Просмотров:
      253
    Последнее редактирование: 19 дек 2018
  2. Импеданс входа слишком большой, конденсатор ацп не успевает перезарядиться.
     
  3. AlexU

    AlexU Гуру

    К А0 что-нибуть подключено?
     
    Daniil нравится это.
  4. ekotelnikov

    ekotelnikov Нуб

    Как решить?
    Пока нет, но скорее всего буду подключать и его. iButton будет на цифровом входе.
     
  5. DetSimen

    DetSimen Guest

    Подтяжку сделай, иначе будешь читать срань гасподню
     
    parovoZZ, KindMan и Daniil нравится это.
  6. ну для начала нарисовать и просчитать схему
     
  7. Daniil

    Daniil Гуру

    Читать с висящих в воздухе пинов = получать странные данные.
     
    parovoZZ нравится это.
  8. ekotelnikov

    ekotelnikov Нуб

    Возможно это должно быть так.
     

    Вложения:

    • CControl.jpg
      CControl.jpg
      Размер файла:
      252 КБ
      Просмотров:
      250
  9. Зачем вы через ацп читаете изначально цифровой сигнал? Используйте digitalRead. И да, вам нужна подтяжка. В вики есть статья про кнопку.
     
    Последнее редактирование: 19 дек 2018
  10. ekotelnikov

    ekotelnikov Нуб

    Спасибо за совет!!! Был уверен, что 5V ни как нельзя подавать на цифровые пины.
    Я перепишу программу на аналоговые входы.
    А схему уже переделал с учетом подтягивающего резистора. Если не верно, ткните носом, пожалуйста.

    Спасибо!
    С уважением,
    Евгений
     

    Вложения:

    • CControl_v2.jpg
      CControl_v2.jpg
      Размер файла:
      249,8 КБ
      Просмотров:
      260
  11. Если плата пятивольтовая, то на любые можно. Если 3.3, то и подавать надо 3.3
     
  12. ekotelnikov

    ekotelnikov Нуб

    Усвоил! Значит 10кОм-ми резисторами закупиться нужно...
    Спасибо!
     
  13. parovoZZ

    parovoZZ Гуру

    Подтяжка уже есть внутри мк. Снаружи вешать ничего не надо.
     
  14. SergeiL

    SergeiL Оракул Модератор

    На землю??? :)
    Ой, паровоЗЗ...
     
  15. parovoZZ

    parovoZZ Гуру

    Кнопку на землю, а подтяжку внутреннюю к Vcc.
     
  16. SergeiL

    SergeiL Оракул Модератор

    А как это коррелируется со схемой, где кнопка на плюс?
     
  17. DetSimen

    DetSimen Guest

    На рутрекере есть прекрасная книшка "Саймон Монк Изучаем Ардуино" начни с нее
     
    ДеКодер нравится это.
  18. АЦП конкурировать не нужно
    аналог там не нужен.

     
  19. parovoZZ

    parovoZZ Гуру

    Схему к черту. Кнопку на землю и в дамки.
     
  20. ekotelnikov

    ekotelnikov Нуб

    Буду пробовать на землю 10кОм.
    Спасибо!