1)实验平台:正点原子Linux开发板
2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》
关注官方微信号公众号,获取更多资料:正点原子
![c8e96bf716f92e510173a6ee751bd2ee.png](https://i-blog.csdnimg.cn/blog_migrate/ae21432ce0a1493e909c65edc225b2b8.jpeg)
第十四章蜂鸣器试验
前几章试验中的驱动LED灯亮灭属于GPIO的输出控制,本章再巩固一下I.MX6U的GPIO输出控制,在I.MX6U-ALPHA开发板上有一个有源蜂鸣器,通过IO输出高低电平即可控制蜂鸣器的开关,本质上也属于GPIO的输出控制。
14.2有源蜂鸣器简介
蜂鸣器常用于计算机、打印机、报警器、电子玩具等电子产品中,常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器,这里的有“源”不是电源,而是震荡源,有源蜂鸣器内部带有震荡源,所以有源蜂鸣器只要通电就会叫。无源蜂鸣器内部不带震荡源,直接用直流电是驱动不起来的,需要2K-5K的方波去驱动。I.MX6U-ALPHA开发板使用的是有源蜂鸣器,因此只要给其供电就会工作,I.MX6U-ALPHA开发板所使用的有源蜂鸣器如图14.2.1所示:
![efda6ca2c12f9993f952b04f564802f9.png](https://i-blog.csdnimg.cn/blog_migrate/a34ecb01b31d9002614195609ddba09e.jpeg)
图14.2.1有源蜂鸣器
有源蜂鸣器只要通电就会叫,所以我们可以做一个供电电路,这个供电电路可以由一个IO来控制其通断,一般使用三极管来搭建这个电路。为什么我们不能像控制LED灯一样,直接将GPIO接到蜂鸣器的负极,通过IO输出高低来控制蜂鸣器的通断。因为蜂鸣器工作的电流比LED灯要大,直接将蜂鸣器接到I.MX6U的GPIO上有可能会烧毁IO,所以我们需要通过一个三极管来间接的控制蜂鸣器的通断,相当于加了一层隔离。本章我们就驱动I.MX6U-ALPHA开发板上的有源蜂鸣器,使其周期性的“滴、滴、滴…..”鸣叫。
14.3硬件原理分析
蜂鸣器的硬件原理图如图14.3.1所示: