На рельсе установлена тележка с камерой. Тележка перемещается по рельсу с помощью мотора M1. На тележке установлен потенциометр P1. Потенциометр подключен к колесу таким образом, что полный оборот ротора потенциометра соответствует полному пробегу тележки по рельсу. При нахождении тележки в крайне правом положении потенциометр установлен в максимальное значение. При нахождении тележки в крейне левом положении потенциометр установлен в минимальное значение.
На рельсе также установлены датчики крайне правого (DR) и крайне левого (DL) положения. Датчики срабатывают на прикосновение к тележке и посылают системе данные о произошедшем факте.
Тележка имеет длину L
Система снабжена цифровым дисплеем, для контроля выполняния работы
- Тележка должна двигаться вправо/влево до тех пор, пока не активирует датчик правого/левого края.
- Активация датчика долна привести к полной остановке тележки.
- Функция управления должна получать направление движения в качестве входного параметра.
- В переменную state записать “task1”
- Находясь в крайнем положении двигаться по рельсу до противоположного датчика
- Функция управления должна получать в качестве параметра скорость движения тележки
- Направление движение функция должна выбирать согласно данным, полученным с потенциометра
- В переменную state записать “task2”
- Находясь в произвольном положении тележка должна двигаться до правого/левого датчика крайнего положения
- При активации датчика крайнего положения тележка должна с той же скоростью двигаться в противоположном направлении
- Функция управления должна получать в качестве параметра скорость и направление движения
- В переменную state записать “task3”
- Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
- Получив информацию о собственном положении на рельсе определить направление движения к ближайшему краю
- Двигаться в сторону ближайшего края до активации соответствующего датчика и остановиться
- Функция управления должна получать в качестве параметра скорость движения
- В переменную state записать “task4”
- Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
- Получив информацию о собственном положении на рельсе определить направление движения к центру рельса
- Двигаться в сторону центра рельса до его достижения и остановиться на нем
- В качестве входного параметра управляющая функция должна получать скорость движения
- В переменную state записать “task5”
- Находясь в центре рельса тележка отъезжает от него на указанное расстояние D вправо/влево со скоростью V1
- Переместившись на указанное расстояние тележка меняет направление движения на противоположное
- Тележка перемещается на расстояниe 2*D со скоростью V2
- Тележка меняет направление на противоположное и перемещается на расстояние D со скоростью V1 (вернуться в исходное положение)
- Функция управления в качестве входных параметров должна получать скорость V1, V2 и расстояние D
- В переменную state записать “task6”
- Тележка находится в крайнем правом/левом положении
- Тележка начинает равноускоренное движение в противоположную сторону с ускорением A
- Направление движения тележка выбирает согласно данным, полученным от потенциометра
- Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
- Функция управления должна получать в качестве входного параметра ускорение A
- В переменную state записать “task7”
- Тележка находится в крайнем правом/левом положении
- Тележка начинает равнозамедленное движение в противоположную сторону с ускорением A
- Направление движения тележка выбирает согласно данным, полученным от потенциометра
- Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
- Если ускорение задано таким, что тележка не доезжает до противоположного края рельса, то тележка останавливается в том месте, где её скорость будет нулевой
- Функция управления должна получать в качестве входного параметра ускорение A
- В переменную state записать “task8”
- Находясь в произвольном положении тележка должна двигаться со скоростью, соответствующей повороту ручки управления RC1
- Ручка управления RC1 имеет среднее и крайние положения.
- Нахождение ручки RC1 в среднем положении эквивалентно нулевой скорости тележки
- Нахождение ручки RC1 в крайнем положении соответствует максимальной скорости движения в этом направлении
- В переменную state записать “task9”
- На экране отобразить надпись “V=” и значение скорости перемещения тележки
- Скорость перемещения тележки определить исходя из нескольких замеров значений, полученных от потенциометра, за промежуток времени
- На экране отобразить надпись “X=” и значение положения тележки относительно одного из краев
- Данные положения получить от потенциометра
- Минимальное значение потенциометра соответствует надписи “X=0”
- Максимальное значение потенциометра соответствует надписи “X=100”
- При движении тележки влево на экране отображать надпись “<<“
- При движении талежки вправо на экране отображать надпись “>>”
- Направление движения тележки получать на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени
- При движении тележки в режиме “разгон”, “торможение” и “переменное движение” на экране отображать надпись “A=” и значение ускорения
- При равномерном движении отображать “A=0”
- Ускорение вычислять на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени
- На экране выводить надпись “R=” и далее режим работы слайдера
- Режимы работы слайдера получать на основании значений переменной state
- Режимы имеют следующие названия
- task1:”toEdge”
- task2:”adgeToEdge”
- task3:”pingPong”
- task4:”toNearEdge”
- task5:”toCenter”
- task6:”delta”
- task7:”accMotion”
- task8:”decMotion”
- task9:”varMotion”
- Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе, до активации соответствующего датчика
- При активации датчика крайне правого положения, необходимо проверить показания потенциометра. Данные должны соответствовать его максимальному значению.
- Далее тележка должна переместиться в крайне левое положение на рельсе доактивации датчика крайне левого положения
- При активации датчика крайне левого положения программа должна проверить показания потенциометра. Данные должны соответствовать его минимальному значению.
- Если обе проверки прошли успешно, то на экране показать надписть “Motion Test Ok”, в противном случае показать на экране надпись “Motion Test Error”
- Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе
- Программа должна постоянно считывать данные с потенциометра
- Если при достижении потенциометром его максимального значения (то есть значения больше не увеличиваются) программа не получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и выдать на экран сообщение “Right Button Err”
- Если до достижения потенциометром его максимального значения программа получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и вывести на экран сообщение “Right Button Ok”.
- Те же самые действия должны быть проведены для движения влево и датчика крайне левого положения.