1.0 简介
- ADC:Analog-to-Digital Converter(模数转换器),A我们称为模拟信号(Analog signal),D我们称为数字信号(digital signal),AD转换器就是把模拟信号转换成数字信号的器件。这里主要指一些随着环境变化输出电压值随之变化的器件,如火焰传感器、部分温度传感器、可调电阻等等本文通过ADC的通道采样电位器上的电压值,通过串口将电压数据打印出来并输出LED。
1.模拟信号:模拟信号是指信息参数在给定范围内表现为连续的信号。或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。像那些电压/电流与声音这些都是模拟信号。
⒉数字信号:数字信号指幅度的取值是离散的,幅值表示被限制在有限个数值之内。二进制码就是一种数字信号。二进制码受噪声的影响小,易于有数字电路进行处理,所以得到了广泛的应用。
3.DAC:D/A转换器刚好与A/D功能相反…它是把数字信号转换为模拟信号。
- B10K电位器外形结构:通常是由电阻体与转动或滑动系统组成,即靠一个动触点在电阻体上移动,获得部分电压输出,初中我们叫滑动变阻器。
- 工作原理:
Arduino uno中模拟量采集要使用6个具有ADC功能的模拟I/O口,使用功能函数analogRead()读取A0电位器引脚的模拟量电压值,每读一次需要花100微妙的时间,然后PWM analogWrite输出D3小灯。 - 电位器相关参数见下表:
2.0 实验材料
- Arduino Uno R3开发板
- USB数据线
- 两根公母线,三根母母线
- 一只LED和220欧姆电阻
- 一台安装Arduino开发环境的电脑
3.0 实验步骤
3.1 根据原理图搭建电路
将Arduino的0号模拟口接至可调电位器的中点,电位器另外两端分别连接+5V和地,LED链接3号,另一端接地,USB口连接至计算机用于传送采样数据。
实验原理图:
实验接线图:
3.2 新建sketch,拷贝如下代码并进行保存编译上传
代码:
MIxly模块
Arduino IDE代码
volatile int A; volatile int D; void setup(){ A = 0; D = 0; Serial.begin(9600); } void loop(){ A = analogRead(A0); D = (map(A, 0, 1023, 0, 255)); analogWrite(3,D); Serial.print("D: "); Serial.println(D); delay(100); }
3.3 实验现象
旋转变阻器,LED的亮度发生渐变
Arduino ADC+B10K电位器
4.0 总结
- 本篇通过ADC的通道采样电位器上的电压值,通过串口将电压数据打印出来并输出LED。难度综合性强,值得新手一试!!!😃😃😃
- 在以后的博文中我们将学会用arduino常用传感器和执行器,从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。