Skip to content

GPIO 操作及传感器驱动

GPIO 操作

示例驱动器件:LED、继电器、步进电机

GPIO 类驱动指的是控制器 IO 口输出高低电平,如 TTL 电平,0V 为低,3.3V 为高,这类控制方式可以直接驱动功率较小的器件,如 LED,如果需要驱动功率较大的器件,需要外接三极管电路或是继电器,通过 IO 口控制电路通断实现间接的控制功率较大的器件

ESP32GPIO 可参考如下:

ESP32 – GPIO 引脚参考大全 – 凌顺实验室 (lingshunlab.com)

注意有部分引脚不建议在项目中使用,如果使用可能会出现意想不到的错误,甚至损坏芯片。

为了便于使用,在开发板中将可用的引脚都进行引出

在 ARDUINO 中,首先需要配置使用的引脚号,以及输入输出方式

c
//配置引脚输入
pinMode(PIN_IO1, INPUT);

//配置引脚输出
pinMode(PIN_IO2,OUTPUT);

配置为输入方式后,可以读取 IO 电平高低,高为 1,低为 0

c
int s1;
s1 = digitalRead(PIN_IO1);

配置为输出方式后,可以配置 IO 电平,HIGH 为 3.3V,LOW 为 0V

c
//配置低电平输出
digitalWrite(PIN_IO2, LOW);
//配置高电平输出
digitalWrite(PIN_IO2, HIGH);

ARDUINO 安装配置中,最后通过简单的例程实现了 LED 灯的闪烁,本节首先以相同的原理实现继电器通断的控制。

继电器原理

常见的继电器模块如下:继电器有属性,5VDC 意味着需要用 5V 的电源给继电器工作,而 10A 250VAC 则限制着继电器最大能接通的电压电流。

可以将继电器理解为一个开关,若 IN 输入信号为低,则 COM 端与 NC 端连接,若 IN 输入信号为高,则 COM 端与 NO 端连接。

在开发板上,用 IO33 控制继电器通断,当 IO 输出高电平,继电器导通,当 IO 输出低电平,继电器关断。接线方式如下:

继电器引脚开发板引脚说明
INIO33信号引脚
GNDGND
VCC5V电源

继电器模块对应的驱动例程如下:

c
#define PIN_RELAY 33
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(PIN_RELAY, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PIN_RELAY, HIGH);  // 控制继电器关断
  delay(1000);                      // wait for a second
  digitalWrite(PIN_RELAY, LOW);   // 控制继电器导通
  delay(1000);                      // wait for a second
}

powered by 天人之际工作室