模拟器件如蜂鸣器、继电器、直流电机等在arduino电路中,如果我们接在数字管脚上来驱动往往可能因为驱动电流不够而达不到预期效果,或者没有动作或者没有动静。这篇博文我们专门来讨论一下如何驱动他们。
文章目录
- 一、典型电路
- 1、蜂蜜器
- (1)蜂鸣器的种类:
- (2)使用说明
- 2、直流电机
- 3、继电器
- 二、代码与运行效果
- 1、代码
- 2、运行效果
- (1)电机的运行效果
- (2)继电器的运行效果:
文章原出处: https://blog.csdn.net/haigear/article/details/129395755
一、典型电路
1、蜂蜜器
我们可能会有这样的经历,在arduino板上,或者在其他的单片机上接了一个蜂鸣器,结果控制信号都没有问题,电路也没有问题,但就是不会听到蜂鸣器的响声。问题就在电流不够没有能够驱动蜂鸣器。
下图,我们在2号口接了一个控制按键,按键电路没有采用去抖电容,实际项目中还是加一个硬件去抖最好。在6号口上我们街上了三极管的基极来控制蜂鸣器的开关,由电源直接来驱动蜂鸣器。
一般我们使用的有源蜂鸣器,不仅对驱动电压有要求(有的蜂蜜器驱动电路100MA以上),如果arduino板还有其他的消耗,有的时候蜂鸣器就不会发生声音了。
(1)蜂鸣器的种类:
种类 | 别名 | 优点 | 缺点 |
---|---|---|---|
有源蜂鸣器 | 自激式蜂鸣器 | 内部有振荡、驱动电路,加电源就可以发出鸣响 | 频率固定,声音单一单调 |
无源蜂鸣器 | 他激式蜂鸣器 | 声音频率可控,可以利用单片机编程PWM来控制频率,发出各种声调 | 需要加载驱动电路 |
(2)使用说明
自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音。而单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
2、直流电机
直流电机往往我们都会在控制他们的时候有专用的驱动芯片,比如L298,TB6612、AS4950、A4950AT8236、AT8236等,当然,你也可以自己设计一个H电桥,这也是很常见的。但,如果你驱动一个电机,那就没有这个必要了,一个三极管是可以满足你的要求的。如下图一般:
这里的电路图其实和蜂鸣器没有什么差别,所以不再赘述。有关电机的正反转的控制及L298电路的使用,可以参考我前面的博文:proteus中仿真arduino控制L298实现电机正反转
3、继电器
我们都知道,继电器是用来做隔离的一种开关,常常用在抵押控制高压,弱电控制强电的场合,所以控制领域使用频繁,这里我们也来看看,arduino模拟控制电机或者大型设备时的场景。
继电器从器件库中拿过来默认电压是12V,arduino的输出口是无法驱动的,所以这里我们记得要改为5V,如下图:
二、代码与运行效果
1、代码
三个电路基本上没有什么差别,所以,采用的代码都是一样的,只需要读取输入口2号口的按键信号,根据信号来控制6号口的输出即可。代码如下:
void setup () {
pinMode(2,INPUT);
pinMode(6,OUTPUT);
// TODO: put your setup code here, to run once:
}
void loop() {
if(digitalRead(2))
digitalWrite(6,1);
else
digitalWrite(6,0);
// TODO: put your main code here, to run repeatedly:
}
2、运行效果
(1)电机的运行效果
有关电机的正反转的控制及L298电路的使用,可以参考我前面的博文:proteus中仿真arduino控制L298实现电机正反转
(2)继电器的运行效果:
蜂鸣器的仿真我们看不到画面效果,这里就不贴出来了。
码字不易,转载注明出处:https://blog.csdn.net/haigear/article/details/129395755