Description
The RS-485 Serial Communication SnipCard allows to communicate in balanced digital multipoint systems with RS-485 standard. Iit can be used effectively over long distances and in electrically noisy environments. Multiple receivers may be connected to such a network in a linear, multi-drop configuration. These characteristics make such networks useful in industrial environments and similar applications.
RS-485 enables the configuration of inexpensive local networks and multidrop communications links. It offers data transmission speeds of 35 Mbit/s up to 10 m and 100 kbit/s at 1200 m. Since it uses a differential balanced line over twisted pair (like RS-422), it can span relatively large distances (up to 4,000 feet / 1,200 m). A rule of thumb is that the speed in bit/s multiplied by the length in meters should not exceed 108. Thus a 50 meter cable should not signal faster than 2 Mbit/s.
In contrast to RS-422, which has a single driver circuit which cannot be switched off, RS-485 drivers need to be put in transmit mode explicitly by asserting a signal to the driver. This allows RS-485 to implement linear bus topologies using only two wires. The equipment located along a set of RS-485 wires are interchangeably called nodes, stations or devices. (source: Wikipedia)
Motherboard connections
Technical specifications
- PIN A: TX+
- PIN B: TX-
- PIN COM: GND
Code example
/* -------------------------------------------------------------------------- ARCHIDUINO RS485 DEMO The RS485 module (SM_UPC_COM RS485 version) must be connected on socket #2 in order to meet the TX+ and TX- pins of the CPU Motherboard Pinout: - Pin A: RS485 TX+ - Pin B: RS485 TX- - COM : RS485 GND -------------------------------------------------------------------------- */ /* Includes ARCHIDUINO libraries */ #include <Archiduino.h> #include <ArchiduinoLcd.h> #include <pins_archiduino.h> /* Includes ARDUINO libraries */ #include <LiquidCrystal.h> // required for Archiduino LCD libraries #include <LiquidCrystal_I2C.h> // required for Archiduino LCD libraries #include <Wire.h> // required for Archiduino LCD libraries #include <Serial.h> // -------------------------------------------------------------------------- ArchiduinoLcd_PCF lcd; // set the LCD address to 0x20 for a 16 chars and 2 line display // -------------------------------------------------------------------------- void setup() { delay(1000); lcd.init(); // initialize the lcd lcd.begin(16, 2); // initialize lcd and keyboard lcd.clear(); Serial1.begin(9600); // initialize the serial port 1 // Print a message to the LCD. lcd.backlight(); // turn on the LCD backlight lcd.print(" ARCHIDUINO "); lcd.setCursor(0, 1); lcd.print(" DEMO RS485 "); } // -------------------------------------------------------------------------- void loop() { Serial1.println("THIS IS A RS485 TEST"); delay(500); }