PDA

Просмотр полной версии : Управление символом на экране ПР200 с внешних кнопок.



игорь68
05.03.2018, 23:09
Возможно ли управлять позицией символа " * " на экране ПР200 с помощью внешних кнопок. Есть 4 кнопки. Кнопки 1 и 2 отвечают за перемещение " курсора ( символа)" между строками экрана . А кнопки 3 и 4 за положение в ряду (1-16). Если я переключаю кнопки 1-2 то "символ" перепрыгивает с нижний строки экрана ( 1) на верхнею строку экрана(2). Если нажимаю кнопки 3 - 4 то символ перемещается по той строке где он бы после последнего нажатия кнопок(1-2) от 1 знакоместа к 16. Если символ был на каком то знакоместе( например 7 место 1 строка) и была нажата кнопка 2 ( верхняя строка ) то мой символ должен появиться на том же месте строки 2( 7 место строка 2)

petera
06.03.2018, 11:10
Возможно ли управлять позицией символа " * " на экране ПР200 с помощью внешних кнопок. Есть 4 кнопки. Кнопки 1 и 2 отвечают за перемещение " курсора ( символа)" между строками экрана . А кнопки 3 и 4 за положение в ряду (1-16). Если я переключаю кнопки 1-2 то "символ" перепрыгивает с нижний строки экрана ( 1) на верхнею строку экрана(2). Если нажимаю кнопки 3 - 4 то символ перемещается по той строке где он бы после последнего нажатия кнопок(1-2) от 1 знакоместа к 16. Если символ был на каком то знакоместе( например 7 место 1 строка) и была нажата кнопка 2 ( верхняя строка ) то мой символ должен появиться на том же месте строки 2( 7 место строка 2)

Как-то так
35934

35935

ЗЫ.
Учитывая то, что строк на экране всего две
можно упростить вычисления координаты Y
35942

игорь68
06.03.2018, 22:20
Спасибо. Не думал что все так просто будет. Думаю Овен не будет против если на базе ПР200 сделать игру. Добавим еще одну кнопку(выстрел). Немного изменим условие задачи и усложним. 35949 Первый символ "квадратные скобки". Стоят на позициях 0.0 и некуда не двигаются. Второй символ"="(пушка) может перемещаться Y=0 или Y=1. А по Х=1 и всё. Больше не каких перемещений. Третий символ"-"( пуля) по Х имеет начальную координату Х=2 до Х=16. Но теперь перемещение символа"=" не должно влиять на полет "-". Например "=" стоит Y=0. Я нажимаю кнопку выстрел. "-"(пуля ) полетела по Y=0 а по Х=2 до Х=16. И следом я "=" поставил на Y=1 А моя "пуля" продолжает лететь по Y=0 а по Х=16
Если и на Y=1 я сделаю выстрел то "-"(пуля) будет лететь по Y=1 а по Х=2 до Х16
Переписал программку. "Пушка" на своей позиции. Убрал перемещение по Х оставил только Y.
Выстрел "пули" я сделал.
У меня пока перемещение пушки перемещает и пулю. :-(

Василий Кашуба
06.03.2018, 22:32
Спасибо. Не думал что все так просто будет. Думаю Овен не будет против если на базе ПР200 сделать игру.
Думаю Овен будет только "За".

melky
07.03.2018, 07:13
прикольно, ПР например отвечает за насосы, а если оператору стало скучно, то пошел и поиграл :)

игорь68
11.03.2018, 12:29
Так чуток переделал под себя идею PETERA (еще раз спасибо.) Поменял тему Игры. Гонка по трассе. Символ "=" машинка. Символ "#" препятствие. Задача объехать препятствия. Управление I1 и I2 - верхняя и нижняя строка экрана ПР. I3- "вперед" движение символа по строке с лева на право. I4-"назад" движение символа по строке с права налево. Кнопка I7 выбор одной из 8 трасс. Игрушка не доделана. Если " машинка наедет на препятствие " то просто поедет дальше. Пока не до конца понял как сделать "остановку по аварии". В планах сделать "Старт" по сигналу зеленого светодиода. При аварии зажигаем красный светодиод. Если гонка прошла успешно нажатие копки I8 вывод результата на экран ПР. Буду рад любой помощи. PS в макросе скорость перемещения 0.5 секунды. Если слишком быстро меняем установки "блинков"

Василий Кашуба
11.03.2018, 18:31
Так чуток переделал под себя идею PETERA (еще раз спасибо.) Поменял тему Игры. Гонка по трассе. Символ "=" машинка. Символ "#" препятствие. Задача объехать препятствия. Управление I1 и I2 - верхняя и нижняя строка экрана ПР. I3- "вперед" движение символа по строке с лева на право. I4-"назад" движение символа по строке с права налево. Кнопка I7 выбор одной из 8 трасс. Игрушка не доделана. Если " машинка наедет на препятствие " то просто поедет дальше. Пока не до конца понял как сделать "остановку по аварии". В планах сделать "Старт" по сигналу зеленого светодиода. При аварии зажигаем красный светодиод. Если гонка прошла успешно нажатие копки I8 вывод результата на экран ПР. Буду рад любой помощи. PS в макросе скорость перемещения 0.5 секунды. Если слишком быстро меняем установки "блинков"
Вам необходимо в программе, координаты ваших препятствий привязать к экранам и сравнивать их с координатами машины, при совпадении координат авария.

игорь68
11.03.2018, 19:29
Спасибо за совет Василий. Это я уже сделал на "тестовой" трассе. Там одно препятствие гонка останавливается. Сделал сравнение если я "проехал "меньше 16 знакомест то авария и красный свет. Тут дело вот в чем. Одно препятствие это 2 переменных. Одна по Y другая по Х. Я думаю сделать для каждого экрана "массив констант" на блоках сравнения "EQ" с координатами препятствий подавать сигнал координат машинки. Есть совпадение значить авария. Стоп движению. Стоп счет времени "гонки". Вообщем будем думать.
Сделал блок старта. Сейчас на работе. Вечером проверю на реле и перезалью файл.
PS Овен как будете делать ПР нового поколения сделайте доброе дело. Если будете выбирать LCD дисплей то выбирайте хотя бы 4 строки и ВОЗМОЖНОСТЬ САМОМУ ДЕЛАТЬ СИМВОЛ или загружать.

Андрей Посохов
12.03.2018, 10:00
Спасибо за совет Василий. Это я уже сделал на "тестовой" трассе. Там одно препятствие гонка останавливается. Сделал сравнение если я "проехал "меньше 16 знакомест то авария и красный свет. Тут дело вот в чем. Одно препятствие это 2 переменных. Одна по Y другая по Х. Я думаю сделать для каждого экрана "массив констант" на блоках сравнения "EQ" с координатами препятствий подавать сигнал координат машинки. Есть совпадение значить авария. Стоп движению. Стоп счет времени "гонки". Вообщем будем думать.
Сделал блок старта. Сейчас на работе. Вечером проверю на реле и перезалью файл.
PS Овен как будете делать ПР нового поколения сделайте доброе дело. Если будете выбирать LCD дисплей то выбирайте хотя бы 4 строки и ВОЗМОЖНОСТЬ САМОМУ ДЕЛАТЬ СИМВОЛ или загружать.

Добрый день, Игорь :)

В лист с пожеланиями занесли, спасибо.

игорь68
14.03.2018, 16:17
Продолжаем делать Игру на ПР200. Итак. Есть на экране символ =( метка - машина) которая имеет координаты привязанные к переменным Y1 и Х1. Также есть препятствие # (метка) которая привязана к константа (Х=8 а Y=0). Узел сравнения сравнивает константы препятствия и переменные машины если он совпали значить машина наехала на препятствие и игра остановилась. Каким из инструментов работы с экраном мне сделать что после "аварии" на месте символа "#" появился символ "*" Пока смотрю на динамический текст.

Ревака Юрий
14.03.2018, 16:23
Продолжаем делать Игру на ПР200. Итак. Есть на экране символ =( метка - машина) которая имеет координаты привязанные к переменным Y1 и Х1. Также есть препятствие # (метка) которая привязана к константа (Х=8 а Y=0). Узел сравнения сравнивает константы препятствия и переменные машины если он совпали значить машина наехала на препятствие и игра остановилась. Каким из инструментов работы с экраном мне сделать что после "аварии" на месте символа "#" появился символ "*" Пока смотрю на динамический текст.

Если вариантов символов 2, то Boolean, наверное будет удобнее.