proteus光敏电阻电路的arduino仿真
创始人
2024-05-30 10:52:57

虽然Fritzing0.9.10有了仿真的功能,但都是测试板,能够仿真的很有限,所以还是要借助proteus来仿真。这里,我们来实先一个简单的光明电阻的仿真电路。本篇博文,重点演示proteus仿真arduino光敏电阻,arduino采集模拟量必须注意采用分压电路与模拟传感器构成分压电路,及分压电路与模拟信号的采集注意点。

文章目录

  • 一、电路绘制
    • 1、实物图
    • 2、仿真图
  • 二、代码与运行
    • 1、代码
    • 2、运行效果

一、电路绘制

1、实物图

为了使大家能够在面包板上实现,我用Fritzing绘制了这个电路,我们可以对照以前我们绘制的可变电阻的型号输入(模拟信号输入)电路,他们完全是同样的原理,感兴趣的可以参看我前面的博文《解读arduino读取模拟信号实例》。
在这里插入图片描述
这里我们注意,我们采用的模拟端口来获取信号,根据信号的强弱来控制信号灯的开关。那我们这里就必须采用一个分压电路,让光敏电阻和电阻来分压,当光敏电阻值因光照增加而减小时,分压越小,即信号接入点的电压就越高,高到我们设定的值,则13号脚的信号灯就会点亮。

2、仿真图

从原来图来看,与实物图一样,在13号脚上接上了一个信号灯,模拟信号从光敏电阻和10K电阻所组成的分压电路引出。我们采用的是328P的芯片。
在这里插入图片描述
这里我们只是简单的为芯片提供了电源,其余的引脚没有做处理,这个在proteus中不影响仿真的效果。但实际电路是需要提供最起码完整的最小系统的。

二、代码与运行

1、代码

以下代码,我们只是简单将13号引脚的输入输出模式设置为输出output,用val接受A5脚读到的电压值,判断如果电压值大于200则信号灯亮起。


// the setup function runs once when you press reset or power the board
void setup() {pinMode(13,OUTPUT);
}// the loop function runs over and over again until power down or reset
void loop() {int val=analogRead(A5);if(val>200)digitalWrite(13,1);elsedigitalWrite(13,0);
}

注意,这里的电压值200不等同与我们用电表测量的电压值。

2、运行效果

运行效果如下:
请添加图片描述

三、总结
模拟量的采集在自动化控制中是比较常见的,需要注意的是我们不能直接将传感器,尤其是模拟传感器信号接在模拟信号采集脚上,这样有可能灌入电流太大造成管脚损坏,如下图:
在这里插入图片描述
而且,如上图这么接,我们很难得到一个确定的信号量,这是需要注意的!
本篇博文,重点演示proteus仿真arduino光敏电阻,arduino采集模拟量必须注意采用分压电路与模拟传感器构成分压电路,及分压电路与模拟信号的采集注意点。

码字不易,转载请注明出处:https://blog.csdn.net/haigear/article/details/129392784

文章目录

  • 一、电路绘制
    • 1、实物图
    • 2、仿真图
  • 二、代码与运行
    • 1、代码
    • 2、运行效果

相关内容

热门资讯

粤港澳大湾区ETF净值下跌3.... 平安中证粤港澳大湾区发展主题交易型开放式指数证券投资基金(简称:粤港澳大湾区ETF,代码512970...
华夏中证5G通信主题ETF净值... 华夏中证5G通信主题交易型开放式指数证券投资基金(简称:华夏中证5G通信主题ETF,代码515050...
前海开源中证500等权ETF净... 前海开源中证500等权重交易型开放式指数证券投资基金(简称:前海开源中证500等权ETF,代码515...
国泰中证细分化工产业主题ETF... 国泰中证细分化工产业主题交易型开放式指数证券投资基金(简称:国泰中证细分化工产业主题ETF,代码51...
易方达中证智能电动汽车ETF净... 易方达中证智能电动汽车交易型开放式指数证券投资基金(简称:易方达中证智能电动汽车ETF,代码5165...