proteus光敏电阻电路的arduino仿真

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

一、电路绘制

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);
 else
  digitalWrite(13,0);
}

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

2、运行效果

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值