Добрый день. Вчера на форуме программы FLProg пользователем Rw6cm был выложен очень интересный пост. Я решил, что информация из него может оказаться интересной более широкому кругу людей, поэтому описание проекта от автора опубликовал здесь (автор не имеет аккаунта на Geektimes).

Пример, как из Excel управлять Arduino и получать данные.
Информация может быть полезна сторонникам Excel и знающим основы VBA.
Пример реализован в FLProg 1.10.5 на Windows7 — 32 и 64, и MsOffice 2007.
Все необходимое для его повтора находится в архиве.
В качестве примера взят датчик DS18B20, который по команде из Excel через ComPort, с arduino uno передает данные температуры каждые 5 секунд в Excel, и строит в нем OnLine график.



На стороне Arduino мониторинг температуры и команды Excel выводятся на дисплей.



Схемка в FLProg не сложна для понимания и повтора.



На стороне Excel программа написана в VBA с использованием ActiveX MSCOMM32 мелкософта.
Библиотека и хелп по установке внутри.

Важно!!!

Элемент ActiveX MSComm древний, и работает с COM портами с 1 по 16.
Если ваше устройство определилось с большим номером, измените его в свойствах драйвера.


Сборка проста, подключаете arduino по юсб шнуру,
открываете проект, ставите свой адрес датчика Ds18b20, заливаете.
Запускаете файл excel, разрешаете в нем работу макросам, прописываете № Com порта arduino,
нажимаем «Начать»… и наслаждаемся.
Кому захочется поковыряется в коде, пароль 123
Дерзайте!!!


Архив с исходниками

Комментарии (12)


  1. beliakov
    26.03.2016 20:50
    +7

    https://geektimes.ru/info/help/rules/

    Чем не является Geektimes

    Geektimes — не место для копипастеров. Размещение полностью скопированного контента с других сайтов запрещено — даже при использовании гиперссылки на источник. Мы за авторские материалы.


    1. beliakov
      27.03.2016 13:55
      +1

      Минусуют те же товарищи которые цитирование конституции считают экстремизмом? :-)


  1. totuin
    26.03.2016 21:40

    Автор к сожалению не имеет аккаунта на Гиктайме, и не может написать от своего имени. Тема показалась мне интересной, и я думаю есть смысл опубликовать её здесь. Тем более что здесь скопирован не текст поста а личное описание автора которое нигде больше не опубликованно.


    1. beliakov
      27.03.2016 13:59
      +2

      Если так то другое дело. Просто у вас первый абзац сформулирован так, будто дальше пойдет копия сообщения с форума. Текст обернутый в <blockquote> наводит на те же мысли.


    1. totuin
      27.03.2016 21:26
      -2

      Если посмотреть на количество просмотров и добавлений в избранное, тема действительно оказалась интересной. Поскольку большинство участников форума пользователей программы FLProg не имеют аккаунта на Гиктайм (ну так сложилось), я планирую в дальнейшем продолжить рассказывать об их успехах в своём блоге, естественно с указанием авторства и разрешения автора. Даже не смотря на возмущение "борцов за чистоту портала". Надеюсь администрация Гиктайма поймёт что интересные посты выгоднее "идейной чистоты" и не сразу меня забанят.


  1. Sadler
    27.03.2016 17:06
    +2

    FLProg, Excel, VBA, COM, ActiveX
    Вот это комбо!


    1. chaloner
      28.03.2016 06:17
      -1

      Еще и com-порт найти надо…
      Автор идеи явно не искал легких путей.


      1. Zenitchik
        28.03.2016 12:51
        -1

        А чё его искать? Воткнул переходник в USB и пользуйся. Порт, на котором можно «лапками дрыгать» как угодно, штука в хозяйстве полезная.


      1. AndyE
        28.03.2016 18:00

        Ну под это дело наверняка был найден какой-нибудь древний ноут или завалявшийся в кладовке системник на котором COM-порт найти не проблема. А там глядишь и LPT c ISA не задействованы остались.


        1. totuin
          28.03.2016 18:12
          -1

          Господа, прежде чем писать "очень ироничные и глубокомысленные" комментарии, я считаю надо быть хоть немного в теме. Я так понимаю Вы увидали знакомые слова "Компорт, схема, датчик" и не удержались от того что бы отметиться.
          Проведу ликбез.

          1. Для снятия показаний с датчика используется плата Arduino. Она подключается к компьютеру через USB (есть такой порт на всех компьютерах, и даже на новых как ни странно). В результате в компьютере получается виртуальный (как бы настоящий) ком порт, который и используется в описанном примере. Так что искать в кладовке старый ноутбук с ком портом нет необходимости.
          2. Схемка рисуется в программе FLProg, которая потом преобразует её в прошивку для платы Arduino. Так что собирать схему из проводочков не надо.


  1. TimsTims
    28.03.2016 11:21
    +1

    <картинка троллейбуса из хлеба>
    Вопрос — но зачем? Почему именно Excel и как это объясняется?


    1. Zenitchik
      28.03.2016 12:44

      А какая разница? Это просто пример приложения под Windows. Я бы, допустим, свой exe-шник сотворил. Хоть на том же VB.