esp开发与应用(继电器的使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
继电器本身是一个机械装置,人们常用它来控制大电压、大负载系统。实际上,它有点类似于mos管的意思。但事实上,继电器的作用还有很多,比如它可以用于卷帘门的开关、电机的启动、自动化上下电测试等等。因为控制端的电源,和被控制端的电源都是分开的,所以这也就是说,我们可以通过一个小得mcu模块,就可以控制更加复杂的的模块和装置。
1、继电器的接口
继电器一般来说有六个引脚,左边三个是dc+、dc-、in,右边三个是com和两个nc。
2、电线连接
继电器的连接也不是很复杂。这里因为用的测试模块是esp32,所以左边的话,一般就是dc+接5v,dc-接地,in就接一个esp的gpio口即可。右侧的话,其实就是负载端,因为测试条件的限制,我们选择com接3.3v,nc接一个led灯,led灯再接到gnd上。整个led灯就类似于一个负载。
3、gpio口的选择
这边的gpio可以随便选择,不失一般性,我们就选择gpio 13。
4、ai编写代码
和前面的几个case比较,继电器的编写是比较简单的。基本上和ai说一下,用esp32的gpio 13口生成一个led闪烁的sample代码,这个时候没啥问题的话,很快就可以得到对应的代码。拿到代码后,没啥问题就可以直接编译、烧入、测试了。
#include <stdio.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "driver/gpio.h" // Define GPIO13 as the LED pin #define BLINK_GPIO 13 void app_main(void) { // Configure GPIO13 as output mode gpio_config_t io_conf; io_conf.pin_bit_mask = (1ULL << BLINK_GPIO); io_conf.mode = GPIO_MODE_OUTPUT; io_conf.pull_up_en = GPIO_PULLUP_DISABLE; io_conf.pull_down_en = GPIO_PULLDOWN_DISABLE; io_conf.intr_type = GPIO_INTR_DISABLE; gpio_config(&io_conf); printf("GPIO13 Blink Program Started\n"); while (1) { // Turn LED on gpio_set_level(BLINK_GPIO, 1); printf("Switch ON\n"); vTaskDelay(1000 / portTICK_PERIOD_MS); // Turn LED off gpio_set_level(BLINK_GPIO, 0); printf("Switch OFF\n"); vTaskDelay(1000 / portTICK_PERIOD_MS); } }5、测试和验证
验证的时候,就会发现继电器有一个明显的特征。那就是吸合和松开的时候,都有声音。这是继电器自身很重要的一个特点。如果测试的时候发现,led灯没有闪烁,或者继电器也没有声音发出来,这个时候就要回去好好检查一下电路了。整体来说,继电器的实验本身,硬件电路是要比软件复杂一点点,稍不注意,就很容易弄错。
