Аналоговые и цифровые пины.

Тема в разделе "Arduino & Shields", создана пользователем greiverff, 6 апр 2013.

  1. greiverff

    greiverff Нерд

    Здравствуйте.
    Подскажите, поймет ли ардуина где какой пин, если использовать аналоговый 2 и цифровой 2.
    Для примера фрагмент кода:

    Код (Text):
    int digr=2;
    int pwmr=3;
    int digf=4;
    int pwmf=5;
    int potr=2;
    int potf=3;
     
     
    void setup()
    {
      pinMode(digr,OUTPUT);
      pinMode(pwmr,OUTPUT);
      pinMode(digf,OUTPUT);
      pinMode(pwmf,OUTPUT);
      pinMode(potr,INPUT);
      pinMode(potf,INPUT);
    }
    Пины digr и pwmr цифровые, potr и potf аналоговые. Правильно ли написан код?
     
  2. Megakoteyka

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

    Неправильно. На самом деле все переменные указывают на цифровые пины.
    А почему не написать для аналоговых А2 и т.д.?
     
    greiverff нравится это.
  3. greiverff

    greiverff Нерд

    Вот так?
    Код (Text):
    int digr=2;
    int pwmr=3;
    int digf=4;
    int pwmf=5;
    int potr=A2;
    int potf=A3;
     
     
    void setup()
    {
      pinMode(digr,OUTPUT);
      pinMode(pwmr,OUTPUT);
      pinMode(digf,OUTPUT);
      pinMode(pwmf,OUTPUT);
      pinMode(potr,INPUT);
      pinMode(potf,INPUT);
    }
     
  4. Megakoteyka

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

    Именно. Не забывайте, что начинаются аналоговые пины с А0.
     
  5. greiverff

    greiverff Нерд

    Спасибо. Раньше использовал аналоговые пины без приписки А. Правда номера их не перекликались с цифровыми.
     
  6. nailxx

    nailxx Официальный Нерд Администратор

    A0 — это на самом деле число 14, A1 — число 15 и т.д.

    Просто в реализации analogRead есть «защита от новичка» и она проверяет переданный номер пина. Если он меньше 14, значит имелся в виду его аналоговый аналог :)
     
    greiverff и Megakoteyka нравится это.
  7. greiverff

    greiverff Нерд

    Спасибо, это внесло еще большую ясность.
     
  8. pasha08

    pasha08 Нерд

    Аналоговый аналог?) Тавтология кажись)
     
  9. mike_KH

    mike_KH Гик

    Я тоже сначала посмотря на пример Блюма писал просто 5 пин., а когда стал глубже по вики читать понел ,что надо писать A5.
     
  10. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    Можно на аналоговый пин использовать как цифровой?
    и управлять ими лсд экраном?
     
  11. Airbus

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

    А я так давно делаю вместо А0 пишу сразу 14
    Запросто там есть 6 пинов 14-19 (PortC) можно LCD только на них и повесить.тут важно понимать что:Все пины Ардуино (AVR) изначально цифровые и изначально настроены как входы.Настроить как аналоговые можно "вручную" и аналогично настраиваем их как выходы.
    LCD присоединить не пробовал (хотя мысля хорошая)а вот датчики температуры и влажности цепляю туда.всё прекрасно работает.
     
    Последнее редактирование: 24 янв 2016