本人是新手,刚开始接触esp32板,希望能与大家交流。
开发板使用:正点原子ATK_DNESP32S3 V1.3
IDE: VSCODE + PLATFORMIO
继电器:SONGLE SRD-05VDC-SL-C
在VS Code新建工程,工程命名为:electric_relay
主板选择对应主板,这里由于没有找到正点原子对应的主板,我自已导入了一个。
目标:通过对继电器进行间隔2秒的高低电平切换,控置电机的转停。
步骤:
- 继电器NO口接电源电池正极
- 电池负极接电机一端
- 电机另一端接继电器COM口
- 继电器DC+口接开发板5V vcc
- 继电器DC-口接开发板GND
- 继电器IN口接开发板GPIO37引脚
继电器如图:
这里有两个值得注意的点:
1. 最开始使用的是TONGLING的继电器模块,但是继电器一通电就吸合一次,然后始终无法按代码的预期切换,搞得很懵,后来又花了3块钱淘了这个松乐的继电器,继续做实验才成功;
2. 使用这个松乐的继电器,开始做实验时也没有按照代码预期实现2秒切换,后来跳线帽跳到高电平触发后,实现现象才正常,搞得也有点懵。
创建项目:
main.cpp 代码:
#include <Arduino.h>
const int relayPin = 37;
void setup() {
Serial.begin(115200);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH);
}
void loop() {
digitalWrite(relayPin, LOW);
Serial.println("relay on");
delay(2000);
digitalWrite(relayPin, HIGH);
Serial.println("relay off");
delay(2000);
}
编译代码:
下载:
实现现象:
每隔两秒能听到继电器吸合、松开的声音,电机每隔2秒实现转停。