试用MAX485组半双工RS485网
需Max485两个 DIP-8的我买的0.5元一个
Arduino2、面包板2个、面包板线若干、120欧电阻2个
接线原理图
RO接Arduino的pin0(RX)RE和DE一起接pin2(其实直接接5V和GND亦可,接5V为发送状态,接pin2的话相对灵活一点)DI接pin1(TX)
VCC接Arduino的5V GND接GND A接A B接B 原理图里应该能看到AB之间接根120欧电阻(应该是阻抗)
测试用程序 (匆忙中写的 你应该比我写的更好)
// Master
//-------------------------------
int EN = 2;
byte h1 = 'red';
byte h2 = 'white';
void setup()
{
pinMode(EN, OUTPUT);
Serial.begin(19200);
}
void loop()
{
// send data
digitalWrite(EN, HIGH);//使能发送
Serial.print(h1,BYTE);
delay(6000);
Serial.print(h2,BYTE);
delay(6000);
}
//----------------------
// Slaves
//----------------------
int ledPin = 13;
int EN = 2;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(EN, OUTPUT);
Serial.begin(19200);
}
void loop()
{
// receive data
digitalWrite(EN, LOW);//使能接收
if (Serial.available() > 0) {
byte val=Serial.read();
byte val1='red';
byte val2='white';
if (val == val1) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
else if(val == val2){
digitalWrite(ledPin, HIGH);
delay(5000);
digitalWrite(ledPin, LOW);
}
}
}
当接收到red指令时13号灯闪3下 接到white时亮5秒!(之前用红白色的led试的,发现没有自带的13号灯方便) 485组网理论可以传1200m,建议楼主整理一下两个机子之间的连线,好像最少要两条信号线,一条地的。毕竟连线几百米的话,很大成本在电线 哦 不过已经都被我拆了 {:soso_e100:} ~~~线怎么连 我已经说明了 即使没有图也应该能插好!~ 学习了,正准备开始485改造计划 感觉不太详细,能不能把板子的情况介绍介绍,怎么有一个是大U口一个小U口是吗? piaozhiling 发表于 2011-10-8 00:07 static/image/common/back.gif
感觉不太详细,能不能把板子的情况介绍介绍,怎么有一个是大U口一个小U口是吗?
板子不重要~~大U小U都是arduino啊~~每个板子都只用到pin0 pin1 pin2 5V GND Ansifa 发表于 2011-10-7 14:52 static/image/common/back.gif
485组网理论可以传1200m,建议楼主整理一下两个机子之间的连线,好像最少要两条信号线,一条地的。毕竟连线 ...
两条线,485是差分的,一般叫做 A + ,B- ;没有地. 我也想用485組网。如上是一对一的组网,如果我想用485组一个少于32台从机的网,怎么组呢?主从机A-A,B-B,从机之间也是A-A,B-B,如何区别不同的从机,是设置地址吗?怎么设呢?请教! http://ftp.geek-workshop.com/forum/201205/23/114910dqjsjpyqbzqpr7yb.jpg
我看你是用右边这个接线方法,但左边这个图又是怎么回事呢,求解答。 楼主你这个是Ardunio与另一个Arduino串口通讯吗? 请问楼主。如果是用max485模块去给变频器发命令控制马达。该怎样写程序啊。。
我不懂modbus。还请指教。。 本帖最后由 prairiewolf 于 2015-5-9 11:09 编辑
楼主:我根据您的描述画了接线图,不知道正确与否(mega2560和arduino nano3.0)。
http://image.geek-workshop.com/album/201505/07/130024br7prpo7zrd98dp6.png 485的双机通讯,希望你能看到远距离传输是什么结果?另外程序中有个delay(6000),这个延时是不是太大了?
页:
[1]