Promake RS485 M1
Description
RS485 is an industrial standard for long distance, anti-interferrence and reliable communication. The ProMake RS485 M1 offers a half-duplex RS-485 communication, which can be used as an interface between the TTL level UART and the RS485 communication bus. It converts UART/Serial protocol to RS485 protocol and features a selectable voltage between 3.3V or 5V, which makes it suitable for multi-point applications over long cable runs and noisy areas, thanks to the onboard transient voltage suppressor (TVS) diodes. This device is perfectly suitable for industrial systems, building automation or HVAC systems and many more.
Features
- Operates from a single +3.3V or +5V supply
- RS-485 input/output broken screw terminal for easy wiring and connection
- Bus-Pin ESD protection exceeds 16-kV HBM
- Allows up to 32 transceivers on the serial bus
- Bus-Pin Short-Circuit protection from –7 V to 12 V
- Breadboard-friendly
Important Notes
Resource
What is RS485?
"RS-485 enables the configuration of inexpensive local networks and multidrop communications links. It offers data transmission speeds of 35 Mbit/s for distandances up to 10 m and 100 kbit/s up to 1200 m. Since it uses a differential balanced line over twisted pair (like RS-422), it can span relatively large distances up to 1,200 m (4,000 ft). 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." From Wiki.
Module Pinout
Software
Developement using Arduino
To set up the hardware, Insert your sim card and easily plug this module into:
Module3
slot of your ProMake® Arduino Nano Kit
or
Module2
slot of your ProMake® Arduino Uno Shield
or
- Use your breadboard to connect the Power and UART lines.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 7); // RX, TX
void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
//digitalWrite(9,LOW);
digitalWrite(9,HIGH);
// Initialize "debug" serial port
// The data rate must be much higher than the "link" serial port
Serial.begin(9600);
while (!Serial) continue;
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}