RS485 Shield для Ардуино. Вот такой шилд я прикупил для своего Ардуино его очень удобно использовать для создания устройств с RS485. Шилд поддерживает управление приёмом передачей в автоматическом и ручном режиме выбор переключателем.
Описание RS485 Shield V1.0
В стандарте RS-485 для передачи и приёма данных используется одна витая пара проводов, иногда сопровождаемая экранирующей оплеткой или общим проводом. Передача данных осуществляется с помощью дифференциальных сигналов. Разница напряжений между проводниками одной полярности означает логическую единицу, разница другой полярности — ноль.
Особенности - Питание 5.0 В - 16 цифровой порт ввода-вывода (в том числе интерфейс I2C) - 6 аналоговых I/O портов - Переключатель в режима программирования - Автоматический / ручной переключатель режима трансивера - Светодиоды RX TX - Стандартный интерфейс RS485, мини-интерфейс RS485 (PH2.0) и выводы RS485 - Область для прототипирования - Кнопка сброса - Размер 55 x 53 мм
Схема шилда
Пример программы для ардуино для работы с шилдом Код Sample Code Automatic Transmission Mode /* # This sample codes is for testing the RS485 shiled(automatic transmission mode). # Editor : YouYou # Date : 2013.9.16 # Ver : 0.1 # Product: RS485 shield # SKU : DFR0259 */ int led = 13; void setup() { Serial.begin(9600); pinMode(led,OUTPUT); } void loop() { int temp; if(Serial.available()) { temp=Serial.read(); if(temp=='V'){ digitalWrite(led,1-digitalRead(led)); Serial.println("OK"); } } }
Manual Transmission Mode
/* # This sample codes is for testing the RS485 shiled(manual transmission mode). # EN=2; # Editor : YouYou # Date : 2013.9.16 # Ver : 0.1 # Product: RS485 shield # SKU : DFR0259 */ int led = 13; int EN = 2; //Definition RS485 shield enable terminal (the 2nd digital IO ports), //high for the sending state, the low level of receiving state void setup() { Serial.begin(9600); pinMode(led,OUTPUT); pinMode(EN,OUTPUT); } void loop() { int temp; digitalWrite(EN,LOW); //Enable low, RS485 shield waiting to receive data if(Serial.available()) { temp=Serial.read(); if(temp=='V') { digitalWrite(led,1-digitalRead(led)); digitalWrite(EN,HIGH); //Enable high, RS485 shield waiting to transmit data Serial.println("OK"); delay(10); //Delay for some time, waiting for data transmitted } } }
купить можно на Amperka.ru или Ebey |