Съдържание:

Guino: Табло за управление за вашия Arduino: 4 стъпки (със снимки)
Guino: Табло за управление за вашия Arduino: 4 стъпки (със снимки)

Видео: Guino: Табло за управление за вашия Arduino: 4 стъпки (със снимки)

Видео: Guino: Табло за управление за вашия Arduino: 4 стъпки (със снимки)
Видео: Блог Home Assistant. Home Habit - Управление умным домом с планшетов и смартфонов Android 2024, Юни
Anonim
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino
Guino: Табло за управление за вашия Arduino

Този проект е част от експерименти, направени, докато правите художник в резиденция в Instructables. Другите проекти можете да видите тук. Отстраняване на грешки и визуализиране на данни в реално време на дъската на Arduino може да бъде трудна задача. Обикновено сте заседнали със стандартния сериен изход, тъй като сложността на вашия Arduino код нараства, това прави невъзможно да се разбере какво всъщност се случва вътре в платката. За да разреша това, създадох малка библиотека, която ще ви позволи да създадете свой собствен персонализиран графичен интерфейс за вашите проекти на Arduino. Гледайте това видео, за да получите демонстрация на основен здрав свят с потметър и диод: Към момента програмата има следните възможности и функции: Персонализиран дизайн на вашия интерфейс от дъската Arduino Вие определяте кои плъзгачи, графики и бутони са ви необходими за вашия интерфейс. Правите това в скицата си на Arduino, което означава, че програмата gui действа като роб на скицата. Цялата информация се съхранява на дъската ви. Визуализирайте и манипулирайте данни в реално време Независимо дали правите RGB контролер за светлина или ръка на робот, получаването на графична обратна връзка е от решаващо значение, за да разберете какво се случва вътре в дъската. Това ви позволява да разберете дали хардуерът или кодът причиняват проблеми. Освен това плъзгачите и бутоните ви позволяват да променяте отделните параметри в реално време. По този начин можете да видите какъв ефект имат различните прагове върху взаимодействието. Запазване на параметрите в паметта на дъските Когато сте променили параметрите, можете да ги запишете в EEProm на платката. Параметрите ще се зареждат автоматично при следващото включване на платката, дори ако компютърът не е свързан. Използвайте едно и също приложение за всичките си проекти на Arduino. Направих много малки приложения за различни проекти. Проблемът ми е винаги да ги намеря отново година по -късно. Тъй като запазваме всичко в Arduino, трябва само да запазя едно приложение около Arduino, което автоматично ще конфигурира приложението за текущия проект. Прототипирайте интерфейса, преди да включите поялника, защото можете да проектирате потребителския интерфейс, както ви харесва (в рамките на разумно ограничения), можете да създадете прототип на интерфейса, преди да сте направили физически интерфейс. Това също ви позволява да разделяте задачите между множество хора, напр. един човек работи върху хардуера, а друг човек работи върху кода. Когато направите физически интерфейс, Guino ще се интегрира безпроблемно. Използвайте го като табло за цял екран Можете да го използвате като табло за цял екран, като натиснете F и натиснете T превключва видимостта на панела с настройки. По този начин вие представяте само вашия персонализиран интерфейс за света около вас. Контролирайте цвета на фона Цветът на фона може да се контролира от Arduino, което ви позволява да създавате различни цветове за различни скици. Може също така да се използва за подаване на сигнали, когато нещо не е наред. Тя може да бъде зелена, когато всичко е наред, и червена, когато нещо не е наред. Бързо и тънко Положих много грижи да направя отпечатъка на Arduino възможно най -малък - Той съхранява само минимално количество данни в паметта (конкретно показалец списък със 100 артикула). Тази настройка може да бъде променена на по -ниска или по -висока в зависимост от количеството gui елементи, които възнамерявате да имате във вашия интерфейс. Освен това системата разчита на библиотеката EasyTransfer, която прехвърля информацията в двоична форма. Всеки пакет се състои от байт за команда, байт за елемент # и цяло число за стойността. В идеалния случай всичките ви данни трябва да бъдат нормализирани до 16 -битов целочислен диапазон със знаци. Това означава оптимално използване на серийния порт при работа с цели числа (технически използваме малко допълнително пространство за контролна сума). Добър за инструктажи GUI ви позволява да създавате инструктажи, които изискват само основните компоненти. Допълнителни компоненти като потметри и др. Могат да бъдат направени практически чрез gui. Ограничения и бъдещи планове В момента приложението е компилирано към платформата Mac OSX и Windows. Той е написан в Openframeworks, така че трябва да може да работи и на други платформи. Тъй като приложението използва серийния порт, няма да можете да свържете други програми към Arduino. Това ще бъде решено в бъдеща версия, която ще включва Open Sound Control и Midi мост. Кредити: Програмиране и идея от: Библиотека Easytransfer на Mads Hobye от: Бил Портър GUI библиотека от: Reza Ali

Стъпка 1: Първи стъпки

Приготвяме се да започнем
Приготвяме се да започнем
Приготвяме се да започнем
Приготвяме се да започнем
  • Изтеглете и разархивирайте пакета GUINO.
  • Изтеглете Arduino
  • Копирайте папката библиотеки във вашата папка с библиотеки на Arduino (как да отидете тук)
  • Рестартирайте Arduino.
  • Отворете един от примерите в Arduino. (Меню: Файлове -> Примери -> Guino -> изберете един)
  • Ако използвате простия пример, направете верига, както е илюстрирано по -горе.
  • Качете примера.
  • Стартирайте приложението Guino.
  • Изберете серийния порт (обикновено последният)
  • Натиснете свързване.

Източникът може да бъде намерен тук.

ВАЖНО: Когато го използвате на платформата на Windows, трябва да използвате com порт, който е по -нисък или равен на 10. Ако използвате порт, който е 10 или по -висок, системата няма да работи. Това е грешка в openframeworks.

Стъпка 2: Как да промените кода

Как да променим кода
Как да променим кода

За да работи библиотеката с вашата скица, имате нужда от няколко допълнителни метода. Описах ги по -долу: gInit () тук определяте оформлението си. Този метод определя оформлението чрез последователно добавяне на компоненти. Компонентите, които могат да се променят (плъзгач, бутони и т.н.) имат прикрепена към него променлива. & Пред променливата означава, че не искаме да предаваме стойността в променливата, но искаме да предадем препратка (показалец) към променливата. По този начин системата Guino автоматично ги актуализира, когато настъпят промени в графичния интерфейс. void gInit () {gAddLabel ("ПЛЪЗКИ", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED ЯРКОСТ", & ledLight); // Въртящите се плъзгачи gAddLabel ("Ротационни плъзгачи", 1); gAddSpacer (1); [………….] GAddColumn (); // Добавете още неща тук. gSetColor (r, g, b); // Задайте цвета на интерфейса на gui. } GButtonPressed (int id) това се извиква всеки път, когато е натиснат бутон Обикновено променливите могат да се актуализират автоматично, но в случай на бутон това трябва да е събитие, за което се грижите. В този пример ние задаваме променливата за височина на 100, когато някой натисне бутона. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& височина); }} gItemUpdated (int id) Това се извиква, когато и елементът е актуализиран Обикновено не е необходимо да се използва това, тъй като системата автоматично ще актуализира променливите. Ако искате да реагирате на промяна, можете да я използвате като такава. В този случай ние актуализираме цвета на фона, когато един от трите въртящи се плъзгача е променен. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Стъпка 3: Няколко бързи съвета

Не забравяйте да прекъснете връзката, когато качвате нова скица Не можете да стартирате Guino, докато качвате нова скица на дъската на Arduino, тъй като те използват една и съща серийна връзка. Това изисква да прекъсвате връзката всеки път, когато качвате нова скица. Ако вие (и ще го направите) се опитате да качите, докато имате свързан Guino, дъската може да изпадне в някакво странно състояние, в което тя да работи, но не съвсем. В този момент единствената ви опция е да нулирате платката, като натиснете бутона за нулиране или като изключите и свържете отново USB кабела. Известни грешки Към момента системата работи и е стабилна. По -долу са грешките, които трябва да знаете:

  • setMin не работи на movingGraph (изглежда има грешка в GUI библиотеката, която трябва да бъде поправена). Така минимумът остава на нула.
  • Серийният списък се зарежда при стартиране на програмата. Arduino трябва да бъде включен, преди да стартирате програмата. Опресняването на серийния списък по време на работа причинява лошо събитие. Тепърва предстои да бъде решен.
  • Копаенето в серийния списък - понякога кара програмата да се срине (същото събитие на gui като опресняване - трябва да намерите източника)
  • Превключването на фона на бутоните става черно в зависимост от инициализацията. Трябва да настроя фона ръчно.
  • На някои Windows платформи com портът не се показва. Може да е проблем с драйвера на ftdi.

Стъпка 4: Използвайте случаи

Случаи на употреба
Случаи на употреба

Ако искате да видите някои случаи на използване с интерфейса на Guino, отидете на тази инструкция.

Препоръчано: