繼電器模塊引腳說明
VCC(+): 供電正極。連接此引腳到電源(通常是直流電源),以提供繼電器線圈所需的電流。
GND(-): 地。連接此引腳到電源的負極或地。
IN(或者類似標記): 控制輸入。通常用于連接控制信號,當該信號變化時,繼電器將切換狀態。
NC(Normally Closed): 常閉接口,繼電器吸合前與COM連接,吸合后懸空
COM(Common): 公共端,通常是中間的觸點,與常開或常閉觸點相連。
?NO(Normally Open): 常開接口,繼電器吸合前懸空,吸合后與COM連接
開路即通路、斷路,閉合指的是開關閉合,也就是說,在沒有任何上電之類的動作時,NC和COM端相當于已經連通
個人見解:
繼電器有指示燈一側接STM32,VCC和GND不用多說,分別是電源和地線的連接,IN接口則接STM32中的一個引腳,用來控制繼電器的接通與否,若IN口為0(低電平)時繼電器綠燈亮起(接通),若IN口為1(高電平)時繼電器綠燈熄滅(斷開)。當繼電器接通時左側便可以控制傳感器等大電流器件工作。
實驗:(控制繼電器開關,間隔一秒)
relay.c
#include "relay.h"
#include "stm32f10x.h"void Relay_Init(void)
{GPIO_InitTypeDef Relay_initstruct;//結構體定義RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);//時鐘初始化Relay_initstruct.GPIO_Pin = GPIO_Pin_0;Relay_initstruct.GPIO_Speed = GPIO_Speed_10MHz;Relay_initstruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &Relay_initstruct );初始化結構體}
relay.h
#ifndef RELAY_H_
#define RELAY_H_void Relay_Init(void);//聲明#endif
main
#include "stm32f10x.h"
#include "main.h"#include "relay.h"void delay(uint16_t time) //延時函數
{uint16_t i=0;while(time--){i =12000;while(i--);}
}int main()
{Relay_Init(); //函數聲明GPIO_SetBits(GPIOA,GPIO_Pin_0);初始化繼電器為斷開狀態while(1){GPIO_ResetBits(GPIOA,GPIO_Pin_0); //閉合delay(1000);GPIO_SetBits(GPIOA,GPIO_Pin_0); //斷開delay(1000);}
}