树莓派开发——继电器

1.继电器接口

继电器驱动电压为 3.3v
在这里插入图片描述

2.接线

继电器正极接到树莓派 3.3v,继电器负极接到树莓派 0v,继电器 GPIO 口接到树莓派 GPIO 口
接好后继电器灯亮起(绿灯灭断开,绿灯亮为闭合)
在这里插入图片描述

3.代码实现

#include <stdio.h>
#include <wiringPi.h>

#define GPIO7  7

int main()
{
        int cmd;
        if(wiringPiSetup() == -1){   // 硬件初始化
                printf("硬件初始化失败!\n");
                return -1;
        }
        pinMode(GPIO7, OUTPUT);   // 配置引脚的 IO 模式,此处我们连接了树莓派 GPIO.7,配置 7 号引脚为输出模式

        while(1){
        
                printf("请输入0或1,0--断开,1--闭合:\n");
                scanf("%d",&cmd);

                if(cmd == 0){
                        digitalWrite(GPIO7, HIGH);   // 引脚 GPIO.7 输出高电平
                        printf("开关断开!\n");
                }else if(cmd == 1){
                        digitalWrite(GPIO7, LOW);   // 引脚 GPIO.7 输出低电平
                        printf("开关闭合!\n");
                }else{
                        printf("输入错误,");
                }
        }

        return 0;
}

4.多继电器:

使用 5v 驱动电压:

在这里插入图片描述
亮灯时为闭合状态,不亮时为断开状态
在这里插入图片描述

#include <stdio.h>
#include <wiringPi.h>

#define GPIO1  1
#define GPIO2  2
#define GPIO3  3
#define GPIO4  4

int main()
{
	int no,cmd;
	if(wiringPiSetup() == -1){   // 硬件初始化
		printf("硬件初始化失败!\n");
		return -1;
	}
	pinMode(GPIO1, OUTPUT);   // 配置引脚的 IO 模式,配置 1 号引脚为输出模式
	pinMode(GPIO2, OUTPUT);   // 配置引脚的 IO 模式,配置 2 号引脚为输出模式
	pinMode(GPIO3, OUTPUT);   // 配置引脚的 IO 模式,配置 3 号引脚为输出模式
	pinMode(GPIO4, OUTPUT);   // 配置引脚的 IO 模式,配置 4 号引脚为输出模式

	while1{
		while(1){
			printf("请输入需要控制的继电器的序号(1~4):\n");
			scanf("%d",&no);
			if(no==1 || no==2 || no==3 || no==4){
				printf("%d号继电器——请输入0或1,0--断开,1--闭合:\n",no);
				scanf("%d",&cmd);
				if(cmd==0 || cmd==1){
					break;
				}else{
					printf("输入错误!\n");
				}
			}else{
				printf("输入错误!\n");
			}
			
		}
		switch(no){

			case 1:
				if(cmd == 0){
					digitalWrite(GPIO1, HIGH);   // 引脚 GPIO.1 输出高电平
					printf("%d号继电器——开关断开!\n",no);
				}else if(cmd == 1){
					digitalWrite(GPIO1, LOW);   // 引脚 GPIO.1 输出低电平
					printf("%d号继电器——开关闭合!\n",no);
				}
				break;
				
			case 2:
				if(cmd == 0){
					digitalWrite(GPIO2, HIGH);   // 引脚 GPIO.2 输出高电平
					printf("%d号继电器——开关断开!\n",no);
				}else if(cmd == 1){
					digitalWrite(GPIO2, LOW);   // 引脚 GPIO.2 输出低电平
					printf("%d号继电器——开关闭合!\n",no);
				}
				break;
				
			case 3:
				if(cmd == 0){
					digitalWrite(GPIO3, HIGH);   // 引脚 GPIO.3 输出高电平
					printf("%d号继电器——开关断开!\n",no);
				}else if(cmd == 1){
					digitalWrite(GPIO3, LOW);   // 引脚 GPIO.3 输出低电平
					printf("%d号继电器——开关闭合!\n",no);
				}
				break;
				
			case 4:
				if(cmd == 0){
					digitalWrite(GPIO4, HIGH);   // 引脚 GPIO.4 输出高电平
					printf("%d号继电器——开关断开!\n",no);
				}else if(cmd == 1){
					digitalWrite(GPIO4, LOW);   // 引脚 GPIO.4 输出低电平
					printf("%d号继电器——开关闭合!\n",no);
				}
				break;
		}
    }
	return 0;
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值