和上一次同理,这次我们使用的元器件换成了一个模拟信号输入器件,使用旋转电位计代替上一次的按键开关。道理都是相通的,废话不多说,让我们直奔主题!
首先还是准备阶段,包括硬件和软件两方面。
硬件方面
具体包括如下:
软件方面Arduino官方提供的IDE。
好!需要的就这些。下面我就开始连接电路!
连接电路
- Arduino UNO电路板(1块)
- 旋转电位计(1个)
- 面包线(3根)
软件方面Arduino官方提供的IDE。
好!需要的就这些。下面我就开始连接电路!
连接电路
直接用面包线把电位计连接到Arduino UNO电路板上,注意电位计的正负电源针脚不要接错!
接下来是最后一步!
添加几行代码首先打开Arduino的IDE,新建一个Arduino项目窗口。
完成之后,向其中添加如下代码。
接下来是最后一步!
添加几行代码首先打开Arduino的IDE,新建一个Arduino项目窗口。
完成之后,向其中添加如下代码。
// 对Arduino电路板或相关状态进行初始化方法void setup() { // 开启串行通信,并设置其频率为9600。 // 如果没有特别要求,此数值一般都为9600。 Serial.begin(9600); } // 系统调用,无限循环方法 void loop() { // 读取针脚号为 A0 的模拟信号。 // analogRead() 方法是模拟信号读取方法。 // 将模拟信号值存入名为 sensorValue 的整型变量。 int sensorValue = analogRead(A0); // 将获取的模拟信号值打印到串口显示。 Serial.println(voltage); }
复制代码最后,我们只需要将程序烧入Arduino即可。
图片来源:Arduino官方IDE的文件编辑菜单选项
根据上图指示,点击向右指向的箭头图标,将程序烧入。成功之后,点击右上方的放大镜图标,打开串口调试窗口。此时你会看到,窗口在实时的更新获取到的数据。旋转电位计,窗口中的数据也会相应发生改变。因为Arduino UNO电路板上有一个模拟数字信号转换器,俗称ADC(analog-to-digital converter),此时读到的数值会被转换为0到1023之间,即analogRead()方法返回的值在0到1023之间。
总结打完收工!这次我们主要学习了如何获取外部元器件输入的模拟信号。这个功能的使用非常的常见,比如控制灯光的强弱,声音的大小等等,都有可能会用的到。而实现这个想法,也只需要一个analogRead方法即可,已经无法再简单了!
下期预告至此呢,我们学习了数字信号的输入输出,模拟信号的输入输出。我们已经具备了一定的基础。接下来要做什么呢?嗯,接下来的小怪兽会逐渐强大!在前几次学习中,我们用到了一个名为delay()方法,这个方法是系统类库提供给我们的,拿来就能用。那么现在问题来了,为了让以后的编程过程更灵活,如何在不使用这个方法的情况下实现时间延迟呢?嗯,下一次我们将挑战这个问题!