单片机学习小组
直播中

吴湛

9年用户 830经验值
擅长:电源/新能源
私信 关注

怎样通过wiringpi库的封装以及指令控制继电器呢

怎样去安装wiringPi库呢?
怎样通过wiringpi库的封装以及指令控制继电器呢?

回帖(1)

陈博朴

2022-3-1 09:15:30
本文使用c语言为核心代码 通过wiringpi库的封装,以及指令控制继电器
硬件:树莓派4b 继电器
1.wiringPi的安装
树莓派4b自带的是wiringpi库的版本很低 无法使用 因此先要卸载掉之前的wiringpi

sudo apt search wiringpi

方法一

这个是官方 大家可以去官网下载(正当的上网方式!!)

方法二

sudo apt-get update
sudo apt-get upgrade
sudo wget
sudo dpkg -i wiringpi-latest.deb
gpio readall

输出这种内容 就表示wiringpi库安装成功 可以进行接下来的步骤!

2 WiringPi的使用函数API
在使用wiringPi库之前,你需要包含头文件:

#include

如果有需要到串口通信的话 需要包含头文件

#include

3 控制端核心代码

#include
#include
#include
#include //包含的头文件
# define swich1 26
# define swich2 27
# define swich3 28
# define swich4 29  //定义继电器引脚
int firsttext()
{

    if(wiringPiSetup()==-1){
        return -1;}

}//初始化函数
void pinModetext()
{
  pinMode(swich1,OUTPUT);
  pinMode(swich2,OUTPUT);
  pinMode(swich3,OUTPUT);
  pinMode(swich4,OUTPUT);
  digitalWrite(swich1,HIGH);
  digitalWrite(swich2,HIGH);
  digitalWrite(swich3,HIGH);
  digitalWrite(swich4,HIGH);

}             //定义引脚
int main()
{        char pipe[128]={''};
         firsttext();
             pinModetext();         
         while(1){
              printf("一共是4个接口 例如1 on是打开  1 off 是关闭n");
              printf("尽情玩耍吧,体验树莓派的快乐n");
          memset(pipe,"",sizeof(pipe));
              gets(pipe);
              if(strcmp(pipe,"1 on")==0){
                       digitalWrite(swich1,LOW);
               }else if(strcmp(pipe,"1 off")==0){
                      digitalWrite(swich1,HIGH);
               }
              if(strcmp(pipe,"2 on")==0){
                      digitalWrite(swich2,LOW);
              }else if(strcmp(pipe,"2 off")==0){
                      digitalWrite(swich2,HIGH);
              }
              if(strcmp(pipe,"3 on")==0){
                      digitalWrite(swich3,LOW);
              }else if(strcmp(pipe,"3 off")==0){
                      digitalWrite(swich3,HIGH);
              }
              if(strcmp(pipe,"4 on")==0){
                      digitalWrite(swich4,LOW);
              }else if(strcmp(pipe,"4 off")==0){
                      digitalWrite(swich4,HIGH);
              }           //通过给的指令去开启继电器
                        
                                 




         }




}                     

当大家愉快的敲完代码之后 需要使用wiringpi库进行封装代码

gcc demo.c -o demo -lwiringPi

有提醒没事 但是如果有error的话 就根据提醒去查询 然后更正错误
一切都可以之后

./demo
权限不够的话 就加sudo 即 sudo ./demo

4 最后效果
达到通过指令来控制继电器

5连接电器
之前连接的图大家可以在继电器后面接上电源和用电器
使用继电器的话 尽量使用小一点的电池模块
不要接220v 安全第一
举报

更多回帖

发帖
×
20
完善资料,
赚取积分