树莓派C编程实现继电器控制
目录
树莓派的引脚信息
继电器的基本知识
继电器引脚信息
继电器电路图连接
继电器工作原理
C编程控制实现
运行程序
运行结果说明:
-
树莓派的引脚信息
-
继电器的基本知识
-
继电器引脚信息
nc:常闭端
no:常开端
com:公共端
s/in:输入控制信号端
vcc:连接树莓派的VCC
gnd:连接树莓派的GND
继电器封装图片:

-
继电器电路图连接
-
VCC、GND、S/IN与树莓派上对应的VCC、GND、以及自己想要编程控制的引脚相接;
-
先把所需要控制的器件一路线路分为两段,一段与继电器的com相接,另一段与继电器的no相接,类似于把继电器当一个开关接入。

-
继电器工作原理
在连接好电路之后,如果控制树莓派自己指定的引脚输出低电平时,此时线圈没有电流通过,衔铁与常闭端形成通路,如果小灯泡的一路线与no相接,此时灯泡不亮;如果控制树莓派自己指定的引脚输出高电平时,即树莓派发送信号,此时线圈有电流通过,通过电生磁,衔铁就会与常开的一端形成通路,即灯泡亮。
具体工作原理详见此链接:继电器工作原理
-
C编程控制实现
- 头文件:
#ifndef _RELAY_H_ #define _RELAY_H_ #include#include #include #include #include #include #include #include #define time_out 5 //dealy time #define RELAY 28 //使用的树莓派管脚 enum {OFF = 0, //低电平,灯灭ON //高电平,灯亮 };extern int realy(int cmd); #endif /* ----- #ifndef _RELAY_H_ ----- */ - 源文件
#include "relay.h" static inline void relay_init() {wiringPiSetup(); //初始化wiringPiSetuppinMode(RELAY, OUTPUT); //将管脚定义为输出管脚 }int main() {while(1){realy(ON);sleep(3);realy(OFF);sleep(1);} }int realy(int cmd) {relay_init();if (cmd == ON){digitalWrite(RELAY,ON);//高电平,灯亮 }else if(cmd == OFF)digitalWrite(RELAY,OFF); //高电平,灯亮return 0; }
-
运行程序
gcc relay.c -o relay -lwiringPi //指定使用lwiringPi库,引脚编码就会与wiring引脚编码一致./relay
-
运行结果说明:
当线路连接正确之后,运行代码,被控制的灯泡就会亮三秒后熄灭;如此反复。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
