资讯详情

【树莓派C语言开发】实验04:继电器模块

文章目录

  • 前言
  • 1.实验器材
  • 2.实验原理
  • 3.电路图和接线图
    • 3.1电路图
    • 3.2接线图
  • 4.代码示例
    • 4.部分函数解释
      • 4.1.1pinMode
      • 4.1.2digitalWrite
    • 4.2Geany操作代码的编译器
    • 4.3Linux-gcc编译器
  • 结语

前言

学习树莓派时,经常要找前辈留下的信息

但是我发现有些博客真的不敢恭维。

一贴,一贴,什么解释都没有,就发出去了。

这是写给谁的?恐怕几个月后我不知道这是什么意思。这种学习有什么意义?

有些人可能认为我想复制我的家庭作业,这是真的!嵌入式学习需要了解各部件的工作原理,我的信息远远不够……即使有源码,也需要自己去否则,这种学习仍然毫无意义

关注这个专栏,和我一起学习树莓派开发板

  • 还等什么??心动不如行动!??点我关注

  • 本专栏代码仓库:Raspberry-practice

1.实验器材

2.实验原理

2.1继电器模块

继电器模块是一种电气控制期间,当输入变化满足规定要求时,在电气输出电路中使控制量发生预定阶跃变化的电器。自动控制电路通常采用互动关系。开关,自动调节、安全保护、电路转换等。


通过接收外部源的电信号,继电器是一个电动开关

例如:按下电视机遥控器的开启按钮,它向电视节内部的“继电器”发出电信号,从而打开电视机的主电源开关。不过电视机内部还有另外的信号接收器,继电器本身不一定能接收红外信号(个人理解)


2.2继电器工作

image-20220406120535701

3.电路图和接线图

3.1电路图

继电器模块的电路图如下

模块实物图如下

引用另一个博客介绍每个接口的原始链接

3.2接线图

继电器主控型号源连接GPIO17.对应端口0(将使用后面的代码)

树莓派 T型转接板 继电器模块
GPIO 0 GPIO 17 IN
5V 5V DC
GND GND DC-
5V 5V COM
双色LED T型转接板 继电器
中间(R) * NC
GND GND *
S(G) * NO

由于双色LEDG接口模块(Green)接收继电器的常闭端口NC(即继电器未连接时默认连接的端口)

所以接线完成后,LED绿灯将亮在模块上

这里需要注意的是,在连接继电器时要使用定每条线位,否则连接不稳定


4.代码示例

这里给出C语言的代码

#include <wiringPi.h> #include <stdio.h>  #define makerobo_RelayPin 0 //设置继电器GPIO管脚,0对应G17  int main() { 
             ///初始化连接失败时,将消息打印到屏幕上   if(wiringPiSeup() == -1){ 
         
		printf("setup wiringPi failed !");
		return 1; 
	}	
	//将继电器管脚设置为输出模式
	pinMode(makerobo_RelayPin, OUTPUT);
	
	int k=2;
	while(k--)
	{ 
        
			digitalWrite(makerobo_RelayPin, HIGH); // 打开继电器
			delay(1000);                           // 延时1s 
			digitalWrite(makerobo_RelayPin, LOW);  // 关闭继电器 
			delay(1000);                           // 延时1s
	}
	return 0;
}

4.1部分函数解释

4.1.1pinMode

该函数的作用是设置针脚当前的模式

4.1.2digitalWrite

可以看到,这里提到了在使用该函数之前,需要用pinMode函数将针脚设置为OUTPUT模式

  • 0 代表low值
  • 非0都代表high

4.2Geany编译器运行代码

老样子,三板斧

在Geany里面用引用wiringPi库(后续的博客不再说明)

在Geany的build(生成)-->set build commands(设置生成命令)中输入以下指令
gcc -Wall -c "%f" -lwiringPi

最终运行的效果如下,当digitalWrite写入high时,继电器接通,红灯电路亮起

写入low时继电器关闭,恢复原本绿灯常亮状态

使用ctrl+c关闭程序运行面板,停止程序运行


4.3Linux-gcc编译器

在linux控制台里面,用cd打开你的文件夹后,输入如下编译指令

gcc -Wall 04relay.c -o TEST -lwiringPi

如果编译没有报错,那就是成功编译了,ls会发现多出了TEST可执行文件,使用./TEST执行它

执行结束后,会显示下一行的待定输入

为了避免linux-gcc中程序,请不要使用while(1)死循环!

使用结束后请先断开后,再断开其他跳线


结语

本实验只是简单演示了继电器的使用,再后续更复杂的实验中,我们可以使用它控制更复杂的模块

如果对你有帮助,还请点个👍,万分感谢!

标签: 里面的继电器4触点转换型继电器dc继电器电路控制双刀转换继电器面板led连接器dcc电源连接器r

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台