Как правильно вставить в Ардуино файл?

Провёл сравнительный анализ-рисование из файла .plt (красный цвет) и по генерируемому коду из самописного приложения (синий). Что конвертировать, что копировать отрезками по времени одно и тоже, но при ручной обрисовке в 5 раз меньше векторов получается, а качество примерно одно и тоже. Вывод: для учебно-макетных плоттеров даёшь такое же ПО :slight_smile:

JS и VBS не надо. Стоит изначально. Попробуйте, например, создать:

файл kaka.js
var s = "Opa-na!";
WScript.echo(s);

и из командной строки запустите:

cscript kaka.js

Той же самой командой можете запустить файл с расширением .vbs (программа на VBScript)

Дополню.

  1. Маленькая документация по объекту WScript
  2. Объект для доступа к файловой системе

По аналогии с последним примером, можно использовать любой ActiveX объект, создаёшь new ActiveXObject("???") и пошёл за методы дёргать.

Ну и поделились бы результатами, что делали, что получилось. А то ведь ничего не понятно.

Что за приложение, чем оно отличается от plt файла?

Не понял смысла этой фразы.
Конвертировать - откуда куда?
Копировать отрезками - откуда куда?
И как измерялось время?

Так что с чем мы сравниваем? У меня уже получается 5 вариантов:

  1. plt-файл
  2. генерируемый код
  3. результат конвертирования
  4. результат копирования
  5. результат ручной обрисовки

Почему получается в 5 раз меньше векторов?
Что именно изображено на рисунках?


1 - это plt файл в онлайн просмоторщике, так стала выглядеть исходная картинка после конвертации в другом онлайн конвертере.
Вот исходная картинка.

2 - это результат отрисовки плоттером по " внутреннему тексту файла".
3- это внешний вид окна самописного приложения, оно позволяет обрисовывать отрезками (чередующиеся бело-розовые) вручную подложенный фоном контур (жёлтый цвет). Автоматически в файл тхт пишутся координаты конца каждого отрезка-вектора (точнее синтаксис кода картинки для скетча или генерация готового кода функции рисования данной картинки).
4 - это результат отрисовки плоттером по полученному в 3 коду.
Сравнивая объём-количество векторов в plt и в генерируемом коде получаем соотношение 5 к 1 (грубо на глаз). Не грубо - по процентам использования ресурсов скетчем.
Функция отрисовки вектора по полученным координатам в обоих случаях одна и та же (только называется по разному в вариациях).

Время процедур примерно одинаково - просто в первом случае не надо обводить и щёлкать мышкой по картинке, зато надо в нотепаде щёлкать.

Это то же самое, что и в сообщении №26?

“внутренний текст файла” - это что? Плоттерный файл, включенный в исходник как длинная текстовая стока? Или преобразованный в кучу вызовов функции? Или еще как?
2 и 4 - это программный плоттер или аппаратный?
Что делает самописное приложение? подкладывает рисунок как фон и позволяет “общелкать” его по точкам?
За счет чего получается 5-кратная разница?

Сколько процедур участвовало в сравнении и какие именно?
Можно конкретное измеренное время каждой из них?

PS. Вопросы, вероятно, не все, т.к. я пока вообще не понял, что делается и что с чем сравнивается.

Сравниваются способы получения векторов для отрисовки картинки на реальном макете.
IMG_20230719_080816 — копия

Да.

Плоттерный файл, преобразованный в кучу вызовов функции отрисовки вектора.

Да, по точкам на контуре. Общёлкать отрезками. Разница получается потому что конвертер более точно обрисовывает исходник векторами.

Нет, это сугубо моё личное восприятие реальности во времени :slight_smile:
Кому то быстрее через преобразование файла будет, кому то не лень общёлкать отрезками исходник в приложении.



Вот индеец около 300 векторов от руки. Это если по уму делать 1200 байт. А внизу растр на 160*128/8 байт. Можно подумать о векторных картинках для дисплея, особенно если уменьшить-увеличить надо.

А если сообразить, что размеры экрана по координатам всего 128*160, то и 600 байт должно хватить.

Если я правильно понял, сравнивается не время выполнения разных функций, а трудозатраты человека, осуществляющего разные виды работ вручную?
Раз так, я бы предпочел написать программу, которая из плоттерного файла делает другой текстовый файл, в нужном формате, чтобы его потом одним легким движением можно было закопипастить в скетч. А то и вообще подключить инклудом.
Ну и , раз уж мы все равно засосали данные в компьютер, перед тем, как сбрасывать данные в другой файл, провести генерализацию, чтобы уменьшить количество отрезков.

И генерализацию производить не “грубо на глаз”, а в точности так, чтобы и картинка не пострадала, и количество отрезков было вблизи минимума.

тогда и управлять плоттером с компьютера без костылей в виде Arduino …

Не ведись. Тебя троллят.
Можно лучше… См. выше.

Ответ не андриано а лилику

Ардуино - не костыли, один из наиболее простых и удобных способов подключить исполнительное устройство по USB.
А еще иногда оказывается полезной автономная работа. Но тогда целесообразнее брать данные с SD, а не включать их в прошивку.
Вот, кстати, чем не задача для Ардуины: брать с SD стандартный плоттерный файл и рисовать его на самодельном плоттере?

Незадача.

Условия не равны.

Не у каждого сегодня есть возможность иметь плоттер в завтрашней день.

что-то это мне напомнило… это не HPGL часом? Очень похоже.
Если да, то формат позволяет опустить одинаковые последовательные команды и писать только координаты через запятую, код станет короче

PD759,5958,707,5887,645,5791,588,5692,536,5590,489,5486,447,5380;

эт не моё, а лилик просил одно, а ща уже за другое трут.

Я всё жду, когда до лазеров дойдём.

2 лайка

Сам не понимаю, “стрелочник” в отпуске наверно.

а что, у кого-то есть что ещё сказать