Найти в Дзене
Электроника, ESP32, Arduino

Домохозяйка из Индии показала как написать десктопное приложение на С# для управления Arduino из под Windows

Что за домохозяйка? Да вот прямо с этой обложки - это типа намек на целевую аудиторию?

https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false
https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false

Помню как то очень давно делал приложение для управления моделью танка с компьютера через Bluetooth, на котором была установлена Windows 7. Модель управлялась теми же кнопками, которые обычно используют для игры в виртуальные танки.

-2

Саму программу тогда писал еще на еще на Delphi 7, помню что много матерился думал.

Насколько сложно будет написать подобное приложение в бесплатной версии MS Visual Studio 2022 на языке С-Шарп? (OS Windows 10)?

Visual Studio 2022 Community Edition — бесплатное скачивание последней версии

В Arduino NANO (хотя подойдет любая Arduino) заливаем следующий скетч.

-3

Теперь если в COM порт отправить символ 'А' светодиод загорится, символ 'B' светодиод погаснет.

Открываем Диспетчер устройств:

-4

Наше приложение должно уметь:

  • найти нужный порт (в нашем случае COM3);
  • настроить параметры передачи (в нашем случае 8 бит данных, без четности, один стоповый бит, скорость 9600);
  • открывать порт;
  • уметь отправлять символы А и B;
  • закрывать порт (например чтобы передать управление другому терминалу).

Запускаем Visual Studio 2022 и нажимаем кнопку "Создание проекта"

-5

Выставляем фильтры как на картинке и выбираем "Приложение Windows Forms (.NET Framework) и нажимаем далее.

-6

Даем проекту название и жмем кнопку создать.

-7

Открывается окно с инструментами и шаблоном формы

-8

Идем в Меню Вид -> Панель элементов

-9

Закидываем на форму 4 "батона"

-10

И компонент serialPort

-11

"Батонам" дадим понятные названия (правая кнопка мыши - свойства)

-12
-13

Кликаем правой кнопкой мыши по компоненту serialPort1 и в свойствах смотрим раздел прочее.

-14

Тут уже все установлено как нужно

  • скорость 9600
  • размер кадра (количество bit в одной посылке 8)

поменять нужно только имя порта (в диспетчере устройств мы видели что это порт 3)

-15
-16
  • один стоп-бит уже стоить по умолчанию - не трогаем

При нажатии на кнопки должно ЧЁТО происходить. Для того, чтобы это ЧЁТО прописать - делаем дабл-клик по кнопке.

Открывается инспектор кода и курсор уже стоит в нужном месте. Начинаем писать.

-17

Штука вумная - на русском языке все сама расскажет и покажет, достаточно поставить точку. Также необходимо будет "проклацать" остальные кнопки, и вписать нужные фрагменты кода.

Собственно говоря руками нужно будет написать всего 4 строчки

-18

Собираем проект

-19
  • кнопка OPEN открывает соединение с COM3
  • кнопка ON встроенный светодиод зажигается
  • кнопка OFF встроенный светодиод гаснет
  • кнопка CLOSE закрывает соединение с COM3 и позволяет общаться с Arduino с любого другого терминала

Для того, чтобы пользоваться программой без запуска Visual Studio нужно найти "екзешник". Закрываем студию.

Вспоминаем где мы сохраняли проект, когда его создавали.

-20

Открываем этот каталог и проваливаемся в папку "Degug"

-21

Этот файлик и есть наше приложение, можно скопировать его например на рабочий стол. Запускаем его как любую другую программу.

-22

Приложение для "форточек" готово.

Что необходимо сделать, чтобы этот файлик запустился на другом компьютере где Visual Studio нет совсем!?

Там должна быть установлена Windows и !? - вспоминаем, что у нас было в настройках при создании приложения....

-23

Соответственно должен быть установлен NET Framework 4.7.2, который можно всегда скачать с сайта Microsoft.

p.s: понятно, что это просто пример работы с С# В реальном приложении разумеется необходимо просканировать все COM порты и предоставить пользователю возможность выбора, но это как-нибудь в другой раз.

p.p.s: нашел в Интернет по C# неплохую книжку. Её автор еще и Сишный программист - поэтому параллельно проводится сравнение этих двух языков, что делает её чтение еще более увлекательным.

https://www.litres.ru/book/boris-pahomov/s-dlya-nachinauschih-6991152/
https://www.litres.ru/book/boris-pahomov/s-dlya-nachinauschih-6991152/

Там всего 423 страницы, можно неспешно прочитать за один вечер.

Оглавление канала ТУТ

Всем удачи!