Разбираться будем на примере пары простых устройств и пары скриптов в Scratch for Arduino.
![]() |
Примерно так выглядит потенциометр (картинка из Википедии) |
Потенциометр, как подсказывает нам Википедия, это регулируемый делитель электрического напряжения.
Было бы неплохо рассказать также, что такое "делитель напряжения", но это тема отдельной статьи (которая скоро будет написана).
![]() |
А так он работает (картинка из интернетов) |
Каждый, кто вращал ручку регулировки громкости - имел дело с потенциометром. То есть мы его крутим, и что-то меняется от большего к меньшему или наоборот. В общем-то, этих познаний достаточно, чтобы сделать примеры из этой заметки. :)
Как он нам пригодится в наших играх с Arduino?
С помощью потенциометра мы сможем взять 5V с платы Arduino, а затем, вращая ручку, подавать на один из аналоговых разъемов, т.е. "входов", от нуля до 5V. Это напряжение будет пониматься платой как значение от 0 до 1023. В скрипте мы можем преобразовать это значение во что-то для нас полезное.
Впрочем, раз уж вся теоретическая теория остается за бортом, давайте сразу перейдем к практической практике.
Возьмите потенциометр (например, в магазине). Номинал в данном случае особого значения не имеет. Можно взять 1 кОм, можно 10 кОм - они точно будут работать.
Присоединим разъемы платы 5V и GND к крайним выводам потенциометра, а Analog0 (A0) - к среднему.
Собрав такую схему, подключим USB-кабелем плату к компьютеру, и запустим программу Scratch for Arduino.
Теперь посмотрите на панель сенсоров. При вращении ручки потенциометра значение сенсора Analog0 должно изменяться от 0 до 1023 (минимальные и максимальные значения могут быть чуть больше нуля и чуть меньше 1023).
Если значения меняются "не в ту сторону", то есть вместо минимума у вас максимум - то просто поменяйте местами провода 5V и GND.
Еще есть такие хитрые потенциометры, у которых средний вывод не посередине, но если вы приобрели такой как на картинке из Википедии - то у него средний вывод как раз посередине.
Когда все заработало как надо, займемся программированием.
Нажимаем кнопку "выбрать новый объект Arduino из файла", в папке "Things" находим футбольный мяч, и кнопкой изменения масштаба задаем ему нужный размер - какой-нибудь не очень большой. Существующий объект (спрайт) Arduino можно удалить, чтобы он не мешался.
Теперь значение с пина Analog0 сделаем скоростью перемещения мяча. Так как 1023 будет слишком быстро, поделим это значение, например, на 20. Делаем скрипт.
Запускаем. Вращаем ручку потенциометра. Та-дам! Скорость мяча изменяется поворотом ручки!
Вдоволь наигравшись в мячом, можно попробовать сделать что-то более сложное.
Давайте с помощью потенциометра управлять не скоростью объекта, а его положением.
Так как у нас две пространственных координаты, нам для этого понадобятся два потенциометра.
Собираем схему.
Так же как в предыдущем примере, создаем новый объект Arduino из файла. Я решил, что ведьма на метле будет неплохим выбором. Кнопкой масштаба задаем ей нужный размер.
Теперь запрограммируем это.
Для начала нам нужно будет преобразовать значение Analog0 в координату X (от -240 до 240), а значение Analog1 в координату Y (от -180 до 180). Значения на аналоговых пинах могут быть от 0 до 1023, значит, понадобится немного посчитать.
x = (A0 / (1023 / (240 + 240)) – 240
y = (A1 / (1023 / (180 + 180)) – 180
Упрощаем:
x = A0 / 2,13 – 240
y = A1 / 2,84 – 180
Можно сразу подставить эти формулы в скрипт (как мы делали со скоростью мяча), но для наглядности я все-таки добавлю переменные X и Y.
Запускаем, крутим ручки потенциометров, ведьма летает по экрану. :)
Поздравляю, мы только что сделали джойстик! Выглядит довольно-таки странно, но он работает.
Давайте еще сделаем так, чтобы ведьма не просто так летала по экрану, но еще и рисовала при этом. Модифицируем скрипт.
Поднимаем и опускаем перо, крутим ручки и пытаемся нарисовать что-то осмысленное. А это не так-то просто! :)
Обладая столь мощным инструментом, как самодельный джойстик, можно замахиваться уже на более серьезные задачи - например, написание собственных игр. Можно догонять, убегать, целиться, и так далее. Можно добавить еще пару потенциометров, удлинить провода, чтобы было удобнее, и играть вдвоем.
Пробуйте!
Комментариев нет:
Отправить комментарий