众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板。大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython、Mind+ 等。但是,既然掌控板是基于 ESP32 芯片的,所以我们也可以用 Arduino 软件对其编程。所以,有时间的话,我准备给大家分享一系列用 Arduino 代码对掌控板(ESP32)编程的教程:用Arduino玩转ESP32与掌控板系列。
本系列历史文章目录:
本期给大家带来的是:掌控板IO接口编程入门,教你用 Arduino IDE 学会掌控板 IO 接口的简单编程操作。IO 就是 INPUT 与 OUTPUT 的缩写,即输入与输出。
其实本篇是这个系列的入门篇之一,但是由于我一直偷懒,这篇一直放着没写,先写了一些进阶的内容。本篇比较简单,所以就不放案例演示视频了。
概述
掌控板的 IO 口主要是用来连接外部传感器、执行器等相关外设的。平时我们使用最多最常见的一些外设,一般都是数字量或模拟量的,传感器一般都是输入设备、执行器一般都是输出设备。所以,一般情况下学习一个主控板的 IO 口基本操作,我们都是从数字输入、数字输出、模拟输入、模拟输出这个 4 个方面来进行学习的,本篇也不例外。
这里需要注意的是,输入和输出是相对主控板来说的:
- 当信号是由主控板向外设发送时,相应的外设就是主控板的输出设备;
- 当信号是由外设向主控板发送时,也就是主控板去读取外设的信号时,相应的外设就是主控板的输入设备。
所以:
- 大部分传感器都是输入设备,因为他们的功能是测量数据,然后主控板去读取他们的数据;
- 大部分执行器都是输出设备,因为是主控板向他们发送信号、控制他们完成相应的操作。
数字输入
数字输入(或数字量输入)设备是生活中最常见的设备,比如房间里的开关、按钮、楼道里的人体感应设备,这些设备有一个共同的特点,即只有 2 中情况:有或无、开或关、1 或 0,这些只有 2 种情况的设备,一般称为数字量设备。相应地,如果他们是传感器,则称为数字输入设备,或数字输入传感器。
掌控板上的按键 A 和 B,其实就是数字输入传感器。所以本节就以读取掌控板上的按键 A 和 B 为例,教你对数字输入设备编程。
先来先一下完整的程序:
// 设置掌控板按键 A 的引脚编号
const int buttonAPin = P5;
// 设置按键 A 的状态值变量
int buttonAState = 0;
void setup() {
// 初始化串口监视器
Serial.begin(9600);
// 初始化按键 A 对应的引脚为输入模式
pinMode(buttonAPin, INPUT);
}
void loop() {
// 读取按键 A 的值
buttonAState = digitalRead(buttonAPin);
// 如果按键 A 被按下了,串口监视器输出信息
if (buttonAState == LOW) {
Serial.println("Button A pressed");
}
delay(100);
}
这个程序很简单,程序中也有相应的注释了,我们简单来讲解一下。
首先在程序开头定义了两个变量,buttonAPin 用来定义按键 A 对应的引脚,buttonAState 用来存储按键 A 的状态。
// 设置掌控板按键 A 的引脚编号
const int buttonAPin = P5;
// 设置按键 A 的状态值变量
int buttonAState = 0;
这里讲一下