极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: eagler8

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

[复制链接]
 楼主| 发表于 2019-8-1 08:19:56 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 08:52:52 | 显示全部楼层
MAX485的引脚定义
RO(引脚1):接收信号的输出引脚。可以把来自A和B引脚的总线信号,输出给单片机。是COMS电平,可以直接连接到单片机。
RE(引脚2):接收信号的控制引脚。当这个引脚低电平时,RO引脚有效,MAX485通过RO把来自总线的信号输出到单片机;当这个引脚高电平时,RO引脚处于高阻状态。
DE(引脚3):输出信号的控制引脚。当这个引脚低电平时,输出驱动器无效;当这个引脚高电平时,输出驱动器有效,来自DI引脚的输出信号通过A和B引脚被加载到总线上。是COMS电平,可以直接连接到单片机。
DI(引脚4):输出驱动器的输入引脚。是COMS电平,可以直接连接到单片机。当DE是高电平时,这个引脚的信号通过A和B脚被加载给总线。
GND(引脚5):电源地线。
A(引脚6):连接到RS485总线的A端。
B(引脚7):连接到RS485总线的B端。
Vcc(引脚8):电源线引脚。电源4.25V≤Vcc≤5.75V。

MAX485采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 09:06:36 | 显示全部楼层
TTL转RS-485模块 MAX485 RS485模块

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 09:14:30 | 显示全部楼层
模块特点
1、板载MAX485芯片,是一款用于RS-485通信的低功耗、限摆率收发器
2、板载接5.08(mm)间距2P接线柱,方便RS-485通信接线
3、芯片全部引脚已经引出,可以通过单片机控制操作
4、工作电压:5V
5、板子尺寸:46(mm)x12(mm)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 09:21:00 | 显示全部楼层
模块电原理图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 10:42:56 | 显示全部楼层
相比TTL的通讯方式,RS485具有传输距离远,抗干扰能力强,能够串联大量RS485设备的特点。最重要的是,能兼容大量RS485协议的工业级设备。如果用户需要在多个设备之前保持长距离稳定通信,RS485是一个非常好的选择。

●    工作电压:5V
●    板载MAX485芯片
●    RS485通信功耗低
●    5.08mm间距2P端子
●    方便的RS-485通讯接线
●    板尺寸:44 x 14mm
●    它允许长距离1200米的串行通信

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 10:53:20 | 显示全部楼层
MAX-485 TTL至RS-485转换器模块的引脚

引脚名称                     引脚说明
VCC                                5V
A                  非反相接收器输入,非反相驱动器输出
B                   反相接收器输入,反相驱动器输出
GND                          GND(0V)
R0                          接收器输出(RX引脚)
RE                      接收器输出(低电平有效)
DE                     驱动器输出(高电平使能)
DI                         驱动器输入(TX引脚)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 11:02:53 | 显示全部楼层
RS485由RS232和RS422发展而来,弥补了抗干扰能力差、通信距离短、速率低的缺点,增加了多点、双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围.

RS485可以采用二线和四线两种方式,二线制可以实现真正的多点双向通信.其主要特点如下:
       (1)RS485的接口信号电平比RS231-C低,不易损坏接口电路的芯片,且该电平与TTL电平兼容,方便于TTL电路相连接.
       (2)RS485的数据最高传输速率为10Mbps.其平衡双绞线的长度与传输速率呈反比,在100Kbps速率下,才可能使用规定的最长电缆长度,只有在很短的距离下才能获得最高传输速率.
       (3)RS485接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声干扰性好,因而通信距离远,最大传输距离大约为1200m,实际可达3000m.
       (4)RS485接口在总线上允许连接多达128个收发器,既具有多站能力.同时需要两个终端电阻,其阻值要求等于传输电缆的特性阻抗.在短距离300m内传输时可不连接终端电阻.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 12:06:08 | 显示全部楼层
  1. /*
  2. 【Arduino】66种传感器模块系列实验(76)
  3. 实验七十六:TTL转RS-485模块 MAX485 RS485模块
  4. 将Arduino上的数字引脚10、11设置为软串口RX和TX与MAX485模块上的RO和DI连接
  5. MAX485模块上的RE和DE连接在一起用一个引脚2控制MAX485收发状态切换
  6. */

  7. #include <SoftwareSerial.h>
  8. SoftwareSerial Master(10, 11);
  9. char val;
  10. int DE_RE=2;

  11. void setup() {
  12.   Serial.begin(38400);   
  13.   Serial.println("Master is ready!");
  14.   Master.begin(38400);
  15.   pinMode(DE_RE,OUTPUT);  
  16.   digitalWrite(DE_RE,LOW);
  17. }

  18. void loop() {
  19.   while (Serial.available()) {
  20.     digitalWrite(DE_RE,HIGH);
  21.     val = Serial.read();
  22.     Master.write(val);
  23.   }

  24.   digitalWrite(DE_RE,LOW);
  25.   while(Master.available()) {
  26.     val = Master.read();
  27.     Serial.write(val);
  28.   }
  29. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 12:08:39 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 12:13:26 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 12:25:10 | 显示全部楼层
  1. /*
  2. 【Arduino】66种传感器模块系列实验(76)
  3. 实验七十六:TTL转RS-485模块 MAX485 RS485模块
  4. 程序之二,主机代码
  5. */

  6. #include <SoftwareSerial.h>
  7. SoftwareSerial Master(10, 11);
  8. char val[5]={'0','0','N','N','N'};              //定义一个数组,用来将从机地址和信息匹配
  9. char address;                                   //定义从机地址
  10. int DE_RE=2;

  11. void setup() {
  12.   Serial.begin(9600);                         //初始化
  13.   Serial.println("Master is ready!");
  14.   Master.begin(38400);
  15.   pinMode(DE_RE,OUTPUT);  
  16.   digitalWrite(DE_RE,LOW);
  17. }

  18. void loop()
  19. {
  20.   for(int i = 49 ; i < 51 ; i++)              //用来对每个从机进行一次大轮询
  21.   {
  22. //==========发送车位序号i=============================================//
  23.       digitalWrite(DE_RE,HIGH);               //将主机设为发送状态
  24.       address = i;                            //给从机发地址,此时是字符式,49对应1的字符串
  25.       Master.write(address);                  //传唤对应号码的从机
  26.       digitalWrite(DE_RE,LOW);                //然后立马换成接收状态
  27.       delay(500);                             //等一下从机反应,之前没有delay,
  28.                                               //maste.available还没反应过来,就过去了,加个
  29.                                               //delay刚刚好
  30.                                               //或许等从机加了超声波,还得调delay的时间
  31.                                     
  32. //==========接收车位信息到数组val里===================================//  
  33.       while(Master.available())               //等从机把数据发过来
  34.      {
  35.       val[i-49] = Master.read();              //读车位信息到数组val
  36.      }
  37.   delay(1000);                                //小循环
  38.   }                                           //整个for循环结束

  39.   for(int a = 0 ; a < 5 ; a++)                //然后把整个字符串打印出来进行观察
  40.      {
  41.          Serial.print(a+1);
  42.          Serial.println(val[a]);
  43.      }

  44.   delay(2000);                                //最后一整个过程结束后,多等两秒钟
  45. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 12:27:24 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 13:41:44 | 显示全部楼层
实验七十七: 2路继电器模块 带光耦保护Arduino扩展板

PC817
光电耦合器广泛用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,家用电器,如风扇,加热器等电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,简化电路设计。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-1 13:52:02 | 显示全部楼层
主要参数
光电耦合器
电流传输比:50%(最小值)
高隔离电压:5000V(有效值)
符合UL标准
极限参数
正向电流(ICEO):50mA
峰值正向电流(ICE max):1A
反向电压:6V
功耗:70mW
集电极发射极电压:35V
发射极集电极电压:6V
集电极电流:50mA
集电极功耗:150mW
总功耗:200mW
工作温度:-30℃ ~+100℃
集电极发射极饱和电压:0.1V(典型值)
截止频率:80kHz
电流传输比:50%~600%
封装:DIP-4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 14:52 , Processed in 0.042764 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表