Страница 41 из 66
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 10:35
aftaev
Serg-tmn писал(а):То есть обыкновенный преобразователь USB-COM.
о чем толкую уже пару стр форума

Ардуино это МК+преобразователь USB-COM и загрузка идет скорее всего через bootloader. Сейчас размер скетча моей программы Размер скетча в двоичном коде: 19 698 байт (из 126 976 байт максимум) компиляция с загрузкой идет пол минуты что напрягает, а если всю память использовать нажал компилировать и пошел чай пить

Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 11:17
nkp
чуть подробней как получить значение из емс в питоне (пример)
в скрипт импортируем модуль hal:
в скрипте (если есть класс - то пишем в функцию _init_)
даем имя всей группе создаваемых в этом скрипте пинов
далее мы создаем конкретный пин с именем "in" (любое уникальное для скрипта имя), и прописываем его свойства: тип- float,по коммутации- IN (то есть входной)
Код: Выделить всё
self.halcomp.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
теперь наша группа "name" должна появиться в halshow ,а в ней наш пин "in"
полностью его имя будет "name.in":
в хал файле коннектим его с нужным нам пином (например):
вот так можно получить значение этого пина в переменную "self.p"
проверяем:
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 13:07
Тима
так. давай сначала.
Ты писал "в скрипт импортируем модуль hal", это надо создавать новый py-файл или изменить какой-то готовый файл?
з.ы. прошу сильно не пинать, в линуксе я чайник.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 13:20
nkp
Тима писал(а):в линуксе я чайник.
линукс тут не при чем - питон работает одинаково везде
я так понял у тебя задача написать скрипт на питоне?
или ты готовый будешь брать где то?
в любом случае в этот скрипт впиши приведенные выше строки
и получишь желаемый результат
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 14:23
Тима
nkp писал(а):я так понял у тебя задача написать скрипт на питоне?
Да, хочу все с нуля попробовать сделать!
nkp писал(а):в любом случае в этот скрипт впиши приведенные выше строки
Создаем новый py-файл, загоняем туда приведенные выше строки. Кидаем файл в папку с hal-файлом.
Но, как ЕМС увидит этот файл? Ведь hal на него должен сослаться при запуске?
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 16:22
Тима
Nick писал(а):Этот arduino.py создает пины, которые можно подключать к чему угодно, а не только к панеле PyVCP.
arduino.analog-in-##
arduino.digital-out-##
or arduino-digital-in-##
arduino.analog-out-##
Получается, если взять этот py-файл, бросить его в папку с hal-фалом, в hal-файл добавить
Nick писал(а):loadusr -Wn arduino python arduino.py /dev/ttyUSB0 3
то
nkp писал(а):теперь наша группа "name" должна появиться в halshow
Я правильно мыслю?
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 17:10
Тима
Ооо, работает! Только период опроса 1 секунда. Буду разбираться дальше.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 19:19
nkp
Тима писал(а):Я правильно мыслю?
Код: Выделить всё
loadusr -Wn arduino python arduino.py /dev/ttyUSB0 3
после подобной строки подгрузится компонент arduino (arduino.py )
в хал появятся пины этого компонента
Код: Выделить всё
arduino.analog-in-##
arduino.digital-out-##
or arduino-digital-in-##
arduino.analog-out
их можно коммутировать в хал ,но в самом скрипте (arduino.py )
значение пинов нам недоступно.
Чтоб это преодолеть и нужны те шаги, которые я описал выше.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 19:49
Тима
Создал в том-же файле переменную in, как ты описывал и он появился вместе с входами/выходами ардуины. Подключил к нему координаты ось Х, запустил halmeter - значения меняются. Теперь как его передать вместе с теми данными в ардуину?
И еще, я тут думаю, нужен ли джойстик? Ведь можно просто подключить кнопки к ЕМС2, а в ней уже есть. Ускорение торможение...
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:06
Тима
Тут такое дело, сейчас использую файл и скетч с сайта. Насколько я понял, py-файл кидает пакет данных, а ардуина ловит этот пакет. Вопрос, как в этот пакет втиснутся? Или отдельно отправлять?
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:11
nkp
Тима писал(а):py-файл кидает
покажи код
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:15
Тима
Выкладывал его здесь:
ЧПУ пульты #757
Выложить в коде сейчас не могу. Пишу с планшета.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:20
Тима
В него до формирования пакета, до начала цикла for, вписал переменную in, как ты советовал. И в hal привязал к ней координату Х.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:21
nkp
Код: Выделить всё
ser.write(chr(0x80 | (data >> 7)))
ser.write(chr(data & 0x7f))
вот запись в порт значения переменной (в данном случае data)
точно так в порт пишем и нашу переменную(как ты там ее обозвал)
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:32
nkp
код скрипта раньше не видел,
там же полно пинов - а мы еще новый прописывали
к готовому можно было приконнектиться
-------------
читать надо темы преждечем вклиниваться
(это я себе)
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:33
Тима
Сможешь расшифровать эти команды?
ser.write() - это отправить в порт содержимое скобок.
chr () - это пакет данных, если яправильно понял..
А что в его скобках?
Передачу данных по одной, я еще както понимаю, а как пакет формировпать не очень.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:36
nkp
Тима писал(а):chr () - это пакет данных, если яправильно понял..
нет - это символ кода ASCII
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:40
Тима
С этим файлом еще одна проблема, если time,sleep() в конце файла меньше 1секунды передача данных не происходит.
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:42
nkp
я не знаю что ты называешь пакетом-
данные там передаются просто:
есть бесконечный цикл
есть строка
обновление ставишь здесь:
всё - каждый проход цикла данные пишутся в порт
если поменялись - то новое значение,если нет - старое...))
Re: ЧПУ пульты
Добавлено: 12 ноя 2012, 20:44
nkp
Тима писал(а):С этим файлом еще одна проблема, если time,sleep() в конце файла меньше 1секунды передача данных не происходит.
а чем у тебя настройки порта (PORT, 9600, timeout=2) ограничиваются???
в частности - скорость??