Общие сведения
Конвертирующий модуль на базе чипа MAX485 — предназначен для преобразования сигналов TTL (Transistor-Transistor Logic - транзисторно-транзисторная логика) шины UART (Universal Asynchronous Receiver-Transmitter - универсальный асинхронный приёмопередатчик) в стандарт RS485 (Recommended Standard 485 - рекомендуемый стандарт 485) и обратно.
Характеристики
- Рабочее напряжение: 5 В
 - Потребляемый ток: < 10 мА
 - Ток потребляемый в режиме ожидания: < 5 мА
 - Частота передачи данных: <2,5 Мбит/с
 
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Конвертирующий модуль подключается к шине UART:
| Конвертирующий модуль | Arduino | 
|---|---|
| DI (Driver Input - вход передатчика) | TX (transmit - передать) | 
| RO (Receiver Out - выход приёмника) | RX (receive - получить) | 
| Vcc (Voltage constant current - напряжение постоянного тока) | Vcc | 
| GND (GrouND - земля) | GND (GrouND - земля) | 
| DE (Driver Enable - разрешение работы передатчика) | D10 (Digital - цифровой) | 
| ~RE (Receiver Enable - разрешение работы приёмника) | D10 (Digital - цифровой) | 

Все конвертирующие модули на линии соединяются одноименными выводами: «A» с «A», «B» с «B».
Примеры
Отправка значений с клавиатуры и вывод принятых значений на LCD-дисплей.
Пример взят из Урока 26.2.
// Подключаем библиотеки:
#include <Wire.h>                            // подключаем библиотеку для работы с шиной I2C
#include <LiquidCrystal_I2C.h>               // подключаем библиотеку для работы с LCD дисплеем
#include <iarduino_KB.h>                     // подключаем библиотеку для работы с матричной клавиатурой
// Объявляем переменные и константы:
LiquidCrystal_I2C lcd(0x27,16,2);            // объявляем переменную для работы с LCD дисплеем, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
iarduino_KB       KB(9,8,7,6,5,4,3,2);       // объявляем переменную для работы с матричной клавиатурой, указывая номера aeduino подключенные к шлейфу клавиатуры, начиная с первого вывода шлейфа
const uint8_t     PIN_direction_TX_RX = 10;  // указываем номер вывода arduino, к которому подключены выводы RE и DE конвертирующего модуля
void setup(){
  pinMode(PIN_direction_TX_RX,   OUTPUT);    // устанавливаем режим работы вывода PIN_direction_TX_RX, как "выход"
  digitalWrite(PIN_direction_TX_RX, LOW);    // устанавливаем уровень логического «0» на выводе PIN_direction_TX_RX (переводим модуль в режим приёма данных)
  Serial.begin(9600);                        // открываем последовательный порт на скорости 9600 бод
  KB.begin(KB1);                             // инициируем клавиатуру (KB1 - эластичная матричная клавиатура 4х4)
  lcd.init();                                // инициируем LCD дисплей
  lcd.backlight();                           // включаем подсветку LCD дисплея
  lcd.setCursor(0, 0);                       // устанавливаем курсор в позицию: столбец 0, строка 0
  lcd.print("iArduino.ru");                  // выводим текст "iArduino.ru"
  lcd.setCursor(0, 1);                       // устанавливаем курсор в позицию: столбец 0, строка 1
  lcd.print("Received data:");               // выводим текст "Received data:"
}
void loop(){
  if(KB.check(KEY_DOWN)){                    // если нажимается кнопка (KEY_DOWN - нажимается, KEY_UP - отпускается, KEY_PRESS - удерживается), то ...
    digitalWrite(PIN_direction_TX_RX, HIGH); // переводим модуль в режим передачи данных
    delay(1);
    Serial.print(KB.getChar);                // отправляем символ кнопки в последовательный порт (для вывода цифры кнопки используйте KB.getNum)
    delay(1);
    digitalWrite(PIN_direction_TX_RX, LOW);  // переводим модуль в режим приёма данных
  }
  if(Serial.available()>0){                  // если в последовательном порту есть данные для чтения, то ...
    lcd.setCursor(15, 1);                    // устанавливаем курсор в позицию: столбец 15, строка 1
    lcd.print(char(Serial.read()));          // выводим байт данных в виде символа, из последовательного порта на LCD дисплей
  }
}Настройка параметров линии связи
Конвертирующий модуль только преобразует сигналы TTL в стандарт RS485 и обратно. Параметры линии: скорость передачи данных, количество бит в минимальной посылке, длина стопового бита, проверка на чётность/нечётность, зависят от настроек шины UART, см. раздел «Настройка параметров шины UART» в уроке 26.1.
Настройки шины UART для всех Arduino, подключённых к линии, должны быть идентичны!
Комплектация
- 1х Конвертирующий модуль на базе чипа MAX485;
 
      















