Страница 1 из 2
Arduino + Processing
Добавлено: 10 мар 2018, 13:37
Olej
Вот в такой связке (Arduino + Processing) представляется возможным быстро моделировать самые разные аппаратные конфигурации ... протоколы и интерфейсы: I2C, RS-485, Modbus, CAN ...
И вообще делать очень любопытные вещи!
Re: Arduino + Processing
Добавлено: 10 мар 2018, 13:39
Olej
Про сам Arduino - много страниц
вот здесь в соседней теме форума.
Прелесть (единственная!
) Arduino в том, что можно любые аппаратные расширения для него купить за
копеечные стоимости.
Re: Arduino + Processing
Добавлено: 10 мар 2018, 13:46
Olej
Про
Processing:
Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.
Сайт Processing, здесь же можно
скачать его для Linux, в частности:
3.3.6 (4 September 2017) Win 32 Win 64 Linux 32 Linux 64 Linux ARMv6hf Mac OS X
Код: Выделить всё
[olej@dell Arduino]$ ls -l processing-3.3.6-linux64.tgz
-rw-rw-r-- 1 olej olej 126104176 мар 9 02:05 processing-3.3.6-linux64.tgz
Re: Arduino + Processing
Добавлено: 10 мар 2018, 13:53
Olej
Книга про Processing:
Учимся программировать вместе с Processing (Getting Started with Processing на русском)
Год: 2010
Автор: Casey Reas/Кейси Риз, Ben Fry/Бен Фрай
Жанр: учебное пособие
Язык: Русский
Переводчик: А.Мишутина
Формат: PDF
Издательство: не издавалась
ISBN/ISSN: не был присвоен (является переводом для личного использования)
Стр. 209
Свободно скачиваем здесь.
Processing 2. Креативное программирование.
Автор - Ян Вантомм
Издательство – Packt Publishing
Год издания – 2012
Формат книги - PDF
Размер - 15,9 Мб
Свободно скачиваем здесь.
Re: Arduino + Processing
Добавлено: 10 мар 2018, 14:04
Olej
Olej писал(а):
Книга про Processing:
Относительно совместного использования Processing с Arduino:
Пример № 1. Визуализация входящих данных. (Много текста)
Пример № 1.1. Визуализация входящих данных. (Еще больше текста)
Пример № 1.2. Визуализация входящих данных. Обмен данными между Arduino & Processing
И ещё 2 статьи о взаимодействии Processing с Arduino (с примерами):
Processing и Arduino – основы
Связываемся с Processing
Это всё короткие намётки вопроса ... но, кто понимает, этого
более чем достаточно.
(там всё так примитивно, что большого понимания не требует)
Интересно здесь (для меня!) то, что:
- Processing здесь может реализовывать всю логику процесса...
- а для Arduino оставить только функции первичного сбора данных
- и снимаются ограничения аппаратных ресурсов Arduino - все ресурсоёмкие вещи можно выбросить в Processing.
Re: Arduino + Processing
Добавлено: 10 мар 2018, 14:34
Olej
Olej писал(а):
Код: Выделить всё
[olej@dell Arduino]$ ls -l processing-3.3.6-linux64.tgz
-rw-rw-r-- 1 olej olej 126104176 мар 9 02:05 processing-3.3.6-linux64.tgz
Просто разархивировал ... в любое место...
Код: Выделить всё
[olej@dell ~]$ du -hs ~/processing-3.3.6
270M /home/olej/processing-3.3.6
И просто запуск из этого каталога (не хочу заморачиваться ни с какими установками):
Re: Arduino + Processing
Добавлено: 10 мар 2018, 14:37
Olej
Olej писал(а):
И просто запуск из этого каталога (не хочу заморачиваться ни с какими установками):
Набираю код (скетч у них называется):
Код: Выделить всё
int xn=0; // переменная координаты X начала
int yn=0; // переменная координаты Y начала
int xk=0; // переменная координаты X конца
int yk=0; // переменная координаты Y конца
void setup(){
size (500, 200); // устанавливаем размер окна
background(0); // цвет заливки черный
}
void draw(){
yk=mouseY; // пишем в переменную ук значение положения курсора мыши по оси Y
textSize(32); // размер текста
fill(0); // заливка для объекта прямоугольник
noStroke();//рисовать прямоугольник без абриса
rect (5,5,200,40); //рисует прямоугольник перекрывающий наш текст
fill(255); // заливка для текста
text("Y= "+yk, 10, 30); // пишем Y= и подставляем полученное значение
stroke(255); // цвет будущей линии белый
line (xn, yn, xk, yk); // рисуем линию
xn=xk; // после того как нарисовали линию присваиваем Xначала значение Хконца
yn=yk; // после того как нарисовали линию присваиваем Yначала значение Yконца
xk++; // смещаем Xконца на единицу
}
И далее: "Run" в окошке этого их IDE...
Re: Arduino + Processing
Добавлено: 12 мар 2018, 19:55
Olej
Olej писал(а):Про сам Arduino - много страниц
вот здесь в соседней теме форума.
Много
свежих примеров кодов (скетчей) для Arduino показано
здесь (чтобы не повторяться).
Книги по Arduino, для свободного скачивания
здесь ... хотя читать там, собственно, нечего - детский сад ... разве что бегло пробежать 1-м глазом, после чего можете считать себя экспертом по Arduino.
Re: Arduino + Processing
Добавлено: 17 мар 2018, 18:02
Olej
Существенно важный вопрос:
- как корректно Arduino читает (по Serial.read()) и пишет (по Serial.print() и printg()) через последовательный порт русскоязычные символы UTF-8?
- насколько корректно отображаются русские символы при визуализации в стандартном мониторе порта Arduino IDE?
- какие ещё мониторы / программы / приложения можно комфортно использовать для обмена с Arduino через /dev/ttyUSB* ?
Re: Arduino + Processing
Добавлено: 17 мар 2018, 18:31
Olej
Olej писал(а):
- как корректно Arduino читает (по Serial.read()) и пишет (по Serial.print() и printg()) через последовательный порт русскоязычные символы UTF-8?
Arduino IDE (средство разработки и программирования) работает изначально в кодировке UTF-8, и это
очень здорово.
Передача и приём данных через UTF-8
идёт корректно изначально и всегда ... но
в предыдущих версиях IDE в системном мониторе их иногда искажается отображение русских UTF-символов.
На рисунке показана работа скетча Arduino, который
читает строку через /dev/ttyUSB* и
ретранслирует её обратно в /dev/ttyUSB*.
Передача из Arduino делается 3-мя разными (эквивалентными) способами: printf(), Serial.println() и посимвольно Serial.prin().
Видно, что
отображается иногда с искажениям, но
передаётся в обе стороны корректно ... в начале строки указано
число байт - это
не число символов - хорошо отслеживается на разного содержания строках соотношение байт на символ в UTF-8.