Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Командная строка для Arduino UNO: быстрое и надежное управление скетчем

Компоненты

Зачем нужен CLI на Arduino

Часто требуется изменить параметры скетча «на лету»: считать значение датчика, подать команду роботу («поверни налево»), прочитать или установить переменную, настроить цифровой потенциометр. Простейший способ — текстовый интерфейс через последовательный порт.

Архитектура решения

Весь функционал инкапсулирован в заголовочный файл CommandLine.h. Достаточно подключить его в основной скетч:

#include "CommandLine.h"

void setup() {
  Serial.begin(115200);
}

void loop() {
  if (getCommandLineFromSerialPort(CommandLine)) {
    DoMyCommand(CommandLine);
  }
}

Возможности интерпретатора

Примеры команд

add 5, 10
sub 10, 5
blink 3
setPWM 9, 128

Ключевые функции в CommandLine.h

Интеграция в свой проект

  1. Создайте новую вкладку в Arduino IDE с именем CommandLine.h
  2. Скопируйте туда полный код из раздела «Code»
  3. Добавьте #include "CommandLine.h" в основной файл
  4. Реализуйте свои команды по аналогии с add и sub
  5. Загрузите скетч, откройте Serial Monitor (115200 baud) и тестируйте

Советы по расширению

Для большого числа команд удобно использовать хеш-таблицу или массив структур {name, function_ptr}. Аргументы можно собирать в глобальный argv[] уже в DoMyCommand. Макрос print2(label, value) упрощает отладку.

Производственный процесс

  1. Освоение комментариев в C#: виды, лучшие практики и XML-документация
  2. Освоение интерфейсов в C#: определение, реализация и практические примеры
  3. Интерфейсы в Java: концепции, реализация и лучшие практики
  4. Надежный беспроводной датчик подъездной дороги для длинных подъездов — простое подключение к Raspberry Pi
  5. Низкокостный ИК-датчик приближенности для Raspberry Pi с использованием только цифровых пинов
  6. ANDY — многоцелевой гуманоидный робот
  7. Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
  8. Аргументы командной строки в C: argc, argv и практические примеры
  9. Интерфейсы в C#: контракты для надежного ООП
  10. Линии продольной резки стальных рулонов: превращение рулонов в точные полосы