Arduino -uno 核心板 之中级系列7 IIC写MCP4725实验
适用平台:Arduino uno模块介绍:今天我们需要用到的模块是DAC转换模块,也称QQ21A模块。DAC转换芯片使用的是MCP4725。我们都知道微控制器只能使用数字量,但在现实世界中有很多模拟信号需要处理。这就是为什么使用ADC(模数转换器Analog to Digital Converters)将现实世界的模拟量转换为数字量,以便微控制器可以处理这些信号。但是,如果我们需要将数字量转换成模拟信号,那么就需要DAC(数模转换器)。这个模块的用户数据手册如下。
链接: http://www.enmaking.com/material/ma_38ky01YB使用数字转模拟转换器的简单示例是在工作室中录制一首歌曲,歌手使用麦克风唱歌。这些模拟声波被转换成数字形式,然后存储在数字格式文件中,当使用存储的数字文件播放歌曲时,这些数字值被转换成用于扬声器输出的模拟信号。所以在这个系统中使用DAC。DAC可用于许多应用,如电机控制、LED灯的控制亮度、音频放大器、视频编码器、数据采集系统等。在许多微控制器中,内部会有一个DAC可用于产生模拟输出。但是ATmega328 / ATmega168等Arduino处理器没有内置DAC。 Arduino具有ADC功能(模数转换器),但没有DAC(数模转换器)。它在内部ADC中有一个10位DAC,但该DAC不能单独使用。关于IIC协议通讯可以参考这篇文章。
链接:http://www.enmaking.com/article/ar_os1f1SJq实验内容为:首先选择从机地址进行通讯,QQ21A的从机地址为0x60,随后发送64,发送64是高速QQ21A我们要开始写数据进来了,接着将12位AD值写入到QQ21A中,最后结束发送。这样QQ21A接收到指令后自动设置好相应的电压。LOOP函数最后延时1S,回到开始,再从QQ21A中读取电压值,再将电压值升高。所以串口打印出来的数据将会是电压在持续增大的。
晒上程序效果图
https://img-blog.csdnimg.cn/20201224161852345.gif#pic_center据体关于IIC写MCP4725的实验实验内容和程序下载链接请参考原文
链接: http://www.enmaking.com/article/ar_tVtX6r5y
页:
[1]