精华内容
下载资源
问答
  • 树莓派控制继电器

    2021-02-09 15:43:05
    树莓派控制继电器 一、继电器和树莓派接线 (1)在树莓派的开发环境中,敲入指令: gpio- readall,所列出的表,对应的时树莓派的IO口(接线时把USB口朝自己)。 (2) 树莓派的3.3v和继电器的VCC连接起来(正极) ...

    树莓派控制继电器

    一、继电器和树莓派接线
    (1)在树莓派的开发环境中,敲入指令: gpio- readall,所列出的表,对应的时树莓派的IO口(接线时把USB口朝自己)。
    (2)
    树莓派的3.3v和继电器的VCC连接起来(正极)
    树莓派的0v和继电器的IN连接起来(负极)
    树莓派的GPIO7和继电器的GND连接起来

    二、实现键盘输入0导通输入1断开

    #include <wiringPi.h>
    #include <stdio.h>
    
    int  main()
    {
           int  cmd;//输入指令
    
           if(wiringPiSetup()==-1)//设备初始化
           {
                 printf("硬件接口初始化失败\n");
                 return -1;
           }
    
           pinMode(7,OUTPUT);//设置第七个引脚为输出引脚
           digitalWrite(7,HIGH);//设置第七个引脚为断开状态
    
           while(1)
      {
           printf("请输入0/1:0——断开开关,1——导通开关\n");
           scanf("%d",&cmd);
           getchar();//吸收回车符
    
           if(cmd==1)
          {
               digitalWrite(7,LOW);  //低电平导通开通
          }
    
           else  if(cmd==0)
          {
               digitalWrite(7,HIGH);  //高电平导通断开
          }
               cmd=10;
      }
    }
    

    运行结果:
    在这里插入图片描述
    ——@上官可编程

    展开全文
  • 树莓派——树莓派控制继电器组 一、接线 树莓派的5v——继电器的VCC 树莓派的0v——继电器的GND 其他的四根线为信号线 继电器IN1——IN4分别接到树莓派的GPIO26, GPIO27,GPIO28,GPIO29。 二、代码 #include <...

    树莓派——树莓派控制继电器组

    一、接线
    树莓派的5v——继电器的VCC
    树莓派的0v——继电器的GND

    其他的四根线为信号线
    继电器IN1——IN4分别接到树莓派的GPIO26,
    GPIO27,GPIO28,GPIO29。

    二、代码

    #include <wiringPi.h>
    #include <stdio.h>
    #include <string.h>
    /*定义四个针脚*/
    
    #define  SWI1 26
    #define  SWI2 27
    #define  SWI3 28
    #define  SWI4 29
    
    int  main()
    {
           char cmd[12]={'\0'};
           //把命令设置为字符串,初始化为空字符。
    
           if(wiringPiSetup()==-1)//设备初始化
           {
                 printf("硬件接口初始化失败\n");
                 return -1;
           }
    
           /*设置SWI1——SWI4为输出引脚*/
           pinMode(SWI1,OUTPUT);
           pinMode(SWI2,OUTPUT);
           pinMode(SWI3,OUTPUT);
           pinMode(SWI4,OUTPUT);
    
           //设置SWI1——SWI4引脚上电之前为断开状态
           digitalWrite(SWI1,HIGH);
           digitalWrite(SWI2,HIGH);
           digitalWrite(SWI3,HIGH);
           digitalWrite(SWI4,HIGH);
    
           while(1)
      {
           printf("请输入1/2/3/4on off:off——断开开关,on——导通开关\n");
           memset(cmd,'\0',sizeof(cmd));//初始化
           //scanf("%s",&cmd);
           gets(cmd);
    
           if(strcmp(cmd,"1 on")==0)
          {
                digitalWrite(SWI1,LOW);  
                //低电平导通开通
          }
    
           else  if(strcmp(cmd,"1 off")==0)
          {
                digitalWrite(SWI1,HIGH);  
                //高电平导通断开
          }
    
           if(strcmp(cmd,"2 on")==0)
          {
                digitalWrite(SWI2,LOW);  
                //低电平导通开通
          }
    
           else  if(strcmp(cmd,"2 off")==0)
          {
               digitalWrite(SWI2,HIGH);  
               //高电平导通断开
          }
        
         
           if(strcmp(cmd,"3 on")==0)
          {
              digitalWrite(SWI3,LOW);  
              //低电平导通开通
          }
    
           else  if(strcmp(cmd,"3 off")==0)
          {
              digitalWrite(SWI3,HIGH); 
               //高电平导通断开
          }
    
           if(strcmp(cmd,"4 on")==0)
          {
             digitalWrite(SWI4,LOW);  
             //低电平导通开通
          }
    
           else  if(strcmp(cmd,"4 off")==0)
          {
             digitalWrite(SWI4,HIGH);  
             //高电平导通断开
          }
    
           else
           {
               printf("请输入正确指令\n");
           }
    
      }
    }
    

    运行时要链接库:gcc demo1.c -lwiringPi
    执行代码:./a.out

    继电器的灯亮起:
    每一个都要执行开关操作
    q
    继电器亮
    在这里插入图片描述
    继电器灭
    在这里插入图片描述
    一键关闭和开启

    #include <wiringPi.h>
    #include <stdio.h>
    #include <string.h>
    /*定义四个针脚*/
    
    #define  SWI1 26
    #define  SWI2 27
    #define  SWI3 28
    #define  SWI4 29
    
    int  main()
    {
           char cmd[12]={'\0'};
           //把命令设置为字符串,初始化为空字符。
    
           if(wiringPiSetup()==-1)//设备初始化
           {
                 printf("硬件接口初始化失败\n");
                 return -1;
           }
    
           /*设置SWI1——SWI4为输出引脚*/
           pinMode(SWI1,OUTPUT);
           pinMode(SWI2,OUTPUT);
           pinMode(SWI3,OUTPUT);
           pinMode(SWI4,OUTPUT);
    
           //设置SWI1——SWI4引脚上电之前为断开状态
           digitalWrite(SWI1,HIGH);
           digitalWrite(SWI2,HIGH);
           digitalWrite(SWI3,HIGH);
           digitalWrite(SWI4,HIGH);
    
           while(1)
      {
      printf("请输入1/2/3/4/all on/off:off——断开开关,on——导通开关\n");
           memset(cmd,'\0',sizeof(cmd));//初始化
           //scanf("%s",&cmd);
           gets(cmd);
    
           if(strcmp(cmd,"1 on")==0)
          {
               digitalWrite(SWI1,LOW);  
               //低电平导通开通
          }
    
           else  if(strcmp(cmd,"1 off")==0)
          {
               digitalWrite(SWI1,HIGH); 
                //高电平导通断开
          }
    
           if(strcmp(cmd,"2 on")==0)
          {
               digitalWrite(SWI2,LOW);  
               //低电平导通开通
          }
    
           else  if(strcmp(cmd,"2 off")==0)
          {
               digitalWrite(SWI2,HIGH); 
                //高电平导通断开
          }
    
          if(strcmp(cmd,"3 on")==0)
          {
               digitalWrite(SWI3,LOW);  
               //低电平导通开通
          }
    
           else  if(strcmp(cmd,"3 off")==0)
          {
               digitalWrite(SWI3,HIGH); 
                //高电平导通断开
          }
    
           if(strcmp(cmd,"4 on")==0)
          {
               digitalWrite(SWI4,LOW);  
               //低电平导通开通
          }
    
           else  if(strcmp(cmd,"4 off")==0)
          {
               digitalWrite(SWI4,HIGH); 
                //高电平导通断开
          }
    
    
           if(strcmp(cmd,"all on")==0)
          {
                //低电平导通开通
               digitalWrite(SWI1,LOW);  
               digitalWrite(SWI2,LOW);
               digitalWrite(SWI3,LOW);
               digitalWrite(SWI4,LOW);
          }
    
          else  if(strcmp(cmd,"all off")==0)
           {
                 //高电平导通断开
                digitalWrite(SWI1,HIGH); 
                digitalWrite(SWI2,HIGH);
                digitalWrite(SWI3,HIGH);
                digitalWrite(SWI4,HIGH);
           }
    
           else
                {
                       printf("请输入正确指令\n");
                }
    
      }
    }
    

    运行效果:
    一键全开:
    在这里插入图片描述
    在这里插入图片描述

    一键全关
    在这里插入图片描述
    在这里插入图片描述

    ——@上官可编程

    展开全文
  • 树莓派8:树莓派控制继电器

    千次阅读 2020-09-18 22:15:29
    树莓派控制继电器 1.继电器:(可编程电子开关) 一、继电器的定义 继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。...

    树莓派控制继电器

    1.继电器:(可编程电子开关)

    低电平有效

    一、继电器的定义

    继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。

    二、继电器的作用(小电流控制大电流)

    通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

    三、继电器模块实物图

    在这里插入图片描述
    四、模块说明:

    1、模块采用正品继电器,常开接口大负载:交流250V/10A,直流30V/10A;
    2、采用贴片光耦隔离,驱动能力强,性能稳定;触发电流5mA;
    3、模块工作电压有5V、9、12V、24V可供选择;
    4、模块可以通过跳线设置高电平或低电平触发;
    5、容错设计,即使控制线断,继电器也不会动作;
    6、电源指示灯(绿色),继电器状态指示灯(红色)
    7、接口设计人性化,所有接口均可通过接线端子直接连线引出,非常方便
    8、模块:50mm * 26mm* 18.5mm(长高)
    9、设有4个固定螺栓孔,孔3.1mm,间距44.5mm*20.5mm
    五、 模块接口:
    1、DC+:接电源正极(电压按继电器要求,有5V.9V.12V和24V选择)
    2、DC-:接电源负极
    3、IN:可以高或低电平控制继电器吸合
    继电器输出端:
    1、NO: 继电器常开接口,继电器吸合前悬空,吸合后与COM短接
    2、COM:继电器公用接口
    3、NC: == 继电器常闭接口==,继电器吸合前与COM短接,吸合后悬空
    高低电平触发选择端:
    1.跳线与LOW短接时为低电平触发;
    2.跳线与high短接时为高电平触发;

    2.树莓派:

    一,在终端输入:

    gpio readall

    显示出树莓派的引脚信息:
    在这里插入图片描述

    把指定引脚与继电器进行相连。

    程序;

    写一个程序实现,键盘输入1:导通;输入0:断开。

    #include <stdio.h>
    #include <wiringPi.h>
    #define SWIT 7
    int main()
    {
     int cmd;
     if(wiringPiSetup()==-1)
     {
      printf("硬件接口初始化失败\n");
      return -1;
      } 
      pinMode(SWIT,OUTPUT);
      digitalWrite(SWIT,HIGH);
      while(1)
      {
       printf("请输入0/1:0--断开开关;1--导通开关\n");
       scanf("%d",&cmd);
       getchar();
       if(cmd==1)
       {
        digitalWrite(SWIT,LOW);//继电器低电平有效 
       }else if(cmd==0)
       {
        digitalWrite(SWIT,HIGH);//灭 
        } else
        {
         printf("输入错误\n");
        }
      }
      return 0;
    } 

    编译运行1:

    gcc demo1.c -lwiringPi
    ./a.out
    
    1----0----

    二:控制4个继电器开关亮灭:

    在这里插入图片描述

    在这里插入图片描述
    把指定引脚与继电器进行相连。

    程序:

    #include <stdio.h>
    #include <wiringPi.h>
    #include <string.h>
    #define SWI1 26
    #define SWI2 27
    #define SWI3 28
    #define SWI4 29
    int main()
    {
     char cmd[12]={'\0'};
     if(wiringPiSetup()==-1)
     {
      printf("硬件接口初始化失败\n");
      return -1;
      } 
      pinMode(SWI1,OUTPUT);
      pinMode(SWI2,OUTPUT);
      pinMode(SWI3,OUTPUT);
      pinMode(SWI4,OUTPUT);
      digitalWrite(SWI1,HIGH);
      digitalWrite(SWI2,HIGH);
      digitalWrite(SWI3,HIGH);
      digitalWrite(SWI4,HIGH);
      while(1)
      {
       printf("请输入1/2/3/4:off--断开开关;on--导通开关\n");
       memset(cmd,'\0'sizeof(cmd));
       //scanf("%s",&cmd);
       //getchar();
       gets(cmd);
       if(strcmp(cmd,"1 on")==0)//
       {
        digitalWrite(SWI1,LOW);//继电器低电平有效 
       }else if(strcmp(cmd,"1 off")==0)
       {
        digitalWrite(SWI1,HIGH);//灭 
        } 
        if(strcmp(cmd,"2 on")==0)//
       {
        digitalWrite(SWI2,LOW);//继电器低电平有效 
       }else if(strcmp(cmd,"2 off")==0)
       {
        digitalWrite(SWI2,HIGH);//灭 
        }
        if(strcmp(cmd,"3 on")==0)//
       {
        digitalWrite(SWI3,LOW);//继电器低电平有效 
       }else if(strcmp(cmd,"3 off")==0)
       {
        digitalWrite(SWI3,HIGH);//灭 
        }
        if(strcmp(cmd,"4 on")==0)//
       {
        digitalWrite(SWI4,LOW);//继电器低电平有效 
       }else if(strcmp(cmd,"4 off")==0)
       {
        digitalWrite(SWI4,HIGH);//灭 
        }
        if(strcmp(cmd,"all on")==0)//
       {
        digitalWrite(SWI1,LOW);//继电器低电平有效 
        digitalWrite(SWI2,LOW);
        digitalWrite(SWI3,LOW);
        digitalWrite(SWI4,LOW);
       }else if(strcmp(cmd,"all off")==0)
       {
        digitalWrite(SWI1,HIGH);//灭 
        digitalWrite(SWI2,HIGH);
        digitalWrite(SWI3,HIGH);
        digitalWrite(SWI4,HIGH);
        }
        else
        {
         printf("输入错误请重新输入\n");
        }
      }
      return 0;
    } 

    编译运行:

    gcc demo1.c -lwiringPi
    ./a.out
    1 on
    2 on
    3 on
    4 on
    all on
    亮
    -------------------------
    1 off
    2 off
    3 off
    4 off
    all off
    灭
    

    参考:
    树莓派wiringPi库详解

    展开全文
  • 继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)...

    1.什么是继电器呢?

    继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。说白了就是一种可编程的开关。

    在这里插入图片描述
    我们再来看看树莓派的引脚分布,我们把GPIO.3设置位输入输出引脚。

    提示:继电器给低电平为导通,给高电平就为关闭。

    在这里插入图片描述

    我们来看一下代码:

    #include<wiringPi.h>
    #include<stdio.h>
    #include<stdlib.h>
    #define SWITCH 3
    int main()
    {
    	int cmd;
    	int a=wiringPiSetup();
    	if(a==-1)
    	{
    		printf("引脚配置错误!\n");
    		return -1;
    
    	}
    	digitalWrite (3,HIGH);//一开始工作上的时候默认继电器关
    	while(1)
    	{
    		pinMode (3,OUTPUT);
    
    		printf("请输入0/1,0表示继电器关4,1表示继电器开\n");
    		scanf("%d",&cmd);
    		if(cmd==0)
    		{
    			digitalWrite (3,HIGH);
    
    
    		}
    		else if(cmd==1)
    		{
    			digitalWrite (3,LOW);
    
    
    
    		}
    		else
    		{
    
    			printf("请重新输入!\n");
    		}
    	}
    
    }
    
    

    导通的时候
    在这里插入图片描述
    关断的时候
    在这里插入图片描述
    在这里插入图片描述
    如果再把电磁小锁运用起来的话就更加明显了。
    接线的原理图大致这样子的(字太丑了,哈哈)。
    当继电器通电的时候,【常开】和【公共端】导通。
    在这里插入图片描述
    实物:
    在这里插入图片描述
    最后能成功控制锁打开和关闭!

    展开全文
  • 树莓派 面包板 继电器 led 1.首先在qt .pro文件中加入 LIBS += -lwiringPi LIBS += -lwiringPiDev LIBS += -lcrypt 2. .cpp文件 #include "mainwindow.h" #include "ui_mainwindow.h" #include<stdio.h&...
  • 今天来玩一下简单的树莓派外设开发,通过wiringPi库来控制继电器进而控制灯的点亮与关闭。 树莓派电灯 wiringPI库的相关介绍可以看此博客: https://www.cnblogs.com/lulipro/p/5992172.html 代码如下: #...
  • 二、然后使用Linux命令或者编程控制GPIO口高低电位即可,如:执行下列命令:  gpio readall 列出所有针角  gpio mode 1 out 设置[以writePi编号为1]的GPIO(即GPIO1口) 口为输出模式  gpio mode -g 18 out ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 201
精华内容 80
关键字:

树莓派控制继电器