目录
- 一、wiringPi库
- 二、继电器
- 1、继电器介绍及接线说明
- 2、树莓派控制继电器
一、wiringPi库
wiringPi是一个很棒的树莓派IO控制库,使用C语言开发,提供了丰富的接口:GPIO控制,中断,多线程等。
在树莓派命令行输入gpio -v 可以查看是否安装wiringPi 库,会显示库的相关信息,有版本号就是安装好了。

在编译时需要链接上wiringPi库:
gcc demo.c -lwiringPi
查看树莓派的引脚标号,输入命令即可查看:
gpio readall
树莓派3b的引脚图:

二、继电器
1、继电器介绍及接线说明
继电器主要用于控制电路。
继电器是一种电控制器件,是当输入量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。继电器具有控制系统和被控制系统,通常应用于自动化的控制电路中,在电路中起着自动调节、安全保护、转换电路等作用。
简单来说,继电器就相当于一个开关,接在任意线上,断开状态下线就断开了,没导通,闭合状态下线就接在了一起,导通了。

产品介绍
1、常开接口限大负载:交流250V/10A,直流30V/10A
2、采用贴片光耦隔离,驱动能力强,性能稳定;触发电流5mA
3、模块工作电压有5v、12v、24v可供选择(请注意连接是否为所需电压)
4、模块可以通过跳线设置高电平或低电平触发
5、电源指示灯(绿色),继电器状态指示灯(红色)
继电器接线图

接口说明
1、继电器输入部分:
a、VCC:接电源正极(电压按继电器要求,有5V、9V、12v和24v选择)
b、GND:接电源负极
c、IN:可以高或低电平控制继电器吸合
2、继电器输出端:
a、NO:继电器常开接口,继电器吸合前悬空,吸合后与COM短接
b、COM:继电器公用接口
c、NC:继电器常闭接口,继电器吸合前与COM短接,吸合后悬空
高低电平触发选择端(有些继电器模块没有):
1、跳线与LOW短接时为低电平触发
2、跳线与HIGH短接时为高电平触发
2、树莓派控制继电器
注意:
单路继电器电源只能接3.3v,接5v不能正常工作,四路继电器可接3.3v和5v。
单路继电器:
代码:
#include<wiringPi.h>
#include<stdio.h>
#define SWITCHER 0int main()
{int cmd;if(wiringPiSetup() == -1){printf("硬件接口初始化失败\n");return -1;}pinMode(SWITCHER,OUTPUT);digitalWrite(0,HIGH);while(1){printf("请输入0/1:0-断开开关,1-导通开关\n");scanf("%d",&cmd);if(cmd == 1){digitalWrite(SWITCHER,LOW);printf("开\n");}else if(cmd == 0){digitalWrite(SWITCHER,HIGH);printf("关\n");}else{printf("输入错误,请重行输入\n");}}
}
结果:


四路继电器:
代码:
#include<wiringPi.h>
#include<stdio.h>
#include<string.h>
#define SWITCHER1 21
#define SWITCHER2 22
#define SWITCHER3 23
#define SWITCHER4 24int main()
{char cmd[12] = {'\0'};if(wiringPiSetup() == -1){printf("硬件接口初始化失败\n");return -1;}pinMode(SWITCHER1,OUTPUT);pinMode(SWITCHER2,OUTPUT);pinMode(SWITCHER3,OUTPUT);pinMode(SWITCHER4,OUTPUT);digitalWrite(SWITCHER1,HIGH);digitalWrite(SWITCHER2,HIGH);digitalWrite(SWITCHER3,HIGH);digitalWrite(SWITCHER4,HIGH);while(1){printf("请输入1on(off)/2on(off)/3on(off)/4on(off):\n[off-断开开关,on-导通开关]\n");memset(cmd,'\0',sizeof(cmd));scanf("%s",cmd);if(!strcmp(cmd,"1on")){digitalWrite(SWITCHER1,LOW);printf("1开\n");}else if(!strcmp(cmd,"1off")){digitalWrite(SWITCHER1,HIGH);printf("1关\n");}else if(!strcmp(cmd,"2on")){digitalWrite(SWITCHER2,LOW);printf("2开\n");}else if(!strcmp(cmd,"2off")){digitalWrite(SWITCHER2,HIGH);printf("2关\n");}else if(!strcmp(cmd,"3on")){digitalWrite(SWITCHER3,LOW);printf("3开\n");}else if(!strcmp(cmd,"3off")){digitalWrite(SWITCHER3,HIGH);printf("3关\n");}else if(!strcmp(cmd,"4on")){digitalWrite(SWITCHER4,LOW);printf("4开\n");}else if(!strcmp(cmd,"4off")){digitalWrite(SWITCHER4,HIGH);printf("4关\n");}else{printf("输入错误,请重新输入\n");}}
}
结果:


参考:
继电器介绍及接线说明
最后谢谢阅读,笔者乃小白,如有错误之处还请指正。


















