用户工具

站点工具


ocrobot:alpha:rs485:tutorial01

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
ocrobot:alpha:rs485:tutorial01 [2017/10/03 08:25] – 外部编辑 127.0.0.1ocrobot:alpha:rs485:tutorial01 [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== RS485通信实验 ======
  
 +<WRAP left round info 100%>
 +这个例子教你怎样通过RS485模块,使两块MEGA328-U通信。
 +</WRAP>
 +
 +<WRAP left round box 100%>
 +==== 硬件 ====
 +  * [[ocrobot:alpha:rs485:main|RS485模块 两块]]
 +  * [[ocrobot:alpha:mega328-u:main|ALPHA MEGA328-U 两块]]
 +  * [[ocrobot:alpha:lipower:main|ALPHA Li power (锂电池板)两块]]
 +  * [[ocrobot:alpha:1602:main|1602显示屏 一块]]
 +  * 锂电池 两块
 +  * 100米长的双绞线
 +
 +==== 搭建电路 ====
 +
 +1、首先准备A组,连接电脑与mega328-u,下载A组程序,完成之后,断开数据线。
 +
 +2、将mega328-u、RS-485、Li power三者堆叠,锂电池接入锂电池板,RS-485左边的AB组接上双绞线,
 +
 +3、准备B组,连接电脑与另外一块mega328-u,下载B组程序,完成之后,断开数据线。
 +
 +4、将mega328-u和剩下的RS-485、Li power、1602LCD显示屏,四者堆叠,锂电池接入锂电池板,另外RS-485左边的AB组接上双绞线的另外一端。
 +
 +注意:A组的RS-485的A口接什么颜色的双绞线,B组的A口也要接上对应颜色的双绞线,B口同理。
 +
 +串口通讯波特率为9600
 +
 +连接效果如图:
 +{{:ocrobot:alpha:rs485:2-1.jpg?400|}}
 +
 +展示效果如图:
 +{{:ocrobot:alpha:rs485:实验最终.jpg?400|}}
 +</WRAP>
 +====拨码开关====
 +A组把5,6拨上;
 +
 +B组把1,2,5,6拨上。
 +==== A组代码 ====
 +<code cpp>
 +    
 +/*
 +  A组代码如下
 +  从0开始计数,并将数据发送至串口
 +  */
 +
 + long i=0;
 +void setup() {
 +  Serial.begin(9600);      // 打开串口传输,并设置波特率为9600
 +}
 +void loop() {
 +
 +    Serial.println(i);       // 打印一个标签
 +     i++;
 +     delay(500);
 +}
 +
 +</code>
 +
 +==== B组代码 ====
 +<code cpp>
 +/*
 +  B组代码
 +  接收串口数字,并显示在1602上
 +   */
 + 
 +
 +#include <Wire.h>
 +#include <LiquidCrystal_I2C.h>
 +LiquidCrystal_I2C lcd(0x20,16,2); 
 +
 +void setup() {
 +  lcd.init();
 +  lcd.backlight();  
 +  Serial.begin(9600);      // 打开串口传输,并设置波特率为9600
 +}
 +void loop() {
 + if (Serial.available() )       //根据接收到的字符做相应的动作
 +  {delay(100);
 +   
 +    lcd.clear(); //清屏
 +    
 +    while (Serial.available() > 0) {// 读取字符
 +     
 +      lcd.write(Serial.read()); // 显示字符
 +     
 +  }
 +  }
 +}
 +
 +</code>
 +[[ocrobot:alpha:rs485:main|返回上一级]]

Valid HTML5 Valid CSS Driven by DokuWiki