Skip to content

Matrix278/arduinoSlider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arduino Slider

Схема устройства

Image of Arduino Slider

Описание оборудования

На рельсе установлена тележка с камерой. Тележка перемещается по рельсу с помощью мотора M1. На тележке установлен потенциометр P1. Потенциометр подключен к колесу таким образом, что полный оборот ротора потенциометра соответствует полному пробегу тележки по рельсу. При нахождении тележки в крайне правом положении потенциометр установлен в максимальное значение. При нахождении тележки в крейне левом положении потенциометр установлен в минимальное значение.

На рельсе также установлены датчики крайне правого (DR) и крайне левого (DL) положения. Датчики срабатывают на прикосновение к тележке и посылают системе данные о произошедшем факте.

Тележка имеет длину L

Система снабжена цифровым дисплеем, для контроля выполняния работы

Электрическая схема

Scheme of Arduino Slider

Задачи

Задача 1. Движение к краю

  • Тележка должна двигаться вправо/влево до тех пор, пока не активирует датчик правого/левого края.
  • Активация датчика долна привести к полной остановке тележки.
  • Функция управления должна получать направление движения в качестве входного параметра.
  • В переменную state записать “task1”

Задача 2. Движение от края до края

  • Находясь в крайнем положении двигаться по рельсу до противоположного датчика
  • Функция управления должна получать в качестве параметра скорость движения тележки
  • Направление движение функция должна выбирать согласно данным, полученным с потенциометра
  • В переменную state записать “task2”

Задача 3. “Пинг-понг”

  • Находясь в произвольном положении тележка должна двигаться до правого/левого датчика крайнего положения
  • При активации датчика крайнего положения тележка должна с той же скоростью двигаться в противоположном направлении
  • Функция управления должна получать в качестве параметра скорость и направление движения
  • В переменную state записать “task3”

Задача 4. Движение к ближайшему краю

  • Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
  • Получив информацию о собственном положении на рельсе определить направление движения к ближайшему краю
  • Двигаться в сторону ближайшего края до активации соответствующего датчика и остановиться
  • Функция управления должна получать в качестве параметра скорость движения
  • В переменную state записать “task4”

Задача 5. Центровка

  • Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
  • Получив информацию о собственном положении на рельсе определить направление движения к центру рельса
  • Двигаться в сторону центра рельса до его достижения и остановиться на нем
  • В качестве входного параметра управляющая функция должна получать скорость движения
  • В переменную state записать “task5”

Задача 6. Дельта

  • Находясь в центре рельса тележка отъезжает от него на указанное расстояние D вправо/влево со скоростью V1
  • Переместившись на указанное расстояние тележка меняет направление движения на противоположное
  • Тележка перемещается на расстояниe 2*D со скоростью V2
  • Тележка меняет направление на противоположное и перемещается на расстояние D со скоростью V1 (вернуться в исходное положение)
  • Функция управления в качестве входных параметров должна получать скорость V1, V2 и расстояние D
  • В переменную state записать “task6”

Задача 7. Разгон

  • Тележка находится в крайнем правом/левом положении
  • Тележка начинает равноускоренное движение в противоположную сторону с ускорением A
  • Направление движения тележка выбирает согласно данным, полученным от потенциометра
  • Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
  • Функция управления должна получать в качестве входного параметра ускорение A
  • В переменную state записать “task7”

Задача 8. Торможение

  • Тележка находится в крайнем правом/левом положении
  • Тележка начинает равнозамедленное движение в противоположную сторону с ускорением A
  • Направление движения тележка выбирает согласно данным, полученным от потенциометра
  • Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
  • Если ускорение задано таким, что тележка не доезжает до противоположного края рельса, то тележка останавливается в том месте, где её скорость будет нулевой
  • Функция управления должна получать в качестве входного параметра ускорение A
  • В переменную state записать “task8”

Задача 9. Переменное движение тележки

  • Находясь в произвольном положении тележка должна двигаться со скоростью, соответствующей повороту ручки управления RC1
  • Ручка управления RC1 имеет среднее и крайние положения.
  • Нахождение ручки RC1 в среднем положении эквивалентно нулевой скорости тележки
  • Нахождение ручки RC1 в крайнем положении соответствует максимальной скорости движения в этом направлении
  • В переменную state записать “task9”

Задача 10. Индикация скорости движения тележки

  • На экране отобразить надпись “V=” и значение скорости перемещения тележки
  • Скорость перемещения тележки определить исходя из нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 11. Индикация положения тележки

  • На экране отобразить надпись “X=” и значение положения тележки относительно одного из краев
  • Данные положения получить от потенциометра
  • Минимальное значение потенциометра соответствует надписи “X=0”
  • Максимальное значение потенциометра соответствует надписи “X=100”

Задача 12. Индикация направления движения

  • При движении тележки влево на экране отображать надпись “<<“
  • При движении талежки вправо на экране отображать надпись “>>”
  • Направление движения тележки получать на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 13. Индикация ускорения тележки

  • При движении тележки в режиме “разгон”, “торможение” и “переменное движение” на экране отображать надпись “A=” и значение ускорения
  • При равномерном движении отображать “A=0”
  • Ускорение вычислять на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 14. Индикация режима работы

  • На экране выводить надпись “R=” и далее режим работы слайдера
  • Режимы работы слайдера получать на основании значений переменной state
  • Режимы имеют следующие названия
    • task1:”toEdge”
    • task2:”adgeToEdge”
    • task3:”pingPong”
    • task4:”toNearEdge”
    • task5:”toCenter”
    • task6:”delta”
    • task7:”accMotion”
    • task8:”decMotion”
    • task9:”varMotion”

Задача 15. Тестирование подвижной части

  • Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе, до активации соответствующего датчика
  • При активации датчика крайне правого положения, необходимо проверить показания потенциометра. Данные должны соответствовать его максимальному значению.
  • Далее тележка должна переместиться в крайне левое положение на рельсе доактивации датчика крайне левого положения
  • При активации датчика крайне левого положения программа должна проверить показания потенциометра. Данные должны соответствовать его минимальному значению.
  • Если обе проверки прошли успешно, то на экране показать надписть “Motion Test Ok”, в противном случае показать на экране надпись “Motion Test Error”

Задача 16. Тестирование датчков

  • Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе
  • Программа должна постоянно считывать данные с потенциометра
  • Если при достижении потенциометром его максимального значения (то есть значения больше не увеличиваются) программа не получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и выдать на экран сообщение “Right Button Err”
  • Если до достижения потенциометром его максимального значения программа получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и вывести на экран сообщение “Right Button Ok”.
  • Те же самые действия должны быть проведены для движения влево и датчика крайне левого положения.

Releases

No releases published

Packages

No packages published

Languages