Пользовательский интерфейс GUI

dcl
Offline
Зарегистрирован: 02.10.2012

Здравствуйте, я создал программу для ардуино и очень хочется при помощи пользовательского интерфейса, например такого как здесь http://www.flickr.com/photos/glimpsecatcher/ передавать на ардуино по USB, с помощью компьютера различные данные. Подскажите как можно проще создать такой интерфейс и подружить его с ардуино?

RANDREY
Offline
Зарегистрирован: 10.06.2012

Для этого надо выбрать язык на стороне компьютера? С++ или проще - Delphi.

Delphi имеет кучу подключаемых модулей, своих и сторонних VCL.

И вот эти регуляторы накидать на форму и написать код при измении каждого регулятора на форме

шлет данные через USB ()Serial на ардуину, а там она принимает данные. 

leshak
Offline
Зарегистрирован: 29.09.2011

 Давайте забудем, пока, про ардуино.

Вы такой интерфейс на чем можете сделать?  На чем вы умеете программить под PC, какими инструментами для постороения GUI владеете - на том и проще будет. А уж с работать Serial (связь с дуиной) - любой современный язык/платформа умеет.

Так что "на чем проще" - субъективно. Если бы был какой-то один инструмент/язык на котором "явно проще" - то все бы писали программы только на нем :) Лично мне было-бы проще на C#/WPF

P.S. Кстати этот пример UI - просто ужасен. Прямо из учебника по юзабилити, как крайний пример кошмарного интерфейса.

 

 

dcl
Offline
Зарегистрирован: 02.10.2012

leshak пишет:

 Вы такой интерфейс на чем можете сделать?  На чем вы умеете программить под PC, какими инструментами для постороения GUI владеете - на том и проще будет. А уж с работать Serial (связь с дуиной) - любой современный язык/платформа умеет.

   Честно говоря никогда не сталкивался с разработкая интерфейса, с javascript немного знаком, слышал что еще в матлабе можно сделать, вот матлаб наверное ближе всего, в нем думаю смогу.

А как потом с serial полученный интерфейс увязать?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Из javascript - не вариант, скрипту запрещен доступ к железу. Смотрите в сторону Visual Studio, в теме "ЧПУ на Ардуино" я выкладывал свой интерфейс, он, конечно, специфичный, но там есть исходники, можно посмотреть для примера.

RANDREY
Offline
Зарегистрирован: 10.06.2012

 

 

 

 

 

 

 

RANDREY
Offline
Зарегистрирован: 10.06.2012

Любой иструмент программирования C++ Visual, Delphi, Visual Basic

на делфи набросал за 5 минут выдуманный макет 

dcl
Offline
Зарегистрирован: 02.10.2012

 

RANDREY пишет:

на делфи набросал за 5 минут выдуманный макет

Вот это круто) с графическим интерфейсом вроде все понятно. Одно только не пойму, вот я создал этот интерфейс, допустим в Delphi, а как мне введеные в него данные передать в ардуино? Например при вводе в текстовое поле цифры "10" и нажатии на кнопку LOAD, в примере RANDREY, чтобы переменной, допустим X, прописанной в скетче, который закачан в ардуино, присваивалось значение X=10. Посоветуйте что можно почитать по этому вопросу!?

RANDREY
Offline
Зарегистрирован: 10.06.2012

 писать код который обслуживает эти элементы

1. при открытии формы написать код который устанавливает связь с ардуиной или по клику кнопки OPEN на форме

2. в EDIT (элемента ввода) настроить, чтоб посылала введенное на ар. Большая сложность как передавать правильно числа, так как  передается только строка, а не собственно число (0....255, 0....65535)

про визуал бейсик тут тема - http://arduino.ru/forum/programmirovanie/arduino-viual-bassic тоже самое открыть порт и передавать, эта уже тема для спрашивания на ихних формах. В висуал тоже есть такие визуальные элементы их перетаскивают на форму, а в событии на измение надо указывать MsComm.Output = aTEdit.Text; (типа послать в порт введенное)

 

Ирокез
Offline
Зарегистрирован: 27.08.2019

Цитата:
«Если бы был какой-то один инструмент/язык на котором "явно проще" - то все бы писали программы только на нем :)
А ничего, что полно народу пишет на решётке, даже не попробовав нормальные языки? Я же девять раз переходил с хорошо знакомого языка на новый, о котором вообще впервые услышал. И трижды именно на новом языке оказывалось проще. Реклама спасла отца русской демократии, а не равная простота абсолютно всех языков. И ещё четыре раза на новом языке оказывалось проще в узком классе задач. Кстати, объясни, почему некоторые вполне официально называются эзотерическими. Да, абсолютного лидера нет. Но не потому что этот вопрос субъективен, а потому, что разнообразны сами задачи. Что-то проще, или просто быстрей написать на бейсике. В жалкой сотне строк каждый лишний символ сказывается на общей длине и сложности и тогда объявление переменных первым обращением – огромнейший плюс. Но в больших проектах важней декомпозиция, позволяющая распределить код по разным уровням абстракции, что делает каждый отдельный локальный кусок каждого уровня проще необозримой «в лоб» всей задачи. И если каждый кусок кода решает свой кусок задачи, то и код будет проще. В ещё больших проектах бывает важна возможность декомпозиции на основании того, с данными каких типов работает каждый кусок кода. И тогда объектно-ориентированные языки проще даже процедурных. Но необходимость на некоторых языках запихивать в класс даже точку входа может мешать. Когда классов не много и все просты целый лишний класс – это заметно.

Цитата:
Лично мне было-бы проще на C#/WPF»
Сложнее, так будет правильней. Забудьте уже эту сказочку /про низкий уровень и аппаратную зависимость c/c++. На них невозможно помимо ассемблера ни прерывание вызвать, ни регистр прочитать/присвоить. В отличие даже от паскаля (подробности в «практикуме на турбо паскале»). А вытащить на самый верх особенности иницииализации и ожидание готовности порта можно даже на бейсике, это проблема не языка, а кривых библиотечных функций. Которые можно завернуть в лучшие оболочечные функции. А про утечки памяти рассказывают только адепты «управляемых» языков. Разве это не доказывает, что только на них и можно организовать утечки памяти?

Ирокез
Offline
Зарегистрирован: 27.08.2019

dcl пишет:

 

RANDREY пишет:

на делфи набросал за 5 минут выдуманный макет

Вот это круто) с графическим интерфейсом вроде все понятно. Одно только не пойму, вот я создал этот интерфейс, допустим в Delphi, а как мне введеные в него данные передать в ардуино? Например при вводе в текстовое поле цифры "10" и нажатии на кнопку LOAD, в примере RANDREY, чтобы переменной, допустим X, прописанной в скетче, который закачан в ардуино, присваивалось значение X=10. Посоветуйте что можно почитать по этому вопросу!?

Нет такой цифры.

Ирокез
Offline
Зарегистрирован: 27.08.2019

RANDREY пишет:
Большая сложность как передавать правильно числа, так как  передается только строка, а не собственно число (0....255, 0....65535)
Не строка, а байты. А как их интерпретировать и какие именно байты скормить функции – это уже на усмотрение каждого автора. Передавать байты результата преобразования числа в строку совсем не обязательно, можно сразу байты числа надёргать.

Ирокез
Offline
Зарегистрирован: 27.08.2019

dcl пишет:
слышал что еще в матлабе можно сделать, вот матлаб наверное ближе всего, в нем думаю смогу.
Нельзя. Это софтина только для математических выкладок, а не для программирования.