Arduino для начинающих. Урок 3. Подключение потенциометра

Share Button

Продолжаем серию уроков “Arduino для начинающих”. На предыдущих уроках мы познакомились с простейшими схемами — сборкой мигающего светодиода и светодиода, загорающегося по нажатию кнопки. Сегодня собираем модель с потенциометром (переменным резистором) и светодиодом. Такая модель может использоваться для управления роботом.200px-Potentiometer

Потенциометр — это переменный резистор с регулируемым сопротивлением. Потенциометры используются в робототехнике как регуляторы различных параметров — громкости звука, мощности, напряжения и т.п. В нашей модели от поворота ручки потенциометра будет зависеть яркость светодиода . Это также одна из базовых схем. 

Видео-инструкция сборки модели:

Для сборки модели нам потребуется:

  • плата Arduino (или аналоги);
  • Breadboard;
  • 6 проводов и/или перемычек “папа-папа”;
  • светодиод;
  • потенциометр (переменный резистор);
  • резистор на 220 Ом;
  • среда Arduino IDE, которую можно скачать с сайта Arduino.
компоненты новые

Что понадобится для подключения потенциометра и светодиода на Arduino?

Схема подключения модели Arduino с потенциометром и светодиодом:

схема новая

Схема подключения модели Arduino с потенциометром и светодиодом

Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):

// даём имена пинов со светодиодом
// и потенциометром
#define led 9
#define pot A0
void setup()
{
// пин со светодиодом — выход
pinMode(led, OUTPUT);
// пин с потенциометром - вход
pinMode(pot, INPUT);
}
void loop()
{
// объявляем переменную x
int x;
// считываем напряжение с потенциометра:
// будет получено число от 0 до 1023
// делим его на 4, получится число в диапозоне
// 0-255 (дробная часть будет отброшена)
x = analogRead(pot) / 4;
// выдаём результат на светодиод
analogWrite(led, x);
}

Так выглядит собранная модель Arduino потенциометра со светодиодом:

готовый новый

Модель Arduino с потенциометром и светодиодом в собранном виде

На этом третий урок “Arduino для начинающих” закончен. Продолжение следует!

Смотрите также:

Учебный курс «Arduino для начинающих»: главная страница.

Посты по урокам:

  1. Первый урок: Светодиод.
  2. Второй урок: Кнопка.
  3. Третий урок: Потенциометр.
  4. Четвертый урок: Сервопривод.
  5. Пятый урок: Трехцветный светодиод.
  6. Шестой урок: Пьезоэлемент.
  7. Седьмой урок: Фоторезистор.
  8. Восьмой урок: Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail.
  9. Девятый урок: Подключение датчика температуры и влажности DHT.

Все посты сайта «Занимательная робототехника» по тегу Arduino.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.

Автор: Александр Гагарин.

Share Button

34 комментария к статье “Arduino для начинающих. Урок 3. Подключение потенциометра”

  1. АНДРЕЙ

    04.05.2014

    Добрый день.
    Скажите, где я могу прочитать, что потенциометр выдает число 0-1023, а на светодиод надо подавать 0-255?
    На вашем сайте эта документация есть? Или надо гуглить в Инете?

    Ответить на этот комментарий
  2. Андрей

    27.12.2014

    Подскажите пожалуйста, какой потенциометр подойдет для этого урока.
    С одной стороны, шина 5V в UNO может выдать 800 mA и тогда сопротивление должно быть не меньше чем R=U/I=5/0,8=6,25 Ом.
    Но с другой стороны все пины ввода/вывода рассчитаны на ток до 40 мА и тогда R=U/I=5/0,04=125 Ом.
    Мы склоняемся к 6,25 (хотя понимаем, что Ардуинка будет работать на пределе и это экстрим). Аргумент в пользу последнего: потенциометр — делитель напряжения, а не тока и с него будет сниматься от 5 до 0 V, а ток, который бежит через потенциометр на ток который пойдет на вход А0 не имеет воздействия. И ток, который пойдёт на вход А0 зависит только от внутреннего сопротивления этого входа.

    Ответить на этот комментарий
  3. Александр

    13.03.2016

    Неправильно. Рассеиваемая на потенциометре мощность 5V * 800 mA = 4 Ват. Это много. Не каждый потенциометр выдержит. Будет искрить и греться.

    Существует правило: достаточно, чтобы ток через делитель в 10 раз превышал входной ток.

    Кстати, лучше брать потенциометр с линейной характеристикой – маркируется буквой «А», если отечественный и «B», если импортный. Есть еще с логарифмической и обратно — логарифмической.

    Что произойдет, если взять слишком большое сопротивление, например, несколько Мом?
    Если ползунок в крайнем верхнем (по схеме) положении, то на входе будет 5V. При небольшом сдвиге ползунка напряжение очень быстро упадет в 0 и остальная часть поворота ползунка будет нерабочей.

    Можно замерить сопротивление, при котором на входе станет 0, и взять потенциометр в 10 раз меньшим сопротивлением.

    Ответить на этот комментарий
  4. stikoff

    20.04.2016

    а как собрать схему чтоб светодиод мигал, а скорость мигания задавалась потенциометром?

    Ответить на этот комментарий
  5. Артём

    28.06.2016

    Пишет программа,что есть проблема загрузки на плату. Как быть(

    Ответить на этот комментарий
  6. Денис

    05.07.2016

    Здравствуйте, не подскажите как подключить в эту схему пару светодиодов?

    Ответить на этот комментарий
  7. Кирилл

    13.07.2016

    Здравствуйте. Никак не могу понять, почему вы подключили потенциометр именно так. Ведь если расположить его ножками к себе как у вас на схеме, то левая нога должна идти на землю, правая — на 5 вольт, средняя — на аналоговый вход. Я просмотрел пару сайтов о подключении потенциометра, там всё написано так, как сказал я. Вот ссылки:
    http://arduino-diy.com/arduino-potentsiometr-peremennyy-rezistor

    http://ru.wikihow.com/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C-%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%BE%D0%BC%D0%B5%D1%82%D1%80

    Ответить на этот комментарий
  8. Никита

    10.08.2016

    У меня идея, что от положения потенциометра будет светить один или другой цвет радуги (понадобится rgb светодиод). Скетч ниже:
    #define r 10

    #define g 11

    #define b 12

    #define pot A0

    void setup()

    {

    pinMode(r, OUTPUT);

    pinMode(g, OUTPUT);

    pinMode(b, OUTPUT);

    pinMode(pot, INPUT);

    }

    void loop()

    {

    int x;

    x = analogRead(pot);

    if (x >= 0 && x = 146 && x = 292 && x = 438 && x = 584 && x = 730 && x <= 875)
    {
    analogWrite(b, 255);
    }

    else
    {
    analogWrite(r, 255);

    analogWrite(b, 255);
    }

    }

    Ответить на этот комментарий
  9. Никита

    10.08.2016

    неправильно скопировалось

    Ответить на этот комментарий
    • Никита

      10.08.2016

      #define r 10

      #define g 11

      #define b 12

      #define pot A0

      void setup()

      {

      pinMode(r, OUTPUT);

      pinMode(g, OUTPUT);

      pinMode(b, OUTPUT);

      pinMode(pot, INPUT);

      }

      void loop()

      {

      int x;

      x = analogRead(pot);

      if (x >= 0 && x = 146 && x = 292 && x = 438 && x = 584 && x = 730 && x <= 875)
      {
      analogWrite(b, 255);
      }

      else
      {
      analogWrite(r, 255);

      analogWrite(b, 255);
      }

      }

      Ответить на этот комментарий
  10. Никита

    10.08.2016

    #define r 10

    #define g 11

    #define b 12

    #define pot A0

    void setup ()

    pinMode (r, OUTPUT);

    pinMode (g, OUTPUT);

    pinMode (b, OUTPUT);

    pinMode (pot, INPUT);

    void loop ()

    int x;

    x = analogRead(pot);

    if (x >= 0 && x =146 && x = 292 && x = 438 && x = 584 && x = 730 && x <= 875)
    {
    digitalWrite (b, HIGH);
    }

    else
    {
    digitalWrite (r, HIGH);

    digitalWrite (b, HIGH);
    }

    ]

    Ответить на этот комментарий
  11. Роман

    20.09.2016

    Arduino: 1.6.11 (Windows XP), Плата:»Arduino/Genuino Uno»

    collect2.exe: error: ld returned 5 exit status

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    «Показать подробный вывод во время компиляции»

    Ребят, чего у меня не выходит? Копирую. На проверку не проходит. Первый урок получился, второй нет, этот тоже.

    Ответить на этот комментарий
  12. kirill

    26.12.2016

    а когда програмируешь ардуино потом программу можно стереть?

    Ответить на этот комментарий
    • ice

      03.02.2017

      нет, стереть нельзя, однако можно изменить программу. а если хочешь чтобы она ничего не делала напиши эту:
      void setup()
      {
      }
      void loop()
      {
      delay(1);
      }

      Ответить на этот комментарий
  13. Дамир

    13.01.2017

    Добрый день!
    Я подключил второй светодиод к порту 8
    Объявил переменную, объявил ту же функцию во второй раз только на выход поставил второй светодиод.
    В итоге: Первый светодиод нормально функционирует, а второй только на определенном диапазоне и ярко по сравнению с первым
    С физикой я не очень дружу, но понимаю что именно из-за нее так происходит
    Объясните пожалуйста почему так и решение если можно

    Ответить на этот комментарий
  14. mpw

    18.03.2017

    Что-то пошло не так.
    Поиграл я на Arduino Nano с потенциометром.
    При открытом состоянии всё хорошо показывает, но как только закрыл до нуля — дым пошел из ардуинки(( Что не так?

    Ответить на этот комментарий
    • sgeohot

      18.03.2017

      Видимо, нет понимания, что такое потенциометр, как он работает и назначение ног. Потенциометр это тот же резистор, только с ползунком (средняя нога). Когда крутишь потенциометр, меняется сопротивление между средней и крайними ногами от 0(!!!) до номинала потенциометра. 0 Ом это короткое замыкание.
      1. Питание подается на крайние ноги, на одну 5V, на другую GND.
      2. Средняя нога — выход, подключается к аналоговому входу ардуины, например А0.
      Ты, видимо, перепутал ноги, питание подал на одну из крайних и среднюю, а выход снял со второй крайней. Тогда в одном крайнем положении на входе будет либо 0, либо 5V, в зависимости как подключил, а в другом крайнем положении будет короткое замыкание 5V на GND, дым и слезы.
      3. Купи мультиметр и многое станет проще.

      Ответить на этот комментарий
    • sgeohot

      18.03.2017

      12

      Ответить на этот комментарий
  15. sgeohot

    18.03.2017

    Видимо, нет понимания, что такое потенциометр, как он работает и назначение ног. Потенциометр это тот же резистор, только с ползунком (средняя нога). Когда крутишь потенциометр, меняется сопротивление между средней и крайними ногами от 0(!!!) до номинала потенциометра. 0 Ом это короткое замыкание.
    1. Питание подается на крайние ноги, на одну 5V, на другую GND.
    2. Средняя нога — выход, подключается к аналоговому входу ардуины, например А0.
    Ты, видимо, перепутал ноги, питание подал на одну из крайних и среднюю, а выход снял со второй крайней. Тогда в одном крайнем положении на входе будет либо 0, либо 5V, в зависимости как подключил, а в другом крайнем положении будет короткое замыкание 5V на GND, дым и слезы.
    3. Купи мультиметр и многое станет проще.

    Ответить на этот комментарий
  16. Artur

    27.03.2017

    Не могу найти …Как сделать так, что бы при вращении ручки потенциометра , показания на i2c 1602 изменялись бы от 0 до 255 .?

    Ответить на этот комментарий
  17. TUIT

    11.10.2017

    Не могу совместить потенциометр пейзо и лед.Как сделать?

    Ответить на этот комментарий
  18. Арсений

    31.12.2018

    Всё получилось! только следуя 1 схеме. Нуууу я её немного переделал так как потенциометр у меня такой же как и на фотке автора…. Вот.

    Ответить на этот комментарий

Оставить комментарий

© 2014-2024 Занимательная робототехника, Гагарина Д.А., Гагарин А.С., Гагарин А.А. All rights reserved / Все права защищены. Копирование и воспроизведение в любой форме запрещено. Политика конфиденциальности. Соглашение об обработке персональных данных.
Наверх