树莓派C编程实现继电器控制

目录

 

树莓派的引脚信息

继电器的基本知识

继电器引脚信息

继电器电路图连接 

继电器工作原理

C编程控制实现 

运行程序

运行结果说明:


  • 树莓派的引脚信息

  • 继电器的基本知识

  • 继电器引脚信息

nc:常闭端

no:常开端

com:公共端

s/in:输入控制信号端

vcc:连接树莓派的VCC

gnd:连接树莓派的GND

继电器封装图片:

  • 继电器电路图连接 

  1. VCC、GND、S/IN与树莓派上对应的VCC、GND、以及自己想要编程控制的引脚相接;

  2. 先把所需要控制的器件一路线路分为两段,一段与继电器的com相接,另一段与继电器的no相接,类似于把继电器当一个开关接入。

  • 继电器工作原理

在连接好电路之后,如果控制树莓派自己指定的引脚输出低电平时,此时线圈没有电流通过,衔铁与常闭端形成通路,如果小灯泡的一路线与no相接,此时灯泡不亮;如果控制树莓派自己指定的引脚输出高电平时,即树莓派发送信号,此时线圈有电流通过,通过电生磁,衔铁就会与常开的一端形成通路,即灯泡亮。

具体工作原理详见此链接:继电器工作原理 

  • C编程控制实现 

  1. 头文件:
    #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_  ----- */
  2. 源文件
    #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
  • 运行结果说明:

当线路连接正确之后,运行代码,被控制的灯泡就会亮三秒后熄灭;如此反复。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部