Свежие комментарии
    Благодарности: денежное общество и мойка авто

    Arduino nano. Универсальный скетч управления GPIO, сервами, аналоговыми портами

    В сети много проектов для Arduino, решил и я внести свою лепту, задача была просто упрявлять реле с помощью включения/выключения GPIO, но потом решил добавить на фиксированный GPIO подключение датчиков температуры 1-wire и возможность использовать управление сервами и аналоговыми портами.

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

    1. Безадресный режим, то есть ардуино у нас одна единственная и получает команды от устройства.
    2. Адресный режим, то есть ардуино несколько с этим скетчем и мастер отправляет данные в UART во все устройства одновременно (например с помощью шлюза ESP8266 или НС-11 (HC-12)) и ардуино уже разбирает данные проверяе его эти команды или нет, или просто для безопасности у одной ардуино адрес является паролем.

    Для использования адреса измените в 10-й и 11-й строках

    если адрес не нужен, то addrlen=0, id устройства можно не исправлять, иначе установите длинну адреса и адрес (только цифры).

    у ардуино следующая распиновка:

    arduinonanotopЦифровые выходы: D0-D13

    Аналоговые выходы: A0-A7

    При чем D0 и D1 заняты UART, D2 в скетче занят 1-wire (ниже скетч без 1-wire с возможностью использовать D2)

    Синтаксис команд в формате: адрес1234567 где

    адрес — адрес Arduino заданный в строках 10 и 11

    1 — команда

    Список команд:

    0 — включение режима OUTPUT и на выход подаем 0

    1 — включение режима OUTPUT и на выход подаем 1

    2 — включение режима SERVO

    3 — включение режима INPUT и считывание состояния порта (только для цифровых портов D0-D13)

    4 — считывание данных с аналоговых портов (только для аналоговых портов A0-A7)

    5 — режим OUTPUT для аналоговых портов, установка значения порта.

    23 — номер порта

    для режима 0 и 1 порты цифровые 0-13, аналоговые 14-21

    4567 — данные, которые посылаются в порт при командах 2 и 5

    Вот скетч без 1-wire датчика температуры

     

    Поделиться в соц. сетях

    Опубликовать в Facebook
    Опубликовать в Google Buzz
    Опубликовать в Google Plus
    Опубликовать в LiveJournal
    Опубликовать в Мой Мир
    Опубликовать в Одноклассники
    Опубликовать в Яндекс

    Комментарии закрыты.